![]() ![]() This is exactly what the SCSI-Accelerator does. Since the loop illustrated is 6 code bytes long, there is just enough place to replace the loop with a JSR instruction to a patched version of the loop that applies these techniques. By increasing the number of move.b instructions in the loop body, we further decrease the looping overhead, leading to increased performance, but of course, also to more use of memory for the code. The execution time of a NOP is only 4 cycles however, much less than for the DBRA and thus, throughput can be increased even if we need 2 NOPs per move.b. This might be too fast for some hard disks, so it may well be that we have to put one or more NOP instructions between each two move.b instructions. Of course, if we put two moves right next to each other, we get the fastest transfer that is possible (knowing that we do not have a DMA controller). reducing the loop trip count and putting more than a single move.b instruction in the loop body. ![]() In fact, most hard disk can deal with a lot less! Reduction of this “dead” time can be achieved by unfolding the loop, i.e. This is long enough for even the slowest hard disk that Apple anticipated to have the next byte ready. For blind operations, the system only waits for the arrival of the first byte, the rest of them are read in a small loop which looks like this: move.b (a1),(a2)+ĭbra means that after every transfer of a single byte, the Macintosh waits at least the time to execute the DBRA (about 10 cycles) before fetching the next byte. Therefore Apple introduced the “blind” operations. Because of this, the only really safe way to do the I/O is to poll the SCSI chip for the arrival of a new byte each time you need one. When transferring data to or from a SCSI device, there is no support for hardware handshake on the Mac Plus (there is some on the other Macintoshes). In the following discussion we will talk about read operations only, but the discussion applies just as well to write operations. The reason that the performance of these operations can be enhanced is that Apple’s code to do these operations is (and must be) suited to handle a variety of disk types. The accelerator works only on a Mac Plus! It enhances the throughput of I/O operations for so called blind read and write operations. GEnie E-Mail address: “C.Magendanz” From Accelerator.doc, dated JWHAT SCSI-ACCELERATOR IS ALL ABOUT. Make sure to read the “SCSI Accelerator.doc” file to find out how the INIT works, how to install it, and for whom it will be useful. I ask Dolf’s forgiveness for tampering with his work, but without the INIT installed, I found my Mac Plus operating at almost 1/8th of its enhanced speed. In all other ways, the INIT is untouched. ![]() I have updated the INIT to work with System 6.0.x and System 7.0. System 7.0 has left the actual SCSI Manager implemented as a user trap, but relatively untouched in content. In the process, he also added an icon to the INIT, which is only shown when the patch is actually applied. Thus, the INIT was fixed to check for both cases and handle them correctly. With some hacking he found that the patch was still applicable, but that it had to be applied at a different position in the SCSI Manager code. The reason was that the code checked the System’s SCSI Manager code for the occurrence of certain instructions so that it could be sure that it was patching the right thing in the right place. With the arrival of System 6.0.x a Dutchman by the name of Dolf Starreveld found that the INIT no longer installed the patch. However, a few unfortunate but daring individuals quickly discovered that the original INIT was plagued with a nasty bug that lead to much frustration, but inevitably to a quick bug fix that remedied the problem. Many years ago, someone left an INIT on the net that was reported to improve SCSI disk performance considerably. ![]() From the Read Me file, dated June 3, 1991 If you are using System 6.0.8 or earlier, you want to get SCSI Accelerator 2.1. And you may also want to join our System 7 Forum. It’s been a few years, but I believe I had my hard drive interleaved at 2:1 before I put a Brainstorm accelerator in my Mac Plus, 1:1 after that. (In the olden days, before hard drives had buffers, you had to interleave the data sectors in such a way that they didn’t overwhelm the computer’s data bus.)ĭownload SCSI Accelerator 7.0 only if you are using System 7.0 through 7.5.5 on a Mac Plus. As a former Mac Plus owner, I will attest to the fact that they really do work. SCSI Accelerator 7.0 is a set of extensions that work with a Mac Plus running System 7 and allows improved SCSI throughput. ![]()
0 Comments
Leave a Reply. |