Browse Prior Art Database

Banked Memory Using a Single ROM

IP.com Disclosure Number: IPCOM000123948D
Original Publication Date: 1999-Aug-01
Included in the Prior Art Database: 2005-Apr-05
Document File: 1 page(s) / 49K

Publishing Venue

IBM

Related People

Blair, BE: AUTHOR

Abstract

Described is a technique which allows a processor with a 16 bit address bus to expand program memory beyond the normal 64K byte limit while requiring only one ROM (read only memory) and a very simple address decode circuit.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 66% of the total text.

Banked Memory Using a Single ROM

   Described is a technique which allows a processor with a
16 bit address bus to expand program memory beyond the normal 64K
byte limit while requiring only one ROM (read only memory) and a very
simple address decode circuit.

   To increase past 64K a technique called "banking" must be
used.  The A15 address line from the processor that is normally
connected to the memory module is instead used an an enable line for
banked memory operation.  When A15 = 0 the processor is operating in
base memory - the first addressable section of memory in the ROM.

   When A15 = 1 the processor is operating in banked memory
and the general purpose lines called A16 and A17 from the processor
are mapped to inputs AA15 and AA16 on the ROM.  The mapping circuit
is represented by the following Boolean equations:
  A15 AND A16 = AA15       A15 AND A17 = AA16

   This technique translates the program execution address to
a different physical address in the ROM.  This way there is no blank
space in the ROM as the base memory and the banks are contiguous in
memory.  The following address maps correspond to the program
execution addresses and the physical addresses respectively:
     Program Execution Addresses
         base   addresses = 00000 -> 07FFF
         bank 1 addresses = 18000 -> 1FFFF
         bank 2 addresses = 28000 -> 2FFFF
         bank 3 addresses = 38000 -> 3FFFF
    Physical ROM Addresses
 ...