Z80N multiply compared to MC68000How did multiply instructions work in the various 68ks?How did “full memory” Spectrum tape copiers work?Measuring frame length on the ZX SpectrumWhat is the relative code density of 8-bit microprocessors?Z80 and video chip contending for random accessWhat's the difference between “opcode” and “instruction” in this Zilog ad?Spectrum clones 512x192 mode usable text resolutionUptime in ZX BASICZX BASIC REM statement overheadZX Spectrum faultHow can a peripheral work on both the ZX81 and on the ZX Spectrum?

Why is the relationship between frequency and pitch exponential?

What's the correct term for a waitress in the Middle Ages?

From system of coupled ODEs to separable ODE

Can a magnetic field of an object be stronger than its gravity?

Pronoun introduced before its antecedent

After the loss of Challenger, why weren’t Galileo and Ulysses launched by Centaurs on expendable boosters?

Should I "tell" my exposition or give it through dialogue?

Why don't B747s start takeoffs with full throttle?

What can plausibly explain many of my very long and low-tech bridges?

In this example, which path would a monster affected by the Dissonant Whispers spell take?

What happens to foam insulation board after you pour concrete slab?

Do any instruments not produce overtones?

Pay as you go Or Oyster card

Movie where a boy is transported into the future by an alien spaceship

How would you say “AKA/as in”?

Reading two lines in piano

Why did a party with more votes get fewer seats in the 2019 European Parliament election in Denmark?

How to make thick Asian sauces?

What is in `tex.print` or `tex.sprint`?

How to generate random points without duplication?

Sharing one invocation list between multiple events on the same object in C#

Word for a small burst of laughter that can't be held back

How can drunken, homicidal elves successfully conduct a wild hunt?

How do I calculate APR from monthly instalments?



Z80N multiply compared to MC68000


How did multiply instructions work in the various 68ks?How did “full memory” Spectrum tape copiers work?Measuring frame length on the ZX SpectrumWhat is the relative code density of 8-bit microprocessors?Z80 and video chip contending for random accessWhat's the difference between “opcode” and “instruction” in this Zilog ad?Spectrum clones 512x192 mode usable text resolutionUptime in ZX BASICZX BASIC REM statement overheadZX Spectrum faultHow can a peripheral work on both the ZX81 and on the ZX Spectrum?













2















According to the answer here: https://retrocomputing.stackexchange.com/a/7670/11430

The MC68000 can take up to 70 clock cycles to multiply.



The ZX Spectrum Next's Z80N has a "mul de" instruction that always takes 8 T-States.

How does it do that? What is the difference between how they work?










share|improve this question







New contributor



