Think #44
18 марта 2000 |
|
Iron - A computer's memory.
Iron ... ... (2:5062 / 17.85) ZX.SPECTRUM From: Kirill Frolov 2:5030 / 827.2 Subject: Memory Spectrum. It has long been thought that more needed to Spectrum powerful management tool for addressing memory above 64 Kbytes. Try to explain why. Z80 processor without additional logic can not address more than 64K, the point that the Z80 when addressing memory using 16-bit registers, PC, HL, BC, DE, SP, IR (IV), IX, IY. And the problem it in registers, rather than bus width address this fact is worth noting. Bit registers, pointers can not address the longer 64-kb continuous data. In the original Spectrum-128 to increase the available processor memory was made access to multiple memory banks through a window in the top address CPU C000 .. FFFF. Processor could obraschatsya while only one of Banks destupnyh only through this window, This limited the amount of time addressable continuous data located in banked memory in the 16K. Throughout the rest of the memory was available 48Kb contiguous memory, but it's only ~ 30% of the all memory. In the process of further development ZX-SPECTRUM in the vast amount of ex-USSR RAM ZX-SPECTRUM constantly growing at the moment has reached the average 512kb. The maximum amount of RAM mass-produced computers up to 4MB. Moreover, almost All computers have retained a way of addressing Large memory of 64 KB a-like and used in spectrum-128. Memory is only connected through one window in the address C000 .. FFFF banks of 16K. But if spectrum-128 volume of banked memory more than 3 times higher than the rest of the amount of contiguous memory, the existing now, spectrum-compatible computers amount of contiguous memory is sometimes less than 5% ot memory accessible only through window. With a total memory 1Mb efficient work is possible only with the 16K continuous data. And because of that there is only one window to access additional memory substantially hindered transfer of data between different memory banks. Memory usage in modern spectrum-compatible computers was Inefficient! Initially the question, what Spectrum needed for more effective memory has been difficult. Were different options, but everything comes down or the relative complexity of the scheme or its inefficiency, due to its simplicity. Option proposed by Ivan Mack also did not liked, too, because of the complexity of the circuit and a large number of chips used. Yes, and more exotic 1533IR26 that easy to get to Peter, but nearly impossible in the outback. The idea has prompted just got into the hands of Chip 61256 ... Here is a scheme in the version on which I have so far stopped. Signals A12 .. A15 and the D0 .. D7 taken directly from the processor. Are not used all of the addresses of 32 kilobytes of memory 61256, possibly adding new features and ways of working memory. For example you can add a junior address and alleviate some of the processor work with the Spectrum screen. Scheme in the gland has not been tested yet is a matter of choosing the control port available for reads and writes and conflicts with other devices computer. There are some doubts about connecting signals OE, WE, CS chip 61256. RA12 \ RA13 | RA14 | address bus RA15 \ Memory Upgrade RA16 / multiplexers RA17 | RA18 | RA19 / / EA14 SRAM RA12 EXPANSION | EA15 61256 RA13 Address Bus / EA16 D RA14 7FFD, 1FFD \ EA17 A A RA15 to the MUX. | EA18 DT RA16 \ EA19 D A RA17 R RA18 A12 E RA19 A13 S A14 S A15 MREQ oOE oWR oCS D0>> RA12 D1 AP6 RA13 D2 I O RA14 D3 N U RA15 D4 P T RA16 D5 U P RA17 D6 T U RA18 D7 T RA19 WR.CFG a oDIR RD.CFG oCS LE1 WR.CFG RD.CFG signals and read / write configuration port. Port address is chosen as APPP, where A - the address in RAM configuration, PPP - port address It was originally planned two modes D: Standard for the ZX-SPECTRUM, when banks by 16K in the addresses C000 .. FFFF switch ports xxFD, and expanded when in any place of address Space processor in increments of 4kb can connect any memory bank the size of 4kb, and ports are used for quick xxFD change the configuration memory (preset). The maximum amount of addressable memory one megabyte, which is sufficient for Z80 with a capacity of not more than a few MIPS. Memory over a megabyte can used as a frame-ROM or memory slow access through a window C000 .. FFFF. There are other ways of addressing memory. Chip SRAM 61256 taken of 386 or 486 mateinskoy board IBM-PCs. Typical its speed of 15 ns, which should suffice for normal chip DRAM, but in some well-turbo scorpion or kayah can get the problem :-( Before you start your computer after power necessarily need a Initialization! Need to reflash the ROM, as well provide an opportunity to turn it off for more complete use of address space processor. The practical value of the second mode Addressing large, yet will not go into details. I will write only that approximately such a memory configuration work some uzix-machine. The choice of bank size in 4kb also not accidental: in the operating system to ensure the system interrupt and system calls necessary to leave one permanent bank, as ROM for example. If the amount the bank is big, then the maximum volume continuously addressable memory is reduced, and this is because of what all was started. If the volume small, the costs vozvrastayut time to switch the cans and the maximum amount of banked memory (Now 1Mb). If anyone thinks that this is 4kb small, then I can calm him down - as I wrote above as being able to change the configuration ports xxFD. About uzix I mentioned is no accident, if Who else remembers at the MSX is a system UZIX based on the UZI - UNIX Z80 IMPLEMENTATION. A prerequisite for installation is the possibility swapping process. The system described allows you to make swapping a conclusion in port. Of course you want to be able to The write-protect individual memory banks, but nothing does not occur. If you have an idea - write. Kirill ------- - - - - - - - - - - - - - - - - ------ - -
Other articles:
Similar articles:
В этот день... 21 November