11 ms·
It still blows my mind that a 64-bit i9-13900K with 24 cores, 36 MB of cache, and a turbo speed of 5.8 GHz has to pretend to be a 16-bit 8086, which had a clock
by danudey 3y ago
It still blows my mind that a 64-bit i9-13900K with 24 cores, 36 MB of cache, and a turbo speed of 5.8 GHz has to pretend to be a 16-bit 8086, which had a clock speed of 5-10 MHz and was discontinued in 1998, just to properly boot itself.
(An exaggerated oversimplification I know, but still)
- ithkuil 3y agoIt's even worse than that. If it was just the CPU... It also simulate an old keyboard controller for the purpose of enabling the A20 gate which enables an address line. https://en.m.wikipedia.org/wiki/A20_line https://en.m.wikipedia.org/wiki/A20_line
- armada651 3y agoSupport for the A20 gate was actually already dropped as per the article you linked: > Intel no longer supports the A20 gate, starting with Haswell.
- jylam 3y agoIt was not needed anymore in Haswell, but the support was still there. It isn't supported at all anymore.
- deaddodo 3y agoThe A20 gate was deprecated (and made software-based) in Nehalem, then was removed completely in Haswell. It's never been a feature of the Zen µarch(s).
- bonzini 3y agoEmulation of the keyboard controller is done by the firmware. The processor's support for A20 was tied to port 92h.
- Dwedit 3y agoThe A20 line was famously used to hack the original XBox. By clearing A20, you prevent the XBox from booting from the hidden ROM, and it boots from regular flash ROM instead. Some great videos about that on YouTube if you want to look.
- jeffbee 3y agoYeah but who, other than the person responsible for the firmware that boots the system, cares? These simplifications will have zero observable benefits to you. They won’t save a lot of die space or cost. 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.
- kibwen 3y agoTrue that it's invisible to end-users, but it's still a pain in the ass to people writing OSes. Lowering the barrier to entry even a little bit will be appreciated by hobbyists.
- t0b1 3y agoHow so? The bootloader already runs in long mode with UEFI and it also takes care of bringing up other cores so this is not really a problem in my experience.
- JoshTriplett 3y agoLinux still needs to use a Startup IPI to bring up other CPUs, which starts them running in 16-bit mode at an address under 1MB. Having a fully 64-bit way to bring up other CPUs would simplify that.
- monocasa 3y agoUEFI doesn't really take care of bringing up the other cores. There's a way to get access to them, but you have to give them back to UEFI before exiting boot services, so that doesn't really help your kernel. You still need to do the SIPI into x86-16 code to really take control of the AP cores. Even the new way (that isn't actually implemented AFAIK) just SIPIs into long mode code, it doesn't use the UEFI multicore stuff.
- DSMan195276 3y agoFrom a hobbies point of view I'd actually argue the opposite. The nice thing about the old stuff (Ex. the 8259 PIC support they're removing here) is that it's much simpler to get going. They have very large limitations, but those don't matter when just starting, and they serve as a good stepping stone and learning opportunity before eventually moving on to the modern and more complicated stuff. Additionally if you're using a bootloader then the bulk of this is already solved for you anyway.
- meepmorp 3y agoIIRC, when you boot linux on a mainframe, you load your kernel and initrd into a virtual reader device so the machine can load it in 80-column punchcard sized chunks.
- projektfu 3y agoAnd on the PDP-10, it contains a virtual robot to toggle the virtual switches on the virtual PDP-11, to load a loader that runs the virtual tape drive to load the startup program for the PDP-10. j/k I have no idea how linux boots on Z.
- cbm-vic-20 3y agoThis actually isn't too far from the truth. The VAX 8800 series of minicomputers used a cut-down PDP-11 to boot it, and to act as a console. https://en.wikipedia.org/wiki/VAX_8000#VAX_Console https://en.wikipedia.org/wiki/VAX_8000#VAX_Console
- rbanffy 3y agoFun to think that it’s more or less how zVM starts stuff. It took me a while to mentally accept the concept of VM that zVM (in reality, I was playing with VM/370) has, which is not like anything non-mainframe users would be familiar with. 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.
- skissane 3y ago> But you can also run Linux directly on an LPAR under the thin hypervisor (which I forgot the name) that runs zVM. 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
- paulddraper 3y agoWhat are the downsides of this?
- jacquesm 3y agoSlow.
- 2OEH8eoCRo0 3y agoSlightly off topic but it blows my mind that the 13900K only supports 2 memory channels. My 10 year old i7 supported 4 (with 8 slots)!
- tracker1 3y agoPartly to simplify design and reduce cost, partly for market segmentation.
- adgjlsfhk1 3y agothis is only kind of true. the 13900k supports 2 channels but for ddr5, each channel ends up being split into two smaller channels.
- russdill 3y agoReally it is a vast oversimplication. It's only what the system is made to look like it's doing, it's actually doing something completely different. https://mjg59.dreamwidth.org/66109.html https://mjg59.dreamwidth.org/66109.html
- m463 3y agoI guess people got used to the 286 rebooting itself to access high memory and have allowed these sorts of things ever since.
- agumonkey 3y agoI used to rant over this but I kinda like vestigial retrocompatibility of that sort.