Intel mulls cutting 16 and 32-bit support, booting straight into 64-bit mode
theregister.com
theregister.com
This is how Intel takes credit for AMD's x86-64.
That's partly because Microsoft had support for ia32 (x86) and ia64 (Itanium). So amd64 was to differentiate the architecture (and it was unclear Intel would ever extend x86).
The "64-bit version of x86" is actually the new ISA created by AMD that was backwards compatible with x86 and added a 64-bit mode.
I'm sure that you agree that the company that creates a ISA has the right to name it.
It's the opposite: the original name was x86-64, and amd64 is a later rebranding. See, for instance, the original web site for this (then) new architecture: https://web.archive.org/web/20000829042251/http://www.x86-64...
I read this somewhere a couple weeks back, but I don't remember the source.
I don’t think one could run Outlook on them.
In a way, yes. It used the kernel from Server 2003.[1] Server/client kernels were unified for Vista SP1 and Server 2008, and not sooner just because the 2008 release lagged behind Vista's debut.
Prior to Vista, this kernel difference meant drivers for Windows server and client often had to be different builds. An anecdote that I recall was that although xp64 and 2003x64 could share drivers, it was typical to see drivers "not provided" for xp64, so the people who wanted that kernel just ran Windows Server as a desktop OS instead.
1: https://en.wikipedia.org/wiki/Windows_XP_Professional_x64_Ed...
So, you could get a 64-bit computer running Windows, but you wouldn’t be able to play Pinball, or read your emails, or run some other software you needed to work.
Oddly enough, the situation was much better with 64-bit Unix, where your usual tools worked flawlessly.
Also, that’s why we all should write unit tests.
It was but not when you think... 64-bit NT was never released. NT on Alpha was 32-bit.
It only leaked this month. I wrote about it:
They are suggesting freeing up 5 bytes in primary opcode map in all modes (4 for string I/O, 1 for 67h address size override) plus 8 bytes in ring 3 (userspace) plus making it possible to free up 4 more (segment override prefixes). That means 13 (17) free bytes for userspace!
I think part of the plan is to enable more compact encoding of certain existing instructions (and allow for compact encoding of future instructions).
I think they want to do that to enable wider instruction decoders -- more compact encodings => more instructions per 16-byte/24-byte/32-byte/whatever size window the decoders look at. Wide decoders are inherently harder for x86 than for architectures like ARM because there are so many possible instruction lengths (all values between 1 and 15 inclusive), so they need all the juice they can squeeze out here.
I am surprised they didn't suggest getting rid of the BOUND instruction (which is used for the EVEX prefix in 64-bit mode).
And what about HLT? It isn't allowed in ring 3, anyway, so maybe they are looking at repurposing that as well?
And INT1, too?
(An exaggerated oversimplification I know, but still)
It also simulate an old keyboard controller for the purpose of enabling the A20 gate which enables an address line.
> Intel no longer supports the A20 gate, starting with Haswell.
Some great videos about that on YouTube if you want to look.
The complexity of the far past is so small that it is inconsequential today. The PS1 was implemented in spare die area of the PS2’s USB controller. Time marches on and die space becomes free.
Having a fully 64-bit way to bring up other CPUs would simplify that.
Even the new way (that isn't actually implemented AFAIK) just SIPIs into long mode code, it doesn't use the UEFI multicore stuff.
I think that besides that, some people are paid for complexity. That would justify the evolution of SW in the last 10 years.
Whoah, that is WILD. Any info about where I can learn more about this?
Under heading “I/O”
https://www.theguardian.com/technology/2013/dec/12/ps4-and-x...
> The PlayStation 2, meanwhile, had the original PlayStation chipset built in, so it ran pretty much any PSone title – and when that chip wasn't being used for backwards compatibility it doubled as an input/output processor, which was pretty canny.
The original fat PS2 including majority of the PS1 hardware physically in the machine. More and more of it got offloaded to pure software emulation with later model revisions.
I, too, would like to see info on this supposed "spare die space on the USB controller" claim. Because it would be really neat if true lol
Essentially the thicc PS2s include the PS1 chip and normally use it for IO and also for PS1 compatibility.
This really confused me until figured out you weren't talking about the IBM PS/1 and PS/2.
But then, the PS2 console didn't have USB either, so I'm not sure what they're talking about.
Just to clarify - I don't think that Intel should retain 16bit mode, but don't think removing it would make a big difference.
Also, the “LA57” 5-level page table design has a little whoopsie: you can’t switch between 4 and 5 level page tables without exiting paged mode entirely.
j/k I have no idea how linux boots on Z.
But you can also run Linux directly on an LPAR under the thin hypervisor (which I forgot the name) that runs zVM.
The indignity of the mainframe is that it’s booted under control of an x86 machine that itself boots up as an 8086. At least these days the service elements run Linux.
The name is PR/SM - which, from what I’ve heard, actually started life as a modified version of VM
> The indignity of the mainframe is that it’s booted under control of an x86 machine that itself boots up as an 8086. At least these days the service elements run Linux.
Poor OS/2, no more booting mainframes for it anymore, unless they are very old ones
At least it's not Windows.
> It will still be possible to start up an x86-32 operating system inside a VM – these have to emulate system firmware in any case, alongside the emulated graphics cards, network cards and so on that they must provide.
> You will also still be able to run x86-32 binaries and apps in ring three on your 64-bit OS in ring zero – so long as the operating system provides the appropriate libraries and APIs, of course.
I buy wintel so I can run my software from 15 years ago without interference. Literally the only reason I don't buy a mac. If they want to take that away, well, good luck to them
By that time, CPUs will be faster, and Intel will have had plenty of time to figure out the emulation layer.
These days, how much performance-critical software is even being built in 32-bit?
I think the better question is how much performance critical software built in 32 bit is still relied on, and may potentially outlive hardware with 32 bit support
Example? Lately I've been doing a lot of video transcoding with ffmpeg. The latest 64-bit version running under Windows 11 is lucky to average 10 to 14 frames per second. The last 32-bit version of ffmpeg running on Windows 7 does 64 frames per second or better.
In every case that comes to mind, the 32-bit versions of the applications I use far outperform the 64-bit versions. The only exception I can think of at the moment is Notepad++. NP++ is just plain awesome as a 64-bit application!
Lots of the M1's efficiency comes from business decisions. Apple chooses to use an expensive, low clock TSMC node. They use a lot of expensive die area on wide cores and cache, so they can keep clocks and voltages (relatively) low. And they use packaged memory for efficiency, but at higher cost and with no modularity.
Not saying it isn't a great design, but Intel/AMD could make a far more efficient CPU if they had the right market incentives to try. We have already seen a hint of this with Van Gogh (the Steam Deck chip) and their rumored "premium" laptop chips with big GPUs and an M1 Pro-like memory bus.
There are none! Van Gogh (in the Steam Deck) was the first and last one!
AMD had a whole family of low power (~9W), graphics heavy chips on their roadmap... And when the time for the first one came, not a single laptop maker picked it up. So AMD seemingly canceled the line, but Valve swooped in and used the only survivor in their handheld.
What you see in the ROG Zephyrus and such are rebranded high power laptop chips, which is why they suck so much battery compared to the Steam Deck (even though the Deck chip is much older).
That being said, it's not like we're talking about deprecating that part of the instruction set which they really should do (i.e. build your application for x64.risc which tells the CPU the instruction set is going to be an alternate fixed-representation x64). Could maybe even have a special instruction where you can switch out of it temporarily so that you have back-compat with normal assembly to give software writers time to port.
I'm all in favor of this though. Getting rid of cruft that's more than 20 years old is well beyond time.
Like the success of IA-64?
Once MS skips to ARM, let's see what Intel does.
MS has tried at least twice move to ARM and failed woefully - Windows RT, Windows 10 on ARM
They made the marketing blunder of calling the ARM OS "windows" when it couldn't run existing software. It's borderline fraud. Many people, (probably most) returned their RT devices to the store because of this.
Windows ARM laptops were more expensive, slower, & under-speced than x86 ones.
Microsoft restricted software download to store only - pretty dumb to me.
x86 Emulation was eventually released after win10 arm was released but it was slow and probably wasn't reliable.
Summary, high price but low performance, dumb os restrictions, & non existent ecosystem killed ms ARM efforts.
I mean, sure there were other issues, they can call it "Windows" all they like, just like switching mac from PPC to Intel to ARM is still MacOS/OSX. Even if not everything is 100% compatible over time. That they made other dumb decisions doesn't make it less so.
Much like ARM on Linux doesn't run everything out of the box, doesn't make it not Linux.
On a pure 64 bit CPU, unless the 32-bit compatiblity problem is solved with emulation at the OS level, all this old 32-bit stuff is history. Or does "cutting 32-bit mode" not mean that, i.e. 32-bit binaries still run in the 64 bit mode?
And you've already answered your own question. Virtualization and emulation is precisely how this will be cared for. Heck, in a lot of cases, that's already how old 16- and 32-bit software is run, as you also need associated compatible operating systems, not to mention clock timings and so forth in the case of games, and it's a lot easier and more accurate to just fire up DOS or Windows 3.11 in a VM than to run the code natively with OS-level compatibility.
This approach has been somewhat successful.
> You will also still be able to run x86-32 binaries and apps in ring three on your 64-bit OS in ring zero – so long as the operating system provides the appropriate libraries and APIs, of course.
A 64-bit only CPU may be a sensible thing, and we can use emulators for old stuff, but when we are at it, do we really need x86 at all? If we are to break compatibility, couldn't we just switch to ARM, RISC-V, or something else? I mean, that's what Apple do, they did it successfully, and more than once (68k, PPC, x86, ARM), but Apple is Apple, and x86 is (was?) all about backwards compatibility.
Yes, that is the original, but I tried to add a lot of historical context and precedent. Whether that is interesting or worthwhile I leave to the readers, but my story seems to be doing well and getting lots of comments and shares, so I guess I succeeded.
Gutting 32-bit support will kill off a lot of legacy applications. Apple could only do it because there aren't that many enterprise applications and they provided reasonably well working tooling to ease the effort.
Nah, they can be emulated. Just as Apple continues to support x86 apps on ARM, and supported PowerPC apps on Intel, and m68k apps on PowerPC.
Removing 16-bit and 32-bit OS support, on the other hand, makes perfect sense.
They already do, and have since the x64 version of XP.
Its called WoW64.
"WOW64 is the x86 emulator that allows 32-bit Windows-based applications to run seamlessly on 64-bit Windows"
Sounds like emulation to me.
Thunking has been widespread since OS/2 1 in the mid-1980s.
https://en.wikipedia.org/wiki/Win32s
The original wikipedia article on Thunks has been generalized into uselessness. :-(
A friend of mine loved playing a specific game on her Mac that broke, and she was pissed about it for years. She later built a Windows gaming PC.
The people that actually demonstrate this to any extent are Valve, Microsoft and the people working on Fex. Definitely not Apple, and it's definitely not simple, But it's still worth doing.
The fact is that if everyone did what Apple did, she wouldn't be able to play the game on modern PCs any more. I think that is not an acceptable outcome: for archival purposes if nothing else, it is important that every game ever made be playable forever.
Deprecating 32-bit support means that macOS is never going to be a serious gaming platform again. Many games are done and never see updates again. At least Asahi is going to support older games so you can still use the hardware.
They knocked it out of the park. In some cases emulated Intel apps on Apple Silicon run faster than they did natively on Intel Apple hardware. You are criticizing them for not doing what you wanted which was 32-bit emulation. This is not the same thing as recognizing them for the incredibly good 64-bit emulation they achieved.
> Deprecating 32-bit support means that macOS is never going to be a serious gaming platform again.
I don't think it's been a 'serious gaming platform' since, er, ever.
That's not going to change by enabling emulation of a dead platform.
I'm curious, would this also then affect ArcaOS?
Then there's the fact that the rest of it is 32-bit. (-:
Yes, it will.
I am currently evaluating Arca OS.
It currently does not run on UEFI machines anyway, although a version that can is in beta and they're getting a copy ready for me right now.