HNHacker News
TopNewBestAskShowJobs

kens

23,349 karma · joined October 11, 2010

Ken Shirriff ken.shirriff@gmail.com https://righto.com @righto.com on Bluesky @oldbytes.space/@kenshirriff on Mastodon
submissionscomments
kens··on Reverse-engineering the Intel 8087's tangent algorithm: more than CORDIC
The 8087 is probably enough floating point for a while :-)
kens··on Reverse-engineering the Intel 8087's tangent algorithm: more than CORDIC
Author here for your 8087 questions...
kens··on We're gonna need a lot more mathematicians
5000 engineers for the Pentium Pro?? Bob Colwell, chief architect of the Pentium Pro, says 450+ people with over 400 design and validation engineers. Source: "The Pentium Chronicles", pages xvi and 2.
kens··on The UV index is not the warm sensation of sunlight on bare skin
The details of UV damage are interesting. You can think of DNA as a sequence of four letters: C, G, A, and T. If there are two neighboring T's, UV can move a bond, linking the two T's together (i.e. thymine dimerization). If you're in the sun, each skin cell gets 50-100 of these pairs created per second (which is much higher than I expected). Enzymes fix most of these errors, but sometimes the errors will cause problems during DNA replication and you can end up with mutations.

Details: https://pdb101.rcsb.org/motm/91

kens··on What Sun got wrong
I worked at Sun from 1995 to 2004. My take is that Sun had major structural problems all along, but as long as money streamed in from the tech bubble, these issues could be ignored. When the tech bubble ended, it was too late to fix the problems.

One big problem was that there was no cooperation inside Sun. Groups in Sun kind of viewed HP as a competitor, kind of viewed SGI as a competitor, but the real competitor to be destroyed was that other group in Sun. The leaders of the project I worked on spent most of their time in political battles, trying to acquire or outmaneuver the other teams working on similar projects.

Another problem was that the main parts of Sun had conflicting strategies. The Solaris/SunSoft division wanted to run on SPARC, x86, and Power PC for the largest market. The SPARC division, of course, wanted none of that. The hardware division wanted to make expensive servers, but the other teams saw cheaper hardware as the right direction. The market ended up moving to cheap rack-mounted Linux x86 servers, so nobody at Sun won in the end.

kens··on How Hacker News ranking works: scoring, controversy, and penalties (2013)
Author here. I don't know why this popped up 13 years later, but hi :-)
kens··on Microcode in Intel's 8087 floating-point chip: the scale instruction
I think the emulation code was a rewrite in 8086 assembly language. An 8087 microcode emulator would be slow and difficult. One of the Opcode Collective people is looking at the emulator now, so there may be more details later. Intel claimed that the emulator completely and exactly duplicated the 8087 functionality, so it would be interesting to see if it is 100% accurate or if they missed any corner cases.
kens··on Microcode in Intel's 8087 floating-point chip: the scale instruction
Yes, it's one microinstruction per cycle, except there is a 1-cycle delay for branches, adds, and shifts. And some micro-instructions loop, so they can take a bunch of cycles.
kens··on Microcode in Intel's 8087 floating-point chip: the scale instruction
I forgot about the IBM 7030 Stretch (1961), which was also 64 bits. The NORC (Naval Ordnance Research Calculator) (1954) had 16 decimal digits, which is sort of 64 bits.
kens··on Microcode in Intel's 8087 floating-point chip: the scale instruction
I've looked at some early calculators and they are a whole different world of weirdness. They used decimal arithmetic (BCD) because it's a lot easier than converting between binary and decimal. The first calculators were serial, with a 1-bit adder and shift registers and bits constantly in motion. The Sinclair Scientific calculator used TI's strange 4-bit architecture along with terrible algorithms.
kens··on Microcode in Intel's 8087 floating-point chip: the scale instruction
The Cray-1 (1976) was probably the first 64-bit CPU.
kens··on Microcode in Intel's 8087 floating-point chip: the scale instruction
Author here for your 8087 questions...
kens··on OpenAI’s Navier-Stokes release included a Lean 4 formal proof
It would be nice if someone used AI and/or Lean to sort out the abc conjecture, an important unsolved problem in Diophantine analysis. A mathematician (Mochizuki) claimed to have proven it in 2012 using a new theory called "Inter-universal Teichmüller theory" that almost nobody understands. Some mathematicians think the proof is correct while the majority don't. So the conjecture is in this annoying limbo where its status is a social construct rather than a decided fact.

https://en.wikipedia.org/wiki/Abc_conjecture

kens··on Topologist's Map of the World
Curiously, Eswatini (formerly Swaziland) is capitalized eSwatini, as if it is an e-commerce site.
kens··on Private German rocket makes history, reaches orbit from European soil
Curious fact: France's longest border is with Brazil.
kens··on Biggest dark matter detector spots a single weird particle
Most horrifying is a 2014 Science paper on Ebola with 58 authors, 5 of whom died of Ebola before publication. https://www.science.org/content/article/ebolas-heavy-toll-st...
kens··on Konrad Zuse Museum shutting down due to lack of funding
Yes, even Rojas says, "From a practical perspective, and in the way the Z3 was really programmed, it was not equivalent to modern computers." https://www.researchgate.net/publication/3330654_How_to_make...
kens··on Konrad Zuse Museum shutting down due to lack of funding
The argument that the Z3 is universal "was an impressive party trick, but diverged entirely from the way the machine was designed, how it was actually used, or indeed from anything that would have made sense in the 1940s."

