Think #44
18 марта 2000
  Железо  

Iron - A computer's memory.

<b>Iron</b> - 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:

From the Author - News from FIDO ...

Overview of new products - Rules of the Road (demo), Gift for Diver.

Hackers - On the programming VG93.

Iron - A computer's memory.

RU.ANOMALIA - For fans of LO.

WANTED - Searching software ...

Advertising - Advertisements and announcements ...


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
Comics - part one.
Tusovka - Humor.
Tusovka - Rave On, and Techno hangouts ...

В этот день...   28 April