There is a reference in this Reg article
https://www.theregister.com/2024/10/15/intel_amd_x86_future/
to x86S spec, a proposal from Intel to pare-down the x86/x64
by removing or modifying legacy features.
[PDF] Envisioning a Simplified Intel Architecture https://www.intel.com/content/www/us/en/developer/articles/technical/ envisioning-future-simplified-architecture.html
Some examples are:
3 Architectural Changes
3.1 Removal of 32-Bit Ring 0
3.2 Removal of Ring 1 and Ring 2
3.3 Removal of 16-Bit and 32-Bit Protected Mode
3.4 Removal of 16-Bit Addressing and Address Size Overrides
3.5 CPUID
3.6 Restricted Subset of Segmentation
3.7 New Checks When Loading Segment Registers
3.7.1 Code and Data Segment Types
3.7.2 System Segment Types (S=0)
3.8 Removal of #SS and #NP Exceptions17
3.9 Fixed Mode Bits
3.9.1 Fixed CR0 Bits
3.9.2 Fixed CR4 Bits
3.9.3 Fixed EFER Bits
3.9.4 Removed RFLAGS
3.9.5 Removed Status Register Instruction
3.9.6 Removal of Ring 3 I/O Port Instructions
3.9.7 Removal of String I/O
On 10/17/2024 4:34 PM, EricP wrote:
Pros:
Technically makes sense for PCs as they are.
Cons:
Looses some of the major aspects of what makes x86 unique;
Doesn't really solve issues for x86-64's longer term survival.
Absent changing to a more sensible encoding scheme and limiting or
removing condition-codes, x86-64 still has this major boat anchor. But,
these can't be changed without breaking backwards compatibility (at
least, assuming hardware that continues running x86-64 as the native
hardware ISA).
Though, ironically, most "legacy x86" stuff could probably be served acceptably with emulators.
If it can't maintain a performance advantage (say, if ARM and RISC-V
catch up or exceed the performance possible on higher end x86 chips), it
is effectively done.
On 10/17/2024 4:34 PM, EricP wrote:
Say, if one could make the CPU itself have 35% more perf/W by jumping to
a different encoding scheme, this could easily offset if they needed to
pay a 20% cost by JIT compiling everything when running legacy
software...
Granted, this is predicated on the assumption that one could get such a
jump by jumping to a different encoding scheme.
The major selling point of x86 has been its backwards compatibility, but
this advantage may be weakening with the rise of the ability to emulate
stuff at near native performance. If Windows could jump ship and provide
an experience that "doesn't suck" (fast/reliable/transparent emulation
of existing software), the main advantages of the x86-64 legacy may go
away (and is already mostly moot in Linux since the distros typically recompile everything from source, with little real/significant ties to
the x86 legacy).
x86's long term survival depends on things out of AMD's and Intel's
hands. It depends on high volume access to devices people will buy
new every year or every other year. A PC is not such a thing, while
a cell phone seems to be.
On Mon, 21 Oct 2024 22:02:27 +0000, BGB wrote:
On 10/17/2024 4:34 PM, EricP wrote:x86's long term survival depends on things out of AMD's and Intel's
Pros:
Technically makes sense for PCs as they are.
Cons:
Looses some of the major aspects of what makes x86 unique;
Doesn't really solve issues for x86-64's longer term survival.
hands. It depends on high volume access to devices people will buy
new every year or every other year. A PC is not such a thing, while
a cell phone seems to be.
Absent changing to a more sensible encoding scheme and limiting or
removing condition-codes, x86-64 still has this major boat anchor. But,
these can't be changed without breaking backwards compatibility (at
least, assuming hardware that continues running x86-64 as the native
hardware ISA).
Condition codes were never "that hard" of a problem wither in
pipelining nor in operand routing.
Every try to emulate A24 ? Address bit 24--when we looked at it, it took
Though, ironically, most "legacy x86" stuff could probably be served
acceptably with emulators.
more gates to remove it and put a bit in CPUID so applications could "do
the right thing" than to simply leave the functionality there.
x86 performance advantage has ALWAYS been in the cubic amounts of cash
If it can't maintain a performance advantage (say, if ARM and RISC-V
catch up or exceed the performance possible on higher end x86 chips), it
is effectively done.
flow running through the FAB to pay the engineering team budgets.
On Mon, 21 Oct 2024 22:02:27 +0000, BGB wrote:
On 10/17/2024 4:34 PM, EricP wrote:
Say, if one could make the CPU itself have 35% more perf/W by jumping to
a different encoding scheme, this could easily offset if they needed to
pay a 20% cost by JIT compiling everything when running legacy
software...
This only works when the mative ISA has a direct path to emulating
the address modes of x86-64 which includes [Rbase+Rindex<<scale+DISP]
It is also a hopelessly frail path to self destruction:: Transmeta.
Granted, this is predicated on the assumption that one could get such a
jump by jumping to a different encoding scheme.
It is not the encoding scheme that is kaput, it is the semantics
such a scheme provides the programmer via ISA. --------------------------------
The major selling point of x86 has been its backwards compatibility, but
this advantage may be weakening with the rise of the ability to emulate
stuff at near native performance. If Windows could jump ship and provide
an experience that "doesn't suck" (fast/reliable/transparent emulation
of existing software), the main advantages of the x86-64 legacy may go
away (and is already mostly moot in Linux since the distros typically
recompile everything from source, with little real/significant ties to
the x86 legacy).
W11 has done enough to my day-to-day operations I am willing to
jump ship to Linux in order to avoid daily updates an the myriad
of technical issues that never seem to get solved in a way that
makes then "go away" forever. So, for me it is not that it will
be an x86 (or ARM, or ...) it is that it is not MS oriented.
According to MitchAlsup1 <mitchalsup@aol.com>:
x86's long term survival depends on things out of AMD's and Intel's
hands. It depends on high volume access to devices people will buy
new every year or every other year. A PC is not such a thing, while
a cell phone seems to be.
Intel's never going to catch up in the phone market but they're still significant in the server and cloud market.
Think about the way that current Intel chips have a native 64 bit architecture
but can still have a 32 bit user mode that can run existing 32 bit application
binaries. So how about if the next generation is native x86S, but can also run
existing 64 bit binaries, even if not as fast as native x86S. They get the usual
cloud operating systems ported to x86S while leaving a path for people to migrate
their existing applications gradually.
In this case, the Apple situation makes more sense. They have
jumped MacOS from x86 to ARM, without loosing all of their existing
software base, by running a userland emulator that "doesn't suck".
Granted, can't necessarily trust MS here, as much of the time MS
has done stuff like using emulation strategies that are awkward and
suck. Like, say, running Windows inside an emulator, in Windows,
and just sort of crudely gluing the desktops together between
programs in the native and VM Windows instance (without giving
programs in the VM transparent access to the host OS's filesystem,
...).
Think about the way that current Intel chips have a native 64 bit architecture >but can still have a 32 bit user mode that can run existing 32 bit application >binaries. So how about if the next generation is native x86S, but can also run >existing 64 bit binaries, even if not as fast as native x86S. They get the usual
cloud operating systems ported to x86S while leaving a path for people to migrate
their existing applications gradually.
John Levine <johnl@taugh.com> writes:
Think about the way that current Intel chips have a native 64 bit architecture
but can still have a 32 bit user mode that can run existing 32 bit application
binaries. So how about if the next generation is native x86S, but can also run
existing 64 bit binaries, even if not as fast as native x86S. They get the usual
cloud operating systems ported to x86S while leaving a path for people to migrate
their existing applications gradually.
Several things in this paragraph makes no sense.
In particular, x86S is a proposal for a reduced version of the stuff
that current Intel and AMD CPUs support: There is full 64-bit support,
and 32-bit user-level support. x86S eliminates a part of the
compatibility path from systems of yesteryear, but not that many
people use these parts nowadays anyway. It's unclear to me what
benefits these changes are supposed to buy (unlike the elimination of
A32/T32 from some ARM chips, which obviously eliminates the whole
A32/T32 decoding path). It seems to me that most of the complexity of >current CPUs would still be there.
x86S eliminates a part of the compatibility path from systems
of yesteryear, but not that many people use these parts nowadays
anyway. It's unclear to me what benefits these changes are
supposed to buy
John Levine <johnl@taugh.com> writes:
Think about the way that current Intel chips have a native 64 bit architecture
but can still have a 32 bit user mode that can run existing 32 bit application
binaries. So how about if the next generation is native x86S, but can also run
existing 64 bit binaries, even if not as fast as native x86S. They get the usual
cloud operating systems ported to x86S while leaving a path for people to migrate
their existing applications gradually.
Several things in this paragraph makes no sense.
In particular, x86S is a proposal for a reduced version of the stuff
that current Intel and AMD CPUs support: There is full 64-bit support,
and 32-bit user-level support. x86S eliminates a part of the
compatibility path from systems of yesteryear, but not that many
people use these parts nowadays anyway. It's unclear to me what
benefits these changes are supposed to buy (unlike the elimination of
A32/T32 from some ARM chips, which obviously eliminates the whole
A32/T32 decoding path). It seems to me that most of the complexity of current CPUs would still be there.
And I certainly prefer a CPU that has more capabilities to one that
has less capabilities. Sometimes I want to run old binaries.
So what would be my incentive as a user to buy an x86S CPU? Will they
sell them for less? I doubt it.
- anton
On 10/22/2024 10:26 AM, Anton Ertl wrote:
Several things in this paragraph makes no sense.
In particular, x86S is a proposal for a reduced version of the stuff
that current Intel and AMD CPUs support: There is full 64-bit support,
and 32-bit user-level support. x86S eliminates a part of the
compatibility path from systems of yesteryear, but not that many
people use these parts nowadays anyway. It's unclear to me what
benefits these changes are supposed to buy (unlike the elimination of
A32/T32 from some ARM chips, which obviously eliminates the whole
A32/T32 decoding path). It seems to me that most of the complexity of
current CPUs would still be there.
And I certainly prefer a CPU that has more capabilities to one that
has less capabilities. Sometimes I want to run old binaries.
So what would be my incentive as a user to buy an x86S CPU? Will they
sell them for less? I doubt it.
Yeah, basically my thoughts as well.
Business as usual...
Main effect it achieves is breaking legacy boot, doesn't seem like it
would either save all that much nor "solve" x86's longstanding issues.
*1: Probably, say (if I were designing the encoding):
{Rb+Disp10s] //32-bit encoding
{Rb+Ri*FixSc] //32-bit encoding
{Rb+Ri*Sc] //64-bit encoding
[Rb+Disp33s] //64-bit encoding
[Rb+Ri*Sc+Disp11s] //64-bit encoding
[Rb+Ri*Sc+Disp33s] //96-bit encoding
anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
John Levine <johnl@taugh.com> writes:
Think about the way that current Intel chips have a native 64 bit architecture
but can still have a 32 bit user mode that can run existing 32 bit application
binaries. So how about if the next generation is native x86S, but can also run
existing 64 bit binaries, even if not as fast as native x86S. They get the usual
cloud operating systems ported to x86S while leaving a path for people to migrate
their existing applications gradually.
Several things in this paragraph makes no sense.
In particular, x86S is a proposal for a reduced version of the stuff
that current Intel and AMD CPUs support: There is full 64-bit support,
and 32-bit user-level support. x86S eliminates a part of the
compatibility path from systems of yesteryear, but not that many
people use these parts nowadays anyway. It's unclear to me what
benefits these changes are supposed to buy (unlike the elimination of
A32/T32 from some ARM chips, which obviously eliminates the whole
A32/T32 decoding path). It seems to me that most of the complexity of
current CPUs would still be there.
Most of the proposed changes are unintersting to user mode developers.
They're definitly interesting to system software (UEFI, Hypervisor,
Kernel folks), if only to clean up the boot and startup paths.
Those changes also will reduce the RTL verification load, and
perhaps simplify other areas of the implementation leading to further efficiencies down the road. The A20 gate should be relegated
to the trash heap of history.
x86's long term survival depends on things out of AMD's and Intel's
hands. It depends on high volume access to devices people will buy
new every year or every other year. A PC is not such a thing, while
a cell phone seems to be.
On Tue, 22 Oct 2024 00:03:43 +0000, mitchalsup@aol.com (MitchAlsup1)
wrote:
x86's long term survival depends on things out of AMD's and Intel's
hands. It depends on high volume access to devices people will buy
new every year or every other year. A PC is not such a thing, while
a cell phone seems to be.
Only because the average cell phone gets broken or flooded within a
year. If people were not so careless, I doubt most would be replaced
so often.
My current phone is over 4 years old and it continues to serve all of
my needs. Sans damage, the only reason I would choose to replace it
would be when critical apps no longer support the OS version.
In this case, the Apple situation makes more sense. They have jumped
MacOS from x86 to ARM, without loosing all of their existing software
base, by running a userland emulator that "doesn't suck".
Microsoft would probably like machines where media playing was harder to intercept, because that would earn them more trust from the media conglomerates.
Like, little point in trying to run Win98 on a newest-generation
platform (and, apparently, getting Win98 working natively on anything
much newer than the mid 2000s is pain ...
On Tue, 22 Oct 2024 21:59:46 +0000, George Neuner wrote:
On Tue, 22 Oct 2024 00:03:43 +0000, mitchalsup@aol.com (MitchAlsup1)
wrote:
x86's long term survival depends on things out of AMD's and Intel's >>>hands. It depends on high volume access to devices people will buy
new every year or every other year. A PC is not such a thing, while
a cell phone seems to be.
Only because the average cell phone gets broken or flooded within a
year. If people were not so careless, I doubt most would be replaced
so often.
My current phone is over 4 years old and it continues to serve all of
my needs. Sans damage, the only reason I would choose to replace it
would be when critical apps no longer support the OS version.
My first cell phone (Galaxy 3) I got in 2012 and used it until 2022
when the service provider offered a zero cost upgrade because they
were loosing access to the 4G-LTE antennae. I did put in 2 new
batteries, and nothing was scratched or dented after 11 years of use.
I still liked it better than the Galaxy 12 I have now. ...
Oh and BTW:: I do not carry my cell phone unless I am traveling
or expecting a call. It lives in my office--probably why it is
not being damaged by being sat upon or dropped into water, and
other causes of cell phone death.
On Tue, 22 Oct 2024 18:43:40 +0000, BGB wrote:
On 10/22/2024 10:26 AM, Anton Ertl wrote:
Several things in this paragraph makes no sense.
In particular, x86S is a proposal for a reduced version of the stuff
that current Intel and AMD CPUs support: There is full 64-bit support,
and 32-bit user-level support. x86S eliminates a part of the
compatibility path from systems of yesteryear, but not that many
people use these parts nowadays anyway. It's unclear to me what
benefits these changes are supposed to buy (unlike the elimination of
A32/T32 from some ARM chips, which obviously eliminates the whole
A32/T32 decoding path). It seems to me that most of the complexity of
current CPUs would still be there.
And I certainly prefer a CPU that has more capabilities to one that
has less capabilities. Sometimes I want to run old binaries.
So what would be my incentive as a user to buy an x86S CPU? Will they
sell them for less? I doubt it.
Yeah, basically my thoughts as well.
Business as usual...
Main effect it achieves is breaking legacy boot, doesn't seem like it
would either save all that much nor "solve" x86's longstanding issues.
Intel needs a better way to exit reset--and that means the MMU/TLBs
are already up and working at the time reset is exited. This cannot
be made backwards compatible.
-------------------------------
*1: Probably, say (if I were designing the encoding):
{Rb+Disp10s] //32-bit encoding
{Rb+Ri*FixSc] //32-bit encoding
{Rb+Ri*Sc] //64-bit encoding
[Rb+Disp33s] //64-bit encoding
[Rb+Ri*Sc+Disp11s] //64-bit encoding
[Rb+Ri*Sc+Disp33s] //96-bit encoding
[Rb+DISP16] // 32-bit 16 > 10
[Rb+Ri<<sc] // 32-bit
[Rb+Ri<<sc+DISP32] // 64-bit 32 > 11
[Rb+Ri<<sc+DISP64] // 96-bit 64 > 33
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 991 |
Nodes: | 10 (0 / 10) |
Uptime: | 119:20:45 |
Calls: | 12,958 |
Files: | 186,574 |
Messages: | 3,265,634 |