Source: ENIAC in Action p255.

kens··on Cores in space: The core memory module from a 1980 Spacelab computer
There are different ways of implementing core memory. The "traditional" way uses the inhibit line. The module I examined uses a "2½D" approach, which is what you originally pictured: separate current drivers for each bit and no inhibit line.
kens··on Cores in space: The core memory module from a 1980 Spacelab computer
The Polaris ballistic missile computer, developed at the MIT Instrumentation Laboratory, was the predecessor to the Apollo Guidance Computer. It used germanium transistors along with magnetic core shift registers for memory. The Polaris computer used discrete three-input NOR gates, while the AGC used three-input NOR gates on integrated circuits. The book "Journey to the Moon" by Eldon Hall, creator of the AGC, has lots of details.
kens··on Cores in space: The core memory module from a 1980 Spacelab computer
I assume you're interested in magnetic core logic computers in general, not specifically Parametrons. In the late 1950s, NASA considered core-transistor logic for a spacecraft navigation computer due to its lower power consumption. The prototype version of the Apollo Guidance Computer (1962) used core-transistor logic. But improvements in transistors made core-transistor logic less appealing, not to mention the arrival of ICs. At the end of 1962, NASA decided to use ICs for the Apollo Guidance Computer and abandoned core-transistor logic. The updated AGC kept the core memory and core rope ROM of the earlier AGC, though.
kens··on Cores in space: The core memory module from a 1980 Spacelab computer
The main reason was the "inhibit recovery problem". The inhibit line required a large current that went through all the cores. This caused electrical noise, requiring a delay while the noise settled down. Doing away with the inhibit line thus helped performance. The drive lines are also shorter, which also helps performance.

The paper "2 1/2 D High Speed Memory Systems: Past, Present, and Future" explains this, but not entirely clearly: https://ieeexplore.ieee.org/document/4038821

kens··on Cores in space: The core memory module from a 1980 Spacelab computer
Core memory is very resistant to radiation. When the Shuttle computers were upgraded to semiconductor memory, radiation became an issue. The solution was to add six extra bits of storage to each word and use ECC. A background process scanned for errors and corrected them. The computer could encounter 100 bit flips per flight, so radiation was significant. (There was even an incident where a single cosmic ray flipped 14 bits.) The other problem with semiconductor memory was its volatility, so the computer had NiCd batteries for backup power to the RAM.

For details on how radiation affected the Space Shuttle's computers, see this paper: https://klabs.org/DEI/Processor/shuttle/oneill_94.pdf

kens··on Cores in space: The core memory module from a 1980 Spacelab computer
I've already written articles about the French computer and FRAM; enjoy :-) https://www.righto.com/2026/05/reverse-engineering-spacelab-... https://www.righto.com/2024/09/ramtron-ferroelectric-fram-di...
kens··on Cores in space: The core memory module from a 1980 Spacelab computer
Author here for all your core memory questions...
kens··on Turns are Better than Radians (2022)
One weird unit for angles is the mil, defined as 6400 mils in a circle. This unit is very useful for artillery, since 1 meter displacement at a distance of 1 km is 1 mil [†]. Thus, you can see how much you missed by, divide by the distance, and easily determine how much you need to adjust your aim in mils. Another interesting thing about artillery is they traditionally do a binary search to get the distance correct, which they call "bracketing". Link: https://unitedtaskforce.net/training/sop/communication/artil...

[†] Note that this isn't exactly correct since it corresponds to pi = 3.2. A mil is almost the same as a milliradian, but 6400 mils in a circle is much more convenient than 6283.18... milliradians in a circle.

kens··on Parametron: 50s Japanese computer that uses neither transistors nor vacuum tubes
The history of computing is usually described as a nice progression from vacuum tubes to transistors and then ICs. But parametrons are only one of the many forgotten technologies that popped up along the way. Magnetic core logic such as transfluxors was used in several computers. Superconducting cryotrons were going to revolutionize computers. Tunnel-diode logic was also briefly the wave of the future. Other significant technologies were microwave logic circuits and electroluminescent logic circuits. I have to say that the 1950s came up with the best names; modern technologies just don't measure up to transfluxors, parametrons, and cryotrons.

See Digital Computer Design Fundamentals, 1962, chapter 6.

kens··on Parametron: 50s Japanese computer that uses neither transistors nor vacuum tubes
I wrote an article on the history of magnetic amplifiers: https://spectrum.ieee.org/the-vacuum-tubes-forgotten-rival

The quick summary is that magnetic amplifiers started in the US in 1901, but Germany came up with much better magnetic alloys during World War II. This led to a post-war boom in mag amps, which were used in industrial control, aerospace, and computers such as the Univac Solid State. These magnetic materials also led to core memory. Transistors mostly killed off mag amps, although PC power supplies used them into the 1990s.

kens··on Can you reverse engineer an ASIC?
I'm too busy trying to reverse-engineer the Intel 8087 floating-point chip, although it would be interesting to look at this puzzle chip.
kens··on Energizing a vacuum-tube flip-flop module from a 1948 IBM system
Thanks for filling in the details! I figured that I was already going into too much history in my article :-)
Page 1 of 34Next →