intrepidis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.























    2















    According to the answer here: https://retrocomputing.stackexchange.com/a/7670/11430

    The MC68000 can take up to 70 clock cycles to multiply.



    The ZX Spectrum Next's Z80N has a "mul de" instruction that always takes 8 T-States.

    How does it do that? What is the difference between how they work?










    share|improve this question







    New contributor



    intrepidis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.





















      2












      2








      2








      According to the answer here: https://retrocomputing.stackexchange.com/a/7670/11430

      The MC68000 can take up to 70 clock cycles to multiply.



      The ZX Spectrum Next's Z80N has a "mul de" instruction that always takes 8 T-States.

      How does it do that? What is the difference between how they work?










      share|improve this question







      New contributor



      intrepidis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      According to the answer here: https://retrocomputing.stackexchange.com/a/7670/11430

      The MC68000 can take up to 70 clock cycles to multiply.



      The ZX Spectrum Next's Z80N has a "mul de" instruction that always takes 8 T-States.

      How does it do that? What is the difference between how they work?







      z80 zx-spectrum






      share|improve this question







      New contributor



      intrepidis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share|improve this question







      New contributor



      intrepidis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share|improve this question




      share|improve this question






      New contributor



      intrepidis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      asked 8 hours ago









      intrepidisintrepidis

      1112




      1112




      New contributor



      intrepidis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




      New contributor




      intrepidis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          8















          The MC68000 can take up to 70 clock cycles to multiply.



          The ZX Spectrum Next's Z80N has a "mul de" instruction that always takes 8 T-States.




          It's 'only' an unsigned 8x8 multiplication, as the 8 bit registers D and E will be multiplied and the 16 bit Result stored in DE, while the 68k multiplications (MULS being the signed version) is a 32x32 multiplication.




          How does it do that? What is the difference between how they work?




          By the Z80N MUL being a more simple operation and at the same time throwing much more hardware at it?



          The 68k MULU/MULS is implemented in micro code, as adding a hardware multiplier would have enlarged the CPU quite a lot.



          The Spectrum Next is build using an Xilinx Spartan-6 FGPA (Type XC6SLX 16), a chip with SEVERAL TEN THOUSAND TIMES or maybe even more than HUNDRED THOUSAND TIMES (depending if the RAM is counted) the transistor count of an 68000 (which itself is already about 7 to 8 times as much as the original Z80). Easy to offer 8x8 bit hardware multipliers with a monster like that.



          In fact, it's safe to assume that it could be way faster than the 8 T-States, as these seam to be in line with the RMW nature of the instruction. All to make them work out in a comparable relative timing as the real Z80. Given the hardware such an FPGA provides, eZ80 like timing or even lower can be easy archived - ofc, this would make it hard to slow it down to play timing dependant games from a real Spectrum :))



          Bottom line: It's simply the result of 40 years of Moore's Law.






          share|improve this answer




















          • 1





            I'm pretty sure MULU and MULS are available only in 16x16 form on the original 68000. The 32-bit forms are from the 68020 onwards. I wish I had more to contribute than this, but you've covered everything else comprehensively as ever.

            – Tommy
            7 hours ago











          • In fact the z80n multiply can complete in a single 28MHz cycle which is the top clock speed in the system. The 8T time is solely due to the opcode fetch of two bytes which must take that amount of time in a z80 system. As already mentioned, it is moore's law in action. When the 68k was made they likely did not want to spend a lot of space on a single cycle hardware multiply and instead performed the operation as a sequence of steps using less hardware which took more time.

            – aralbrec
            2 hours ago











          • While the spartan 6 likely has (at an educated guess) 15000 times as many transistors as a 68k, it's not true the transistor count is directly comparable. In an fpga, the transistors are used to implement a generic logic fabric as well as hold configuration information in sram cells, control routing with pass transistors, and so on. In short a lot of transistors are not being applied to directly implement the logic. Because the logic is generic, only a fraction of the logic is actually useful in a completed design.

            – aralbrec
            33 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
          );



          );






          intrepidis is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f11188%2fz80n-multiply-compared-to-mc68000%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









          8















          The MC68000 can take up to 70 clock cycles to multiply.



          The ZX Spectrum Next's Z80N has a "mul de" instruction that always takes 8 T-States.




          It's 'only' an unsigned 8x8 multiplication, as the 8 bit registers D and E will be multiplied and the 16 bit Result stored in DE, while the 68k multiplications (MULS being the signed version) is a 32x32 multiplication.




          How does it do that? What is the difference between how they work?




          By the Z80N MUL being a more simple operation and at the same time throwing much more hardware at it?



          The 68k MULU/MULS is implemented in micro code, as adding a hardware multiplier would have enlarged the CPU quite a lot.



          The Spectrum Next is build using an Xilinx Spartan-6 FGPA (Type XC6SLX 16), a chip with SEVERAL TEN THOUSAND TIMES or maybe even more than HUNDRED THOUSAND TIMES (depending if the RAM is counted) the transistor count of an 68000 (which itself is already about 7 to 8 times as much as the original Z80). Easy to offer 8x8 bit hardware multipliers with a monster like that.



          In fact, it's safe to assume that it could be way faster than the 8 T-States, as these seam to be in line with the RMW nature of the instruction. All to make them work out in a comparable relative timing as the real Z80. Given the hardware such an FPGA provides, eZ80 like timing or even lower can be easy archived - ofc, this would make it hard to slow it down to play timing dependant games from a real Spectrum :))



          Bottom line: It's simply the result of 40 years of Moore's Law.






          share|improve this answer




















          • 1





            I'm pretty sure MULU and MULS are available only in 16x16 form on the original 68000. The 32-bit forms are from the 68020 onwards. I wish I had more to contribute than this, but you've covered everything else comprehensively as ever.

            – Tommy
            7 hours ago











          • In fact the z80n multiply can complete in a single 28MHz cycle which is the top clock speed in the system. The 8T time is solely due to the opcode fetch of two bytes which must take that amount of time in a z80 system. As already mentioned, it is moore's law in action. When the 68k was made they likely did not want to spend a lot of space on a single cycle hardware multiply and instead performed the operation as a sequence of steps using less hardware which took more time.

            – aralbrec
            2 hours ago











          • While the spartan 6 likely has (at an educated guess) 15000 times as many transistors as a 68k, it's not true the transistor count is directly comparable. In an fpga, the transistors are used to implement a generic logic fabric as well as hold configuration information in sram cells, control routing with pass transistors, and so on. In short a lot of transistors are not being applied to directly implement the logic. Because the logic is generic, only a fraction of the logic is actually useful in a completed design.

            – aralbrec
            33 mins ago















          8















          The MC68000 can take up to 70 clock cycles to multiply.



          The ZX Spectrum Next's Z80N has a "mul de" instruction that always takes 8 T-States.




          It's 'only' an unsigned 8x8 multiplication, as the 8 bit registers D and E will be multiplied and the 16 bit Result stored in DE, while the 68k multiplications (MULS being the signed version) is a 32x32 multiplication.




          How does it do that? What is the difference between how they work?




          By the Z80N MUL being a more simple operation and at the same time throwing much more hardware at it?



          The 68k MULU/MULS is implemented in micro code, as adding a hardware multiplier would have enlarged the CPU quite a lot.



          The Spectrum Next is build using an Xilinx Spartan-6 FGPA (Type XC6SLX 16), a chip with SEVERAL TEN THOUSAND TIMES or maybe even more than HUNDRED THOUSAND TIMES (depending if the RAM is counted) the transistor count of an 68000 (which itself is already about 7 to 8 times as much as the original Z80). Easy to offer 8x8 bit hardware multipliers with a monster like that.



          In fact, it's safe to assume that it could be way faster than the 8 T-States, as these seam to be in line with the RMW nature of the instruction. All to make them work out in a comparable relative timing as the real Z80. Given the hardware such an FPGA provides, eZ80 like timing or even lower can be easy archived - ofc, this would make it hard to slow it down to play timing dependant games from a real Spectrum :))



          Bottom line: It's simply the result of 40 years of Moore's Law.






          share|improve this answer




















          • 1





            I'm pretty sure MULU and MULS are available only in 16x16 form on the original 68000. The 32-bit forms are from the 68020 onwards. I wish I had more to contribute than this, but you've covered everything else comprehensively as ever.

            – Tommy
            7 hours ago











          • In fact the z80n multiply can complete in a single 28MHz cycle which is the top clock speed in the system. The 8T time is solely due to the opcode fetch of two bytes which must take that amount of time in a z80 system. As already mentioned, it is moore's law in action. When the 68k was made they likely did not want to spend a lot of space on a single cycle hardware multiply and instead performed the operation as a sequence of steps using less hardware which took more time.

            – aralbrec
            2 hours ago











          • While the spartan 6 likely has (at an educated guess) 15000 times as many transistors as a 68k, it's not true the transistor count is directly comparable. In an fpga, the transistors are used to implement a generic logic fabric as well as hold configuration information in sram cells, control routing with pass transistors, and so on. In short a lot of transistors are not being applied to directly implement the logic. Because the logic is generic, only a fraction of the logic is actually useful in a completed design.

            – aralbrec
            33 mins ago













          8












          8








          8








          The MC68000 can take up to 70 clock cycles to multiply.



          The ZX Spectrum Next's Z80N has a "mul de" instruction that always takes 8 T-States.




          It's 'only' an unsigned 8x8 multiplication, as the 8 bit registers D and E will be multiplied and the 16 bit Result stored in DE, while the 68k multiplications (MULS being the signed version) is a 32x32 multiplication.




          How does it do that? What is the difference between how they work?




          By the Z80N MUL being a more simple operation and at the same time throwing much more hardware at it?



          The 68k MULU/MULS is implemented in micro code, as adding a hardware multiplier would have enlarged the CPU quite a lot.



          The Spectrum Next is build using an Xilinx Spartan-6 FGPA (Type XC6SLX 16), a chip with SEVERAL TEN THOUSAND TIMES or maybe even more than HUNDRED THOUSAND TIMES (depending if the RAM is counted) the transistor count of an 68000 (which itself is already about 7 to 8 times as much as the original Z80). Easy to offer 8x8 bit hardware multipliers with a monster like that.



          In fact, it's safe to assume that it could be way faster than the 8 T-States, as these seam to be in line with the RMW nature of the instruction. All to make them work out in a comparable relative timing as the real Z80. Given the hardware such an FPGA provides, eZ80 like timing or even lower can be easy archived - ofc, this would make it hard to slow it down to play timing dependant games from a real Spectrum :))



          Bottom line: It's simply the result of 40 years of Moore's Law.






          share|improve this answer
















          The MC68000 can take up to 70 clock cycles to multiply.



          The ZX Spectrum Next's Z80N has a "mul de" instruction that always takes 8 T-States.




          It's 'only' an unsigned 8x8 multiplication, as the 8 bit registers D and E will be multiplied and the 16 bit Result stored in DE, while the 68k multiplications (MULS being the signed version) is a 32x32 multiplication.




          How does it do that? What is the difference between how they work?




          By the Z80N MUL being a more simple operation and at the same time throwing much more hardware at it?



          The 68k MULU/MULS is implemented in micro code, as adding a hardware multiplier would have enlarged the CPU quite a lot.



          The Spectrum Next is build using an Xilinx Spartan-6 FGPA (Type XC6SLX 16), a chip with SEVERAL TEN THOUSAND TIMES or maybe even more than HUNDRED THOUSAND TIMES (depending if the RAM is counted) the transistor count of an 68000 (which itself is already about 7 to 8 times as much as the original Z80). Easy to offer 8x8 bit hardware multipliers with a monster like that.



          In fact, it's safe to assume that it could be way faster than the 8 T-States, as these seam to be in line with the RMW nature of the instruction. All to make them work out in a comparable relative timing as the real Z80. Given the hardware such an FPGA provides, eZ80 like timing or even lower can be easy archived - ofc, this would make it hard to slow it down to play timing dependant games from a real Spectrum :))



          Bottom line: It's simply the result of 40 years of Moore's Law.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 8 hours ago

























          answered 8 hours ago









          RaffzahnRaffzahn

          59.5k6147245




          59.5k6147245







          • 1





            I'm pretty sure MULU and MULS are available only in 16x16 form on the original 68000. The 32-bit forms are from the 68020 onwards. I wish I had more to contribute than this, but you've covered everything else comprehensively as ever.

            – Tommy
            7 hours ago











          • In fact the z80n multiply can complete in a single 28MHz cycle which is the top clock speed in the system. The 8T time is solely due to the opcode fetch of two bytes which must take that amount of time in a z80 system. As already mentioned, it is moore's law in action. When the 68k was made they likely did not want to spend a lot of space on a single cycle hardware multiply and instead performed the operation as a sequence of steps using less hardware which took more time.

            – aralbrec
            2 hours ago











          • While the spartan 6 likely has (at an educated guess) 15000 times as many transistors as a 68k, it's not true the transistor count is directly comparable. In an fpga, the transistors are used to implement a generic logic fabric as well as hold configuration information in sram cells, control routing with pass transistors, and so on. In short a lot of transistors are not being applied to directly implement the logic. Because the logic is generic, only a fraction of the logic is actually useful in a completed design.

            – aralbrec
            33 mins ago












          • 1





            I'm pretty sure MULU and MULS are available only in 16x16 form on the original 68000. The 32-bit forms are from the 68020 onwards. I wish I had more to contribute than this, but you've covered everything else comprehensively as ever.

            – Tommy
            7 hours ago











          • In fact the z80n multiply can complete in a single 28MHz cycle which is the top clock speed in the system. The 8T time is solely due to the opcode fetch of two bytes which must take that amount of time in a z80 system. As already mentioned, it is moore's law in action. When the 68k was made they likely did not want to spend a lot of space on a single cycle hardware multiply and instead performed the operation as a sequence of steps using less hardware which took more time.

            – aralbrec
            2 hours ago











          • While the spartan 6 likely has (at an educated guess) 15000 times as many transistors as a 68k, it's not true the transistor count is directly comparable. In an fpga, the transistors are used to implement a generic logic fabric as well as hold configuration information in sram cells, control routing with pass transistors, and so on. In short a lot of transistors are not being applied to directly implement the logic. Because the logic is generic, only a fraction of the logic is actually useful in a completed design.

            – aralbrec
            33 mins ago







          1




          1





          I'm pretty sure MULU and MULS are available only in 16x16 form on the original 68000. The 32-bit forms are from the 68020 onwards. I wish I had more to contribute than this, but you've covered everything else comprehensively as ever.

          – Tommy
          7 hours ago





          I'm pretty sure MULU and MULS are available only in 16x16 form on the original 68000. The 32-bit forms are from the 68020 onwards. I wish I had more to contribute than this, but you've covered everything else comprehensively as ever.

          – Tommy
          7 hours ago













          In fact the z80n multiply can complete in a single 28MHz cycle which is the top clock speed in the system. The 8T time is solely due to the opcode fetch of two bytes which must take that amount of time in a z80 system. As already mentioned, it is moore's law in action. When the 68k was made they likely did not want to spend a lot of space on a single cycle hardware multiply and instead performed the operation as a sequence of steps using less hardware which took more time.

          – aralbrec
          2 hours ago





          In fact the z80n multiply can complete in a single 28MHz cycle which is the top clock speed in the system. The 8T time is solely due to the opcode fetch of two bytes which must take that amount of time in a z80 system. As already mentioned, it is moore's law in action. When the 68k was made they likely did not want to spend a lot of space on a single cycle hardware multiply and instead performed the operation as a sequence of steps using less hardware which took more time.

          – aralbrec
          2 hours ago













          While the spartan 6 likely has (at an educated guess) 15000 times as many transistors as a 68k, it's not true the transistor count is directly comparable. In an fpga, the transistors are used to implement a generic logic fabric as well as hold configuration information in sram cells, control routing with pass transistors, and so on. In short a lot of transistors are not being applied to directly implement the logic. Because the logic is generic, only a fraction of the logic is actually useful in a completed design.

          – aralbrec
          33 mins ago





          While the spartan 6 likely has (at an educated guess) 15000 times as many transistors as a 68k, it's not true the transistor count is directly comparable. In an fpga, the transistors are used to implement a generic logic fabric as well as hold configuration information in sram cells, control routing with pass transistors, and so on. In short a lot of transistors are not being applied to directly implement the logic. Because the logic is generic, only a fraction of the logic is actually useful in a completed design.

          – aralbrec
          33 mins ago










          intrepidis is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          intrepidis is a new contributor. Be nice, and check out our Code of Conduct.












          intrepidis is a new contributor. Be nice, and check out our Code of Conduct.











          intrepidis is a new contributor. Be nice, and check out our Code of Conduct.














          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%2f11188%2fz80n-multiply-compared-to-mc68000%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

          Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

          Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

          Ласкавець круглолистий Зміст Опис | Поширення | Галерея | Примітки | Посилання | Навігаційне меню58171138361-22960890446Bupleurum rotundifoliumEuro+Med PlantbasePlants of the World Online — Kew ScienceGermplasm Resources Information Network (GRIN)Ласкавецькн. VI : Літери Ком — Левиправивши або дописавши її