How did the Zip Chip and RocketChip accelerators work for the Apple II?How do accelerators and CPU cards work on the Apple II?Apple IIgs: Hardware implementation of RAM shadowingWere there any “off the shelf” graphics chips that supported 2D sprites in the 70's and 80's?What are the major differences between the ColecoVision and the SG-1000?Is the Apple II “No-Slot Clock” compatible with the Thunderclock?What's the fastest Apple II (sans accelerator card)?How did Apple fail to tap the business and scientific markets?Largest practical motherboard for early computersWhat would happen if the DHR jumper was enabled on a Rev A Apple //e?How did people program for Consoles with multiple CPUs?Were there computers whose text touched( or came close to ) the overscan border?How did 2-chip CPUs work?

Is it possible to have battery technology that can't be duplicated?

Opposite of "Concerto Grosso"?

Why is it bad to use your whole foot in rock climbing

How effective would a full set of plate armor be against wild animals found in temperate regions (bears, snakes, wolves)?

Does WiFi affect the quality of images downloaded from the internet?

Optimising matrix generation time

Do Veracrypt encrypted volumes have any kind of brute force protection?

Boss making me feel guilty for leaving the company at the end of my internship

How Many Times To Repeat An Event With Known Probability Before It Has Occurred A Number of Times

Was the Lonely Mountain, where Smaug lived, a volcano?

Integrate without expansion?

In The Incredibles 2, why does Screenslaver's name use a pun on something that doesn't exist in the 1950s pastiche?

Fastest way from 10 to 1 with everyone in between

Is it ethical to cite a reviewer's papers even if they are rather irrelevant?

Given a bit string of length 20, how many ways can such a string be generated if either all 0's or all 1's need to be grouped together in the string?

Why not make one big cpu core?

New Site Design!

How to represent jealousy in a cute way?

Any gotchas in buying second-hand sanitary ware?

How can I detect if I'm in a subshell?

Why is gun control associated with the socially liberal Democratic party?

I received a gift from my sister who just got back from

Is there a term for someone whose preferred policies are a mix of Left and Right?

Will users know a CardView is clickable



How did the Zip Chip and RocketChip accelerators work for the Apple II?


How do accelerators and CPU cards work on the Apple II?Apple IIgs: Hardware implementation of RAM shadowingWere there any “off the shelf” graphics chips that supported 2D sprites in the 70's and 80's?What are the major differences between the ColecoVision and the SG-1000?Is the Apple II “No-Slot Clock” compatible with the Thunderclock?What's the fastest Apple II (sans accelerator card)?How did Apple fail to tap the business and scientific markets?Largest practical motherboard for early computersWhat would happen if the DHR jumper was enabled on a Rev A Apple //e?How did people program for Consoles with multiple CPUs?Were there computers whose text touched( or came close to ) the overscan border?How did 2-chip CPUs work?













9















Though there is already a similar question on the site, this one is more specific to these chips and their technical implementation.



There were two accelerators for the Apple II series that were drop-in replacements for the 6502: The Zip Chip and the RocketChip. Both were apparently similar in architecture as the RC was produced by people who left Zip, but sold a product that ran 25% faster (5MHz/10MHz versus 4MHz/8MHz).



