Why did the Cray-1 have 8 parity bits per word?How did Mode 3 on the Amstrad CPC work?What computer first...

What is this waxed root vegetable?

What type of investment is best suited for a 1-year investment on a down payment?

Can a space-faring robot still function over a billion years?

Did Amazon pay $0 in taxes last year?

Canadian citizen, on US no-fly list. What can I do in order to be allowed on flights which go through US airspace?

For a 1-action spell, do I need to take a turn to ready the spell before I can cast it, or can I cast it immediately?

Change only a specific Parameter on a function

Should we avoid writing fiction about historical events without extensive research?

Skis versus snow shoes - when to choose which for travelling the backcountry?

Levi-Civita symbol: 3D matrix

How to kill a localhost:8080

It took me a lot of time to make this, pls like. (YouTube Comments #1)

A bug in Excel? Conditional formatting for marking duplicates also highlights unique value

I can't die. Who am I?

What should the omniscient narrator call a character?

How can I handle a player who pre-plans arguments about my rulings on RAW?

Calculating Hyperbolic Sin faster than using a standard power series

Plagiarism of code by other PhD student

Pure Functions: Does "No Side Effects" Imply "Always Same Output, Given Same Input"?

Was it really inappropriate to write a pull request for the company I interviewed with?

In Adventurer's League, is it possible to keep the Ring of Winter if you manage to acquire it in the Tomb of Annihilation adventure?

Fake utcnow for the pytest

What is a term for a function that when called repeatedly, has the same effect as calling once?

"Lived a lion" or "there lived a lion"



Why did the Cray-1 have 8 parity bits per word?


How did Mode 3 on the Amstrad CPC work?What computer first facilitated multi-precision arithmetic80s DRAM chips: one per bit of data bus width?Z80 and video chip contending for random accessWere there any LSI-11 like home computers outside of Russia?Repurposing the parity bitLast computer not to use octets / 8-bit bytesRAM for Socket 7 Motherboard - 64MB sticks appearing as 16MBAmiga floppy disks and GCR vs MFMWhy are RAM chips 1 or 4 bits wide?













2















According to https://en.wikipedia.org/wiki/Cray-1




The Cray-1 was built as a 64-bit system, a departure from the 7600/6600, which were 60-bit machines (a change was also planned for the 8600). Addressing was 24-bit, with a maximum of 1,048,576 64-bit words (1 megaword) of main memory, where each word also had 8 parity bits for a total of 72 bits per word.[10] There were 64 data bits and 8 check bits.




It seems to me by the nature of parity, it should suffice to have one bit of overhead per word, rather than eight. I can understand on something like an 8088/87, you might be stuck with 1/8 because the memory system deals in eight bits at a time, but why is it that way on a 64-bit machine?










share|improve this question



























    2















    According to https://en.wikipedia.org/wiki/Cray-1




    The Cray-1 was built as a 64-bit system, a departure from the 7600/6600, which were 60-bit machines (a change was also planned for the 8600). Addressing was 24-bit, with a maximum of 1,048,576 64-bit words (1 megaword) of main memory, where each word also had 8 parity bits for a total of 72 bits per word.[10] There were 64 data bits and 8 check bits.




    It seems to me by the nature of parity, it should suffice to have one bit of overhead per word, rather than eight. I can understand on something like an 8088/87, you might be stuck with 1/8 because the memory system deals in eight bits at a time, but why is it that way on a 64-bit machine?










    share|improve this question

























      2












      2








      2








      According to https://en.wikipedia.org/wiki/Cray-1




      The Cray-1 was built as a 64-bit system, a departure from the 7600/6600, which were 60-bit machines (a change was also planned for the 8600). Addressing was 24-bit, with a maximum of 1,048,576 64-bit words (1 megaword) of main memory, where each word also had 8 parity bits for a total of 72 bits per word.[10] There were 64 data bits and 8 check bits.




      It seems to me by the nature of parity, it should suffice to have one bit of overhead per word, rather than eight. I can understand on something like an 8088/87, you might be stuck with 1/8 because the memory system deals in eight bits at a time, but why is it that way on a 64-bit machine?










      share|improve this question














      According to https://en.wikipedia.org/wiki/Cray-1




      The Cray-1 was built as a 64-bit system, a departure from the 7600/6600, which were 60-bit machines (a change was also planned for the 8600). Addressing was 24-bit, with a maximum of 1,048,576 64-bit words (1 megaword) of main memory, where each word also had 8 parity bits for a total of 72 bits per word.[10] There were 64 data bits and 8 check bits.




      It seems to me by the nature of parity, it should suffice to have one bit of overhead per word, rather than eight. I can understand on something like an 8088/87, you might be stuck with 1/8 because the memory system deals in eight bits at a time, but why is it that way on a 64-bit machine?







      hardware memory cray






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 2 hours ago









      rwallacerwallace

      9,472446139




      9,472446139






















          1 Answer
          1






          active

          oldest

          votes


















          4
















          There were 64 data bits and 8 check bits.




          It seems to me by the nature of parity, it should suffice to have one bit of overhead per word, rather than eight. [...]




          What you refer to here is a simple single bit parity. Basically counting the number of ones (even parity) or zeros (odd). Such a mechanic can only detect an odd number of bit flip (1 or 3 or 5 or ... flipping). Even number of flips can't be detected and will result in undetected computing errors.



          What the cray uses is a parity system based on Hamming encodeing. Encoding parity this way allows to detect multiple bit errors within a word and even correction of these on the fly. The 8 bit code used was able to correct single bit errors (SEC) and detect double error (DED).



          So while a machine with a single bit parity can detect single bit flips, it will always fail on double flips. Further, even if an error is detected, the only solution is to halt the program. With SEC-DED, a single error detected will be recovered (final) on the fly (at cost of maybe a few cycles) and a multi bit error will halt the machine.




          I can understand on something like an 8088/87, you might be stuck with 1/8 because the memory system deals in eight bits at a time, but why is it that way on a 64-bit machine?




          Because it's still just 1/8th, but now with improved flavour :))



          Considering the quite important function of invisible error correction the question is rather why only 8. Longer codes would allow to detect even longer errors and multi bit corrections. With the 1 Ki by 1 RAMs used (Fairchild 10415FC), any width could have been made. Then again, the while Cray 1 architecture shows a switch to the 'new' standard of 8 bit units - so using 8 parity bits comes natural. Doesn't it?





          Remark#1



          Eventually it's the same development the PC took, just instead of going from 9 bit memory (SIMM) over 36 bit (PS/2) to today's 72 Bit DIMM, the Cray-1 leapfrogged all of this and started with 72 Bit right away.





          Remark#2



          Seymor Cray is known to have said that 'Parity is for Farmers' when designing the 6600. While this quote was famous in inspiring the reply 'Farmers buy Computers' when parity got introduced with the 7600, not may know what he was referring on an implied level: The Doctrine of Parity, a US policy to make farming profitable again during and after the great depression - a policy that to some degree still results in higher food prices in the US than in most other countries.





          Remark#3



          The Cray Y-MP of 1990 even went a step ahead and added parity to (most) registers. Also the code was changed to enable double bit correction and multi bit detection.






          share|improve this answer


























          • Cray certainly resisted parity and error checking hardware in the Cray-1, because it was a performance hit. AFAIK one (the first production?) Cray-1 was built without parity and delivered to a US government agency (can't remember exactly where), and it did have better benchmarked performance than any of the later production machines.

            – alephzero
            42 mins ago











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "648"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f9318%2fwhy-did-the-cray-1-have-8-parity-bits-per-word%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          4
















          There were 64 data bits and 8 check bits.




          It seems to me by the nature of parity, it should suffice to have one bit of overhead per word, rather than eight. [...]




          What you refer to here is a simple single bit parity. Basically counting the number of ones (even parity) or zeros (odd). Such a mechanic can only detect an odd number of bit flip (1 or 3 or 5 or ... flipping). Even number of flips can't be detected and will result in undetected computing errors.



          What the cray uses is a parity system based on Hamming encodeing. Encoding parity this way allows to detect multiple bit errors within a word and even correction of these on the fly. The 8 bit code used was able to correct single bit errors (SEC) and detect double error (DED).



          So while a machine with a single bit parity can detect single bit flips, it will always fail on double flips. Further, even if an error is detected, the only solution is to halt the program. With SEC-DED, a single error detected will be recovered (final) on the fly (at cost of maybe a few cycles) and a multi bit error will halt the machine.




          I can understand on something like an 8088/87, you might be stuck with 1/8 because the memory system deals in eight bits at a time, but why is it that way on a 64-bit machine?




          Because it's still just 1/8th, but now with improved flavour :))



          Considering the quite important function of invisible error correction the question is rather why only 8. Longer codes would allow to detect even longer errors and multi bit corrections. With the 1 Ki by 1 RAMs used (Fairchild 10415FC), any width could have been made. Then again, the while Cray 1 architecture shows a switch to the 'new' standard of 8 bit units - so using 8 parity bits comes natural. Doesn't it?





          Remark#1



          Eventually it's the same development the PC took, just instead of going from 9 bit memory (SIMM) over 36 bit (PS/2) to today's 72 Bit DIMM, the Cray-1 leapfrogged all of this and started with 72 Bit right away.





          Remark#2



          Seymor Cray is known to have said that 'Parity is for Farmers' when designing the 6600. While this quote was famous in inspiring the reply 'Farmers buy Computers' when parity got introduced with the 7600, not may know what he was referring on an implied level: The Doctrine of Parity, a US policy to make farming profitable again during and after the great depression - a policy that to some degree still results in higher food prices in the US than in most other countries.





          Remark#3



          The Cray Y-MP of 1990 even went a step ahead and added parity to (most) registers. Also the code was changed to enable double bit correction and multi bit detection.






          share|improve this answer


























          • Cray certainly resisted parity and error checking hardware in the Cray-1, because it was a performance hit. AFAIK one (the first production?) Cray-1 was built without parity and delivered to a US government agency (can't remember exactly where), and it did have better benchmarked performance than any of the later production machines.

            – alephzero
            42 mins ago
















          4
















          There were 64 data bits and 8 check bits.




          It seems to me by the nature of parity, it should suffice to have one bit of overhead per word, rather than eight. [...]




          What you refer to here is a simple single bit parity. Basically counting the number of ones (even parity) or zeros (odd). Such a mechanic can only detect an odd number of bit flip (1 or 3 or 5 or ... flipping). Even number of flips can't be detected and will result in undetected computing errors.



          What the cray uses is a parity system based on Hamming encodeing. Encoding parity this way allows to detect multiple bit errors within a word and even correction of these on the fly. The 8 bit code used was able to correct single bit errors (SEC) and detect double error (DED).



          So while a machine with a single bit parity can detect single bit flips, it will always fail on double flips. Further, even if an error is detected, the only solution is to halt the program. With SEC-DED, a single error detected will be recovered (final) on the fly (at cost of maybe a few cycles) and a multi bit error will halt the machine.




          I can understand on something like an 8088/87, you might be stuck with 1/8 because the memory system deals in eight bits at a time, but why is it that way on a 64-bit machine?




          Because it's still just 1/8th, but now with improved flavour :))



          Considering the quite important function of invisible error correction the question is rather why only 8. Longer codes would allow to detect even longer errors and multi bit corrections. With the 1 Ki by 1 RAMs used (Fairchild 10415FC), any width could have been made. Then again, the while Cray 1 architecture shows a switch to the 'new' standard of 8 bit units - so using 8 parity bits comes natural. Doesn't it?





          Remark#1



          Eventually it's the same development the PC took, just instead of going from 9 bit memory (SIMM) over 36 bit (PS/2) to today's 72 Bit DIMM, the Cray-1 leapfrogged all of this and started with 72 Bit right away.





          Remark#2



          Seymor Cray is known to have said that 'Parity is for Farmers' when designing the 6600. While this quote was famous in inspiring the reply 'Farmers buy Computers' when parity got introduced with the 7600, not may know what he was referring on an implied level: The Doctrine of Parity, a US policy to make farming profitable again during and after the great depression - a policy that to some degree still results in higher food prices in the US than in most other countries.





          Remark#3



          The Cray Y-MP of 1990 even went a step ahead and added parity to (most) registers. Also the code was changed to enable double bit correction and multi bit detection.






          share|improve this answer


























          • Cray certainly resisted parity and error checking hardware in the Cray-1, because it was a performance hit. AFAIK one (the first production?) Cray-1 was built without parity and delivered to a US government agency (can't remember exactly where), and it did have better benchmarked performance than any of the later production machines.

            – alephzero
            42 mins ago














          4












          4








          4









          There were 64 data bits and 8 check bits.




          It seems to me by the nature of parity, it should suffice to have one bit of overhead per word, rather than eight. [...]




          What you refer to here is a simple single bit parity. Basically counting the number of ones (even parity) or zeros (odd). Such a mechanic can only detect an odd number of bit flip (1 or 3 or 5 or ... flipping). Even number of flips can't be detected and will result in undetected computing errors.



          What the cray uses is a parity system based on Hamming encodeing. Encoding parity this way allows to detect multiple bit errors within a word and even correction of these on the fly. The 8 bit code used was able to correct single bit errors (SEC) and detect double error (DED).



          So while a machine with a single bit parity can detect single bit flips, it will always fail on double flips. Further, even if an error is detected, the only solution is to halt the program. With SEC-DED, a single error detected will be recovered (final) on the fly (at cost of maybe a few cycles) and a multi bit error will halt the machine.




          I can understand on something like an 8088/87, you might be stuck with 1/8 because the memory system deals in eight bits at a time, but why is it that way on a 64-bit machine?




          Because it's still just 1/8th, but now with improved flavour :))



          Considering the quite important function of invisible error correction the question is rather why only 8. Longer codes would allow to detect even longer errors and multi bit corrections. With the 1 Ki by 1 RAMs used (Fairchild 10415FC), any width could have been made. Then again, the while Cray 1 architecture shows a switch to the 'new' standard of 8 bit units - so using 8 parity bits comes natural. Doesn't it?





          Remark#1



          Eventually it's the same development the PC took, just instead of going from 9 bit memory (SIMM) over 36 bit (PS/2) to today's 72 Bit DIMM, the Cray-1 leapfrogged all of this and started with 72 Bit right away.





          Remark#2



          Seymor Cray is known to have said that 'Parity is for Farmers' when designing the 6600. While this quote was famous in inspiring the reply 'Farmers buy Computers' when parity got introduced with the 7600, not may know what he was referring on an implied level: The Doctrine of Parity, a US policy to make farming profitable again during and after the great depression - a policy that to some degree still results in higher food prices in the US than in most other countries.





          Remark#3



          The Cray Y-MP of 1990 even went a step ahead and added parity to (most) registers. Also the code was changed to enable double bit correction and multi bit detection.






          share|improve this answer

















          There were 64 data bits and 8 check bits.




          It seems to me by the nature of parity, it should suffice to have one bit of overhead per word, rather than eight. [...]




          What you refer to here is a simple single bit parity. Basically counting the number of ones (even parity) or zeros (odd). Such a mechanic can only detect an odd number of bit flip (1 or 3 or 5 or ... flipping). Even number of flips can't be detected and will result in undetected computing errors.



          What the cray uses is a parity system based on Hamming encodeing. Encoding parity this way allows to detect multiple bit errors within a word and even correction of these on the fly. The 8 bit code used was able to correct single bit errors (SEC) and detect double error (DED).



          So while a machine with a single bit parity can detect single bit flips, it will always fail on double flips. Further, even if an error is detected, the only solution is to halt the program. With SEC-DED, a single error detected will be recovered (final) on the fly (at cost of maybe a few cycles) and a multi bit error will halt the machine.




          I can understand on something like an 8088/87, you might be stuck with 1/8 because the memory system deals in eight bits at a time, but why is it that way on a 64-bit machine?




          Because it's still just 1/8th, but now with improved flavour :))



          Considering the quite important function of invisible error correction the question is rather why only 8. Longer codes would allow to detect even longer errors and multi bit corrections. With the 1 Ki by 1 RAMs used (Fairchild 10415FC), any width could have been made. Then again, the while Cray 1 architecture shows a switch to the 'new' standard of 8 bit units - so using 8 parity bits comes natural. Doesn't it?





          Remark#1



          Eventually it's the same development the PC took, just instead of going from 9 bit memory (SIMM) over 36 bit (PS/2) to today's 72 Bit DIMM, the Cray-1 leapfrogged all of this and started with 72 Bit right away.





          Remark#2



          Seymor Cray is known to have said that 'Parity is for Farmers' when designing the 6600. While this quote was famous in inspiring the reply 'Farmers buy Computers' when parity got introduced with the 7600, not may know what he was referring on an implied level: The Doctrine of Parity, a US policy to make farming profitable again during and after the great depression - a policy that to some degree still results in higher food prices in the US than in most other countries.





          Remark#3



          The Cray Y-MP of 1990 even went a step ahead and added parity to (most) registers. Also the code was changed to enable double bit correction and multi bit detection.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 1 hour ago

























          answered 1 hour ago









          RaffzahnRaffzahn

          52.4k6123212




          52.4k6123212













          • Cray certainly resisted parity and error checking hardware in the Cray-1, because it was a performance hit. AFAIK one (the first production?) Cray-1 was built without parity and delivered to a US government agency (can't remember exactly where), and it did have better benchmarked performance than any of the later production machines.

            – alephzero
            42 mins ago



















          • Cray certainly resisted parity and error checking hardware in the Cray-1, because it was a performance hit. AFAIK one (the first production?) Cray-1 was built without parity and delivered to a US government agency (can't remember exactly where), and it did have better benchmarked performance than any of the later production machines.

            – alephzero
            42 mins ago

















          Cray certainly resisted parity and error checking hardware in the Cray-1, because it was a performance hit. AFAIK one (the first production?) Cray-1 was built without parity and delivered to a US government agency (can't remember exactly where), and it did have better benchmarked performance than any of the later production machines.

          – alephzero
          42 mins ago





          Cray certainly resisted parity and error checking hardware in the Cray-1, because it was a performance hit. AFAIK one (the first production?) Cray-1 was built without parity and delivered to a US government agency (can't remember exactly where), and it did have better benchmarked performance than any of the later production machines.

          – alephzero
          42 mins ago


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Retrocomputing Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f9318%2fwhy-did-the-cray-1-have-8-parity-bits-per-word%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          As a Security Precaution, the user account has been locked The Next CEO of Stack OverflowMS...

          Список ссавців Італії Природоохоронні статуси | Список |...

          Українські прізвища Зміст Історичні відомості |...