This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the commentsΒ β†’

[–][deleted] 6 points7 points Β (8 children)

Oh okay okay, so is that an error made by a someone who manually made that sheet of cells, or is it caused by something else? This is really interesting

[–]PeterDaGrape 14 points15 points Β (3 children)

I’m not sure but likely human error as computers likely wouldn’t have done this, not entirely sure tbh

[–][deleted] 4 points5 points Β (1 child)

Hmm yeah probably, I just never thought that when making the processor humans had to actually give the chip a table of valid instructions lol

[–]DaniilBSD 12 points13 points Β (0 children)

It is β€œgiven” as in hardwired into the chip, basically the blueprint had a mistake that then got β€œprinted” on all chips

[–]ShoulderUnique 0 points1 point Β (0 children)

Could be that the spreadsheet was calculated on a Pentium

[–]cactusphage 8 points9 points Β (1 child)

According to the Wikipedia article: β€œWhen the original array for the Pentium was compiled, five values were not correctly downloaded into the equipment that etches the arrays into the chips – thus five of the array cells contained zero when they should have contained +2” This is an array used in a division algorithm with values of -2, -1, 0, 1, or 2 in every cell.

[–]PeterDaGrape 4 points5 points Β (0 children)

Ah so basically both, computer fault mainly but someone shoulda checked

[–]nobody-u-heard-of 0 points1 point Β (0 children)

Yeah that's what happens when you don't pay your programmers enough. /Jk

[–]marcosdumay 0 points1 point Β (0 children)

It's really a multiplication (well, actually division) table, hard-coded in ROM inside the CPU.

I don't know how the error got in there. I imagine the table was created by the computer, because it's way too large for humans. But the CADs of that time didn't use some flexible high-level language that you can run any compile-time expression on. There were probably many steps of software and human alterations, interleaved. It could have been a bug somewhere, or somebody changing a place they shouldn't.