I'm curious how these chips actually worked. Similarities that I'm aware of are that:



  1. They both maintain their own internal clock; the mainboard is not modified in this regard.

  2. They utilize some caching technology; I don't believe they mirror main RAM like some accelerators (e.g. Titan and TransWarp, from what I understand).

  3. They are aware of memory addresses that require slowdowns to stock 1MHz speeds (e.g. slot 6 for 5.25" floppy access, though these were configurable).

What I'm curious about is if it was simply a faster clock cadence with a MMU to know where to slow down? What about speed of RAM on the motherboard? Was the video "interrupt" simply pulling the /RDY line as per a motherboard clock and thus the speed of the actual CPU didn't matter?



Any details would be appreciated. I always felt that I had a good understanding of how it worked, but lately I've been curious if there were actual technical implementation notes to be found anywhere.










share|improve this question


























    9















    Though there is already a similar question on the site, this one is more specific to these chips and their technical implementation.



    There were two accelerators for the Apple II series that were drop-in replacements for the 6502: The Zip Chip and the RocketChip. Both were apparently similar in architecture as the RC was produced by people who left Zip, but sold a product that ran 25% faster (5MHz/10MHz versus 4MHz/8MHz).



    I'm curious how these chips actually worked. Similarities that I'm aware of are that:



    1. They both maintain their own internal clock; the mainboard is not modified in this regard.

    2. They utilize some caching technology; I don't believe they mirror main RAM like some accelerators (e.g. Titan and TransWarp, from what I understand).

    3. They are aware of memory addresses that require slowdowns to stock 1MHz speeds (e.g. slot 6 for 5.25" floppy access, though these were configurable).

    What I'm curious about is if it was simply a faster clock cadence with a MMU to know where to slow down? What about speed of RAM on the motherboard? Was the video "interrupt" simply pulling the /RDY line as per a motherboard clock and thus the speed of the actual CPU didn't matter?



    Any details would be appreciated. I always felt that I had a good understanding of how it worked, but lately I've been curious if there were actual technical implementation notes to be found anywhere.










    share|improve this question
























      9












      9








      9


      1






      Though there is already a similar question on the site, this one is more specific to these chips and their technical implementation.



      There were two accelerators for the Apple II series that were drop-in replacements for the 6502: The Zip Chip and the RocketChip. Both were apparently similar in architecture as the RC was produced by people who left Zip, but sold a product that ran 25% faster (5MHz/10MHz versus 4MHz/8MHz).



      I'm curious how these chips actually worked. Similarities that I'm aware of are that:



      1. They both maintain their own internal clock; the mainboard is not modified in this regard.

      2. They utilize some caching technology; I don't believe they mirror main RAM like some accelerators (e.g. Titan and TransWarp, from what I understand).

      3. They are aware of memory addresses that require slowdowns to stock 1MHz speeds (e.g. slot 6 for 5.25" floppy access, though these were configurable).

      What I'm curious about is if it was simply a faster clock cadence with a MMU to know where to slow down? What about speed of RAM on the motherboard? Was the video "interrupt" simply pulling the /RDY line as per a motherboard clock and thus the speed of the actual CPU didn't matter?



      Any details would be appreciated. I always felt that I had a good understanding of how it worked, but lately I've been curious if there were actual technical implementation notes to be found anywhere.










      share|improve this question














      Though there is already a similar question on the site, this one is more specific to these chips and their technical implementation.



      There were two accelerators for the Apple II series that were drop-in replacements for the 6502: The Zip Chip and the RocketChip. Both were apparently similar in architecture as the RC was produced by people who left Zip, but sold a product that ran 25% faster (5MHz/10MHz versus 4MHz/8MHz).



      I'm curious how these chips actually worked. Similarities that I'm aware of are that:



      1. They both maintain their own internal clock; the mainboard is not modified in this regard.

      2. They utilize some caching technology; I don't believe they mirror main RAM like some accelerators (e.g. Titan and TransWarp, from what I understand).

      3. They are aware of memory addresses that require slowdowns to stock 1MHz speeds (e.g. slot 6 for 5.25" floppy access, though these were configurable).

      What I'm curious about is if it was simply a faster clock cadence with a MMU to know where to slow down? What about speed of RAM on the motherboard? Was the video "interrupt" simply pulling the /RDY line as per a motherboard clock and thus the speed of the actual CPU didn't matter?



      Any details would be appreciated. I always felt that I had a good understanding of how it worked, but lately I've been curious if there were actual technical implementation notes to be found anywhere.







      hardware apple-ii cpu






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked May 29 at 17:16









      bjbbjb

      5,7471672




      5,7471672




















          1 Answer
          1






          active

          oldest

          votes


















          11















          I'm curious how these chips actually worked. Similarities [...]




          They are so similar, that Zip Technologies even won the case against Rocket-Chips manufacturer Bits & Pieces. Just, the manual doesn't tell a lot about the inner workings. Only that it's a "technological marvel" with the equivalent of "350 integrated logic chips" and "hundrets of tiny gold wires connecting all of the internal parts"




          What I'm curious about is if it was simply a faster clock cadence with a MMU to know where to slow down?




          That wouldn't bring much, as most 6502 cycles are memory cycles, so no speed up without any cache.



          In case of Zip/Rocket-Chip it has been an 8 KiB tagged cache realized with two 6264 (alike) RAM chips. One as 8 KiB Cache, the other providing a tag byte for each location.



          Easy to see when looking at the last page of the IIc+ schematics. Apple licenced the Zip-Chip for the IIc+, but changed the design to use standard, of the shelf, RAMs, putting all logic into a gate array.




          What about speed of RAM on the motherboard?




          Stayed as before. Every access was synced and slowed down to motherboard speed. The speedup was only as long as data was read and the data to be read was within the cache.



          The hardware was basically (*1) an 8 KiB RAM storing bytewise data plus an equally sized tag RAM. 8 KiB means 13 bit address. So the tag RAM stored the upper 3 bit of any address plus a flag if the data is valid or not.



          The handling logic was rather straight forward cache implementation.



          • Address presented during a cycle (*2) checked against exclusions.

            • If it was an excluded address (slowed down) the CPU was synced with main RAM and the access was performed

            • If not, direction was checked

              • If it was a write the CPU was synchronized and data was written into main RAM and cache at the same time, as well as A13..A15 into tag RAM.

              • If it was a read, the tag RAM was checked at the corresponding address (A0..A12)

              • If the tag fitted (A13..A15 equal and valid) the entry was handed to the CPU, cycle finished at set speed (4 MHz).

              • On non-fit, the CPU was synchronized and slowed, data was read from RAM simultaneous to CPU and cache, tag is updated.



          Done.



          As a result worst case is a CPU fully synchronized with main memory, effectively running at 1 MHz. Whenever a byte gets used twice a speedup may happen - i.e. as soon as more than one consecutive memory access (like executing a two byte instruction) happens. Any code will run during first pass at 1 MHz and later at up to 4 MHz



          Speedup resulted mostly from the fact that vast majority of all memory cycles a 6502 issues are for reading code and code is usually repeated. Data is even in best case (only ZP access) below 1/3rd - in real situations it'll considerable less than 20%. More of 2/3rd thereof usually read cycles, resulting in less than 10% of all cycles being writes.



          So as long as the majority of executed code (and often used data) fits into 8 Kib (*3), speedup will be quite close to the speed selected (4 MHz). For most software it will work much like shadowing on an Apple IIgs. A bit slower on first execution but speed up wenn the cache is loaded - and slowed for any writes.




          Was the video "interrupt" simply pulling the /RDY line as per a motherboard clock and thus the speed of the actual CPU didn't matter?




          Video did run from the motherboard memory (during the second half, as before).




          *1 - This will be very basic, not going into each detail.



          *2 - Each and every cycle on a 6502 is a memory cycle.



          *3 - doesn't have much aliasing issues.






          share|improve this answer

























          • Pedantry: Every 6502 cycle is a memory cycle (it may, however, not be useful).

            – Tom Hawtin - tackline
            2 days ago











          • @TomHawtin-tackline Since this is not about instruction execution but memory cycles, the add on would be itself quite useless, wouldn't it? Lets keep focused.

            – Raffzahn
            2 days 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%2f11149%2fhow-did-the-zip-chip-and-rocketchip-accelerators-work-for-the-apple-ii%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









          11















          I'm curious how these chips actually worked. Similarities [...]




          They are so similar, that Zip Technologies even won the case against Rocket-Chips manufacturer Bits & Pieces. Just, the manual doesn't tell a lot about the inner workings. Only that it's a "technological marvel" with the equivalent of "350 integrated logic chips" and "hundrets of tiny gold wires connecting all of the internal parts"




          What I'm curious about is if it was simply a faster clock cadence with a MMU to know where to slow down?




          That wouldn't bring much, as most 6502 cycles are memory cycles, so no speed up without any cache.



          In case of Zip/Rocket-Chip it has been an 8 KiB tagged cache realized with two 6264 (alike) RAM chips. One as 8 KiB Cache, the other providing a tag byte for each location.



          Easy to see when looking at the last page of the IIc+ schematics. Apple licenced the Zip-Chip for the IIc+, but changed the design to use standard, of the shelf, RAMs, putting all logic into a gate array.




          What about speed of RAM on the motherboard?




          Stayed as before. Every access was synced and slowed down to motherboard speed. The speedup was only as long as data was read and the data to be read was within the cache.



          The hardware was basically (*1) an 8 KiB RAM storing bytewise data plus an equally sized tag RAM. 8 KiB means 13 bit address. So the tag RAM stored the upper 3 bit of any address plus a flag if the data is valid or not.



          The handling logic was rather straight forward cache implementation.



          • Address presented during a cycle (*2) checked against exclusions.

            • If it was an excluded address (slowed down) the CPU was synced with main RAM and the access was performed

            • If not, direction was checked

              • If it was a write the CPU was synchronized and data was written into main RAM and cache at the same time, as well as A13..A15 into tag RAM.

              • If it was a read, the tag RAM was checked at the corresponding address (A0..A12)

              • If the tag fitted (A13..A15 equal and valid) the entry was handed to the CPU, cycle finished at set speed (4 MHz).

              • On non-fit, the CPU was synchronized and slowed, data was read from RAM simultaneous to CPU and cache, tag is updated.



          Done.



          As a result worst case is a CPU fully synchronized with main memory, effectively running at 1 MHz. Whenever a byte gets used twice a speedup may happen - i.e. as soon as more than one consecutive memory access (like executing a two byte instruction) happens. Any code will run during first pass at 1 MHz and later at up to 4 MHz



          Speedup resulted mostly from the fact that vast majority of all memory cycles a 6502 issues are for reading code and code is usually repeated. Data is even in best case (only ZP access) below 1/3rd - in real situations it'll considerable less than 20%. More of 2/3rd thereof usually read cycles, resulting in less than 10% of all cycles being writes.



          So as long as the majority of executed code (and often used data) fits into 8 Kib (*3), speedup will be quite close to the speed selected (4 MHz). For most software it will work much like shadowing on an Apple IIgs. A bit slower on first execution but speed up wenn the cache is loaded - and slowed for any writes.




          Was the video "interrupt" simply pulling the /RDY line as per a motherboard clock and thus the speed of the actual CPU didn't matter?




          Video did run from the motherboard memory (during the second half, as before).




          *1 - This will be very basic, not going into each detail.



          *2 - Each and every cycle on a 6502 is a memory cycle.



          *3 - doesn't have much aliasing issues.






          share|improve this answer

























          • Pedantry: Every 6502 cycle is a memory cycle (it may, however, not be useful).

            – Tom Hawtin - tackline
            2 days ago











          • @TomHawtin-tackline Since this is not about instruction execution but memory cycles, the add on would be itself quite useless, wouldn't it? Lets keep focused.

            – Raffzahn
            2 days ago















          11















          I'm curious how these chips actually worked. Similarities [...]




          They are so similar, that Zip Technologies even won the case against Rocket-Chips manufacturer Bits & Pieces. Just, the manual doesn't tell a lot about the inner workings. Only that it's a "technological marvel" with the equivalent of "350 integrated logic chips" and "hundrets of tiny gold wires connecting all of the internal parts"




          What I'm curious about is if it was simply a faster clock cadence with a MMU to know where to slow down?




          That wouldn't bring much, as most 6502 cycles are memory cycles, so no speed up without any cache.



          In case of Zip/Rocket-Chip it has been an 8 KiB tagged cache realized with two 6264 (alike) RAM chips. One as 8 KiB Cache, the other providing a tag byte for each location.



          Easy to see when looking at the last page of the IIc+ schematics. Apple licenced the Zip-Chip for the IIc+, but changed the design to use standard, of the shelf, RAMs, putting all logic into a gate array.




          What about speed of RAM on the motherboard?




          Stayed as before. Every access was synced and slowed down to motherboard speed. The speedup was only as long as data was read and the data to be read was within the cache.



          The hardware was basically (*1) an 8 KiB RAM storing bytewise data plus an equally sized tag RAM. 8 KiB means 13 bit address. So the tag RAM stored the upper 3 bit of any address plus a flag if the data is valid or not.



          The handling logic was rather straight forward cache implementation.



          • Address presented during a cycle (*2) checked against exclusions.

            • If it was an excluded address (slowed down) the CPU was synced with main RAM and the access was performed

            • If not, direction was checked

              • If it was a write the CPU was synchronized and data was written into main RAM and cache at the same time, as well as A13..A15 into tag RAM.

              • If it was a read, the tag RAM was checked at the corresponding address (A0..A12)

              • If the tag fitted (A13..A15 equal and valid) the entry was handed to the CPU, cycle finished at set speed (4 MHz).

              • On non-fit, the CPU was synchronized and slowed, data was read from RAM simultaneous to CPU and cache, tag is updated.



          Done.



          As a result worst case is a CPU fully synchronized with main memory, effectively running at 1 MHz. Whenever a byte gets used twice a speedup may happen - i.e. as soon as more than one consecutive memory access (like executing a two byte instruction) happens. Any code will run during first pass at 1 MHz and later at up to 4 MHz



          Speedup resulted mostly from the fact that vast majority of all memory cycles a 6502 issues are for reading code and code is usually repeated. Data is even in best case (only ZP access) below 1/3rd - in real situations it'll considerable less than 20%. More of 2/3rd thereof usually read cycles, resulting in less than 10% of all cycles being writes.



          So as long as the majority of executed code (and often used data) fits into 8 Kib (*3), speedup will be quite close to the speed selected (4 MHz). For most software it will work much like shadowing on an Apple IIgs. A bit slower on first execution but speed up wenn the cache is loaded - and slowed for any writes.




          Was the video "interrupt" simply pulling the /RDY line as per a motherboard clock and thus the speed of the actual CPU didn't matter?




          Video did run from the motherboard memory (during the second half, as before).




          *1 - This will be very basic, not going into each detail.



          *2 - Each and every cycle on a 6502 is a memory cycle.



          *3 - doesn't have much aliasing issues.






          share|improve this answer

























          • Pedantry: Every 6502 cycle is a memory cycle (it may, however, not be useful).

            – Tom Hawtin - tackline
            2 days ago











          • @TomHawtin-tackline Since this is not about instruction execution but memory cycles, the add on would be itself quite useless, wouldn't it? Lets keep focused.

            – Raffzahn
            2 days ago













          11












          11








          11








          I'm curious how these chips actually worked. Similarities [...]




          They are so similar, that Zip Technologies even won the case against Rocket-Chips manufacturer Bits & Pieces. Just, the manual doesn't tell a lot about the inner workings. Only that it's a "technological marvel" with the equivalent of "350 integrated logic chips" and "hundrets of tiny gold wires connecting all of the internal parts"




          What I'm curious about is if it was simply a faster clock cadence with a MMU to know where to slow down?




          That wouldn't bring much, as most 6502 cycles are memory cycles, so no speed up without any cache.



          In case of Zip/Rocket-Chip it has been an 8 KiB tagged cache realized with two 6264 (alike) RAM chips. One as 8 KiB Cache, the other providing a tag byte for each location.



          Easy to see when looking at the last page of the IIc+ schematics. Apple licenced the Zip-Chip for the IIc+, but changed the design to use standard, of the shelf, RAMs, putting all logic into a gate array.




          What about speed of RAM on the motherboard?




          Stayed as before. Every access was synced and slowed down to motherboard speed. The speedup was only as long as data was read and the data to be read was within the cache.



          The hardware was basically (*1) an 8 KiB RAM storing bytewise data plus an equally sized tag RAM. 8 KiB means 13 bit address. So the tag RAM stored the upper 3 bit of any address plus a flag if the data is valid or not.



          The handling logic was rather straight forward cache implementation.



          • Address presented during a cycle (*2) checked against exclusions.

            • If it was an excluded address (slowed down) the CPU was synced with main RAM and the access was performed

            • If not, direction was checked

              • If it was a write the CPU was synchronized and data was written into main RAM and cache at the same time, as well as A13..A15 into tag RAM.

              • If it was a read, the tag RAM was checked at the corresponding address (A0..A12)

              • If the tag fitted (A13..A15 equal and valid) the entry was handed to the CPU, cycle finished at set speed (4 MHz).

              • On non-fit, the CPU was synchronized and slowed, data was read from RAM simultaneous to CPU and cache, tag is updated.



          Done.



          As a result worst case is a CPU fully synchronized with main memory, effectively running at 1 MHz. Whenever a byte gets used twice a speedup may happen - i.e. as soon as more than one consecutive memory access (like executing a two byte instruction) happens. Any code will run during first pass at 1 MHz and later at up to 4 MHz



          Speedup resulted mostly from the fact that vast majority of all memory cycles a 6502 issues are for reading code and code is usually repeated. Data is even in best case (only ZP access) below 1/3rd - in real situations it'll considerable less than 20%. More of 2/3rd thereof usually read cycles, resulting in less than 10% of all cycles being writes.



          So as long as the majority of executed code (and often used data) fits into 8 Kib (*3), speedup will be quite close to the speed selected (4 MHz). For most software it will work much like shadowing on an Apple IIgs. A bit slower on first execution but speed up wenn the cache is loaded - and slowed for any writes.




          Was the video "interrupt" simply pulling the /RDY line as per a motherboard clock and thus the speed of the actual CPU didn't matter?




          Video did run from the motherboard memory (during the second half, as before).




          *1 - This will be very basic, not going into each detail.



          *2 - Each and every cycle on a 6502 is a memory cycle.



          *3 - doesn't have much aliasing issues.






          share|improve this answer
















          I'm curious how these chips actually worked. Similarities [...]




          They are so similar, that Zip Technologies even won the case against Rocket-Chips manufacturer Bits & Pieces. Just, the manual doesn't tell a lot about the inner workings. Only that it's a "technological marvel" with the equivalent of "350 integrated logic chips" and "hundrets of tiny gold wires connecting all of the internal parts"




          What I'm curious about is if it was simply a faster clock cadence with a MMU to know where to slow down?




          That wouldn't bring much, as most 6502 cycles are memory cycles, so no speed up without any cache.



          In case of Zip/Rocket-Chip it has been an 8 KiB tagged cache realized with two 6264 (alike) RAM chips. One as 8 KiB Cache, the other providing a tag byte for each location.



          Easy to see when looking at the last page of the IIc+ schematics. Apple licenced the Zip-Chip for the IIc+, but changed the design to use standard, of the shelf, RAMs, putting all logic into a gate array.




          What about speed of RAM on the motherboard?




          Stayed as before. Every access was synced and slowed down to motherboard speed. The speedup was only as long as data was read and the data to be read was within the cache.



          The hardware was basically (*1) an 8 KiB RAM storing bytewise data plus an equally sized tag RAM. 8 KiB means 13 bit address. So the tag RAM stored the upper 3 bit of any address plus a flag if the data is valid or not.



          The handling logic was rather straight forward cache implementation.



          • Address presented during a cycle (*2) checked against exclusions.

            • If it was an excluded address (slowed down) the CPU was synced with main RAM and the access was performed

            • If not, direction was checked

              • If it was a write the CPU was synchronized and data was written into main RAM and cache at the same time, as well as A13..A15 into tag RAM.

              • If it was a read, the tag RAM was checked at the corresponding address (A0..A12)

              • If the tag fitted (A13..A15 equal and valid) the entry was handed to the CPU, cycle finished at set speed (4 MHz).

              • On non-fit, the CPU was synchronized and slowed, data was read from RAM simultaneous to CPU and cache, tag is updated.



          Done.



          As a result worst case is a CPU fully synchronized with main memory, effectively running at 1 MHz. Whenever a byte gets used twice a speedup may happen - i.e. as soon as more than one consecutive memory access (like executing a two byte instruction) happens. Any code will run during first pass at 1 MHz and later at up to 4 MHz



          Speedup resulted mostly from the fact that vast majority of all memory cycles a 6502 issues are for reading code and code is usually repeated. Data is even in best case (only ZP access) below 1/3rd - in real situations it'll considerable less than 20%. More of 2/3rd thereof usually read cycles, resulting in less than 10% of all cycles being writes.



          So as long as the majority of executed code (and often used data) fits into 8 Kib (*3), speedup will be quite close to the speed selected (4 MHz). For most software it will work much like shadowing on an Apple IIgs. A bit slower on first execution but speed up wenn the cache is loaded - and slowed for any writes.




          Was the video "interrupt" simply pulling the /RDY line as per a motherboard clock and thus the speed of the actual CPU didn't matter?




          Video did run from the motherboard memory (during the second half, as before).




          *1 - This will be very basic, not going into each detail.



          *2 - Each and every cycle on a 6502 is a memory cycle.



          *3 - doesn't have much aliasing issues.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited May 30 at 7:25

























          answered May 29 at 18:27









          RaffzahnRaffzahn

          60.7k6148248




          60.7k6148248












          • Pedantry: Every 6502 cycle is a memory cycle (it may, however, not be useful).

            – Tom Hawtin - tackline
            2 days ago











          • @TomHawtin-tackline Since this is not about instruction execution but memory cycles, the add on would be itself quite useless, wouldn't it? Lets keep focused.

            – Raffzahn
            2 days ago

















          • Pedantry: Every 6502 cycle is a memory cycle (it may, however, not be useful).

            – Tom Hawtin - tackline
            2 days ago











          • @TomHawtin-tackline Since this is not about instruction execution but memory cycles, the add on would be itself quite useless, wouldn't it? Lets keep focused.

            – Raffzahn
            2 days ago
















          Pedantry: Every 6502 cycle is a memory cycle (it may, however, not be useful).

          – Tom Hawtin - tackline
          2 days ago





          Pedantry: Every 6502 cycle is a memory cycle (it may, however, not be useful).

          – Tom Hawtin - tackline
          2 days ago













          @TomHawtin-tackline Since this is not about instruction execution but memory cycles, the add on would be itself quite useless, wouldn't it? Lets keep focused.

          – Raffzahn
          2 days ago





          @TomHawtin-tackline Since this is not about instruction execution but memory cycles, the add on would be itself quite useless, wouldn't it? Lets keep focused.

          – Raffzahn
          2 days 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%2f11149%2fhow-did-the-zip-chip-and-rocketchip-accelerators-work-for-the-apple-ii%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

          Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

          Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

          Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070