CA1181178A - Computer with expanded addressing capability - Google Patents

Computer with expanded addressing capability

Info

Publication number
CA1181178A
CA1181178A CA000405505A CA405505A CA1181178A CA 1181178 A CA1181178 A CA 1181178A CA 000405505 A CA000405505 A CA 000405505A CA 405505 A CA405505 A CA 405505A CA 1181178 A CA1181178 A CA 1181178A
Authority
CA
Canada
Prior art keywords
address
bank
banks
computer
rom
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
CA000405505A
Other languages
French (fr)
Inventor
John S. Forker
Alexander S. Lushtak
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Application granted granted Critical
Publication of CA1181178A publication Critical patent/CA1181178A/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

COMPUTER WITH EXPANDED ADDRESSING CAPABILITY
Abstract A computer system has an addressing capability many times greater than the number of addresses which can be generated by its binary address lines through the use of a plurality of addressable banks (14, 16, 18, 22, 30, 34) (memory, addressable peripherals or addressable system controls) in each of a plurality of different ranges, (II, III, IV) with several different banks in each of said plural address ranges being useable in combination for any given mode of operation or program. Bank selection within any address range is effected within program control by first supplying (1) an address which enables a bank select decoding latch (28), and (2) a data code for selecting the desired bank, whereupon the bank will be latched and en-abled for use in a later normal addressing operation. ROM
banks (14, 16, 18), implemented in monolithic circuit form, are selected by decoder latch outputs (D2, D1, D0) which cause the bank (40) to be energized from a non-energized state, thereby eliminating (13 the need for a separate chip-select terminal, and (2) standby power consumption.
Addressable peripheral equipment and system controls (30, 34) (non-ROM hardware) are mapped in an address range (III) containing ROM banks. Writing to this address range auto-matically goes to the non-ROM hardware since the ROM banks are incapable of receiving data. Reading from the non-ROM
hardware is effected by preselecting non-ROM hardware through the use of specific data codes.

Description

'7~

BACKGROUND--Field of Invention This invention relates to a computer, particularly to a computer having an expanded addressin~ capability.

BACKGROUND--Description of Prior Art Digital computers generally have a limited addressing capahility, i.e~ the capability to generate, write inform-ation to, and read information fromr only up to a given number of memory addresses or locations. For example, in a computer operating on a binary radix (i e. a radix of two) t and having sixteen address lines, the computer can gcnerate up to 65536 addresses on its address lines; these addresses can have any value from 0 to 65535. Each address rnay be a location in a memory or an inpu-t-output (I/O) port whi.eh connects the computer to addressable perlpheral equipment, such as a keyboard, a printer, or a video display terminal.
Each memory location usually consists of eight binary cells which can s-tore a byte ~information word) consisting of eight bits (ONES and ZEROES) of binary information, and each I/O
address can pass eight-bit bytes to and from the computer.

While the capability of addressing 65536 locations, which can eontain 55536 x 8 - 524,288 binary eells, may seem like a relatively large capaeity, in actuality this amount of storage capability is considered relatively limited, even for a small eomputer, and severely limits the program and data handling and storage eapability of the computer and the number of items of peripheral equipment which ean be eonneeted to the eomputer.

It is possible to inerease the addressing capabili.ty of eomputer by providing additional address lines and making eorresponding expansions in its program eounter, instruetion register, deeoder, ete. However, it is diffieult to do so sinee most small eomputers are now formed within a monolithie integrated eireuit (usually termed a microproeessor) and the number of leads or output terminals of the mieroproeessor or "ehip" are limit-d by paekage size. Also. many mieroproeessors have beeome standardized or mass production and there-Fore have relatively low eos~,, so that inereasing addressing eapability requires redesign and eommereial implementation of new and non-standard microprocessors at extremely great expense. Therefore it would be desirable to provide a means of expanding the addressing capability of a computer without increasing the number of its address lines or making other concomitant changes therein.

Heretofore, one method of increasing the address capability has been to provide a memory bank switching capability in which, in a given address range, two different banks of memory are provided. Either bank was selectable in a separate bank-select cycle prior to the regular fetch/
execute cycle. While the use of the bank selection or bank switching concept has been able to expand the addressing capability of a computer beyond its stated capacity, the degree of expansion possible was extremely limited and merely increased memory capacity slightly, such that a slightly longer program or some additional data could be stored. Most of the aforementioned limitations were still extant and the peripheral equipment capacity of the computer was not increased.

In prior bank switching or bank selection techniques, a non-selected memory bank was enabled or switched into an address range by supplying an enabling signal to latch in the memory bank prior to the normal memory read or write operation. Most banks of read-only memories (ROMs) were provided in form of a monolithic integrated circuit (IC) or chip which was packaged in a standard or custom integrated ,i ~.

~ 4~
circuit package having a plurality of -terminals or leads, one of which was the "chip select" or "chip enable" terminal. When this terminal was supplied with an active signal, the chip was "selected" so that it would supply output data in respon~e to an address input.
This method of chip selection was disadvantageous in that it required a separate terminal on the IC where, as stated, the number of available terminals was limited due to size con-figurations. ~lso, the IC consumed power whether it was selected or not. While such power consumption was not excessive, any power consumption, especially for unused circuitry, is wasteful and is especially undesirable in portable devices which are operated from an energy cell where the energy supply capability is relatively limited.
Particularly, the present invention has as its principal object provision of a computer which is capable of expanding the program and data handling and storage capability and the number of items of peripheral equipment without increasing the number of address lines or making other concomitant changes therein.
It is an object of the present invention to provide an improved computer which is capable, in at least one embodiment, of expanding the program and data handling and storage capability without increasing the num.' of address lines or making other concomitant changes therein.
According to the present invention there is provided a computer with an expanded addressing capability comprising: pro-cessor means having an address bus with a plurality of address lines for generating and supplying addresses through said address bus;
a plurality of addressable banks which are divided into a plurality of distinct address ranges, one of said address ranges including a plurality of read-only memory banks, each of which bank is implemented in the form of at least one monolithic integrated circuit having first and second bias supply terminals, said first bias supply terminal being designed to be always connected to a reference potential and said second bias supply terminal being designed to be selectively connected to a biasing potential and said reference potential; and bank preselection means for preselecting any bank of any address range such that if any address is supplied on said address bus of said processor means, it will be effective only at the preselected bank and all other non---5--preselected banks will be inactive and not addressed by said pro-cessor means, said bank preselection means being arranged to cause said second bias supply terminal to be connected to sald biasinq potential when said bank is selected and to be connected to said reference potential when said bank is no-t selected.
An embodiment of the present invention will now be described, by way of example, with reference to -the accompanying drawings in which:
Fig. 1 is a memory map for a computer system in accordance with the embodiment.
Fig. 2 is a block diagram of a computer system with an expanded addressing cap~bility according to the embodiment.
Fig. 3 is a diagram of a ROM chip in accordance with the embodiment.
Fig. 4 is a diagram of RAM bank selection circuitry in accordance with the embodiment.
FIG. 1 -- MEMORY MAP
Fig. 1 is a map of the memory banks and addressable peripherals of a computer in accordance with this embodiment. As indicated at the bottom of the figure, the computer can generate addresses in a spectrum from 0 to 65535 (decimal or radix 10 designation).
Many users designate memory addresses in hexa-decimal form (radix 1~), in which case the first and last addresses would be 0000 and FFFF. However addresses will be designated herein in a decimal radix.
The memory spectrum shown in Fig. 1 is divided in five addressranges designated from Address Range r to Address Range V, as follows:

;.Lt~ .3 Address Range I includes the 8192 addresses from 0 to 8191 and is used ~or system RAM (~ead And write Memory--often referred to as random access memory), i e., -the temporary stora~e of variable data and programs which are worked with and manipulated by the computer. Each address comprises a location which can store one byte (eight bits) of binary data. The RAM usually is pro~ided in the form of several integrated circuit chips which are indicated by -the rectangulax box. The box is heavily outlined to indicate that the system RAM is located within the housing of the computer.

Address Range II includes the 8192 addresses from 8192 to 16383. Range II contains Control ROM, i.e. Read Only Memory or firmware which is programmed to control the communication between various items of peripheral equipment (e.g., keyboards, video display terminals, modems, printers, etc.) and the computer. The Control ROM is an e~panded memory, i.e. instead of one block or bank of memory, up to 256 individual ROM banks, numbered from 0 to 255 as indicated, are provided. Any one of these banks may be made active, such that addresses generated by the compu-ter within Range II will be effective at the active or enabled bank only and all other banks will be inactive and not addressable by the computer. Each of the 256 banks contains its own 8192 locations, so that Range II can have up to 2,097,152 locations. Although the computer can select any of 256 banks as indicated, only several banks were actually implemented in one presently-commercialized portable or 7~

hand-held computer, with provision belng made so that additional banks could be connected as and if the need arose. The Con-trol ROM banks were also provided in the form of integrated eircuits, and these were physically outside the computer housing tindicated by their all being drawn in relatively light rectangles) and within peripheral devices, connected to -the computer's busses.

Address Range III covers the 1638~ addresses from 16384 to 32767. Two types of addressable hardware are provided in Range III: (1) Program and Data ROM for storing fixed data and programs for various applications or tasks which may be performed by the~computer, and (~) I/O Ports for communication with peripherals and system control hardware. Typical peripherals are a printer, a video display adapter, and a modem; typical system control hardware items are a built-in keyboard, liquid crystal display, a low battery sensor, an internal timer, a beeper, etc. The Program and Data ROM is provided in the form of up to 256 banks numbered from 0 to 255 as indicated, and the peripherals and system control hardware are provided as a separate addressable bank, as will be described later. The first three Program and Data ROM banks, as indicated by their heavy outlining (Banks 0, 1, and ~), are provided within the main computer housing and are actually provided in the form of "capsules" or integrated circuits which can be plugged into three respective receptacle recesses in the bottom of the computer. These capsules hold fixed data or programs, such ;IL~Lr~'~3 as a word-processing program, an appointment calendar program, a salesmanls data log and computation program, etc.
As with the banks in Range II~ any of the Program and Data ROM banks physically internal or e~ternal to the computer housing in Range III can be selected to be responsive to addresses genera~ed by ~he computer. Thus Rang~ III can have up to 256 x 16,384 = 4,194,304 locations.

Address Range IV covers the 16384 addresses from 32768 to 49151 and comprises banks of RAM which are numbered from O to 255, as indicated. These RAM banks hold variable information for use by the system, such as commercially-sold programs which can be loaded into one or more banks, variable data files which can be stored and manipulated by -15 the computer, such as prose in a word processing application, accounting figures, etc. The number of loca~ions in, or bytes storable by, each RAM Bank is 16,384, but files longer than this figure can be stored in several adjacent banks. As with Ranges II and III, any bank in Address Range IV can be selected to be responsive to addresses generated within this range by the computer. The RAM Banks are external to the computer housing, as indicated by the absence of heavy outlining.

Lastly, the highest range of addresses, Range ~, from address 49152 to address 65535 (16384 addresses), is provided for System ROM, i.e., programmed memory or firmware which controls the internal operation of the computer. As indicated by the heavy outline, the System ROM is located w ~ ._ 7~

within the computer housiny and only one ban~ is provided, so that no bank selection or sw.itching is possible in Range V.

Through the use of plural address ranges, each having plural banks of memory or peripheral equipment which can be selected, the addressing capability of the computer is multiplied many times beyond its nominal range of 65536 addresses and its versatility is greatly enhanced. For example, the computer can use several banks in severa].
different address areas in any combination to perform tasks, such as working with a peripheral controlled by a ROM in Range II using an application program in Rang~ III and working with data in a RAM in Range IV. Also, the computer can work with many peripherals having their I/O ports in Range III, each controlled by a different ROM in Range II.

FIG. 2- DESC~IPTION OF COMPUTER SYSTEM WITH EXPANDED
ADDRESSING CAPABILITY
A computer system in accordance with the invention is shown in block diagram form in Fig. 2. All standard or conventional components are shown without detail, while circuitry relative to the invention is shown in more detail and details of certain areas of particular interest are expanded in Figs. 3 and 4.

At the heart of the system is a one-chip Mtcroprocessor ... ..

10, type designation MCS6502, and manufactured by Synertek, Mostek, or Rockwell. Details of the 650~ microprocessor are given in various publications, such as the Synertek Hardware Manual, published by Synertek, 3050 Coronado Drive, Santa Clara, CA 95051. Briefly, the 650~ is a forty-pin device which contains an internal oscillator and clock drivers, a sixteen-bit address bus an eight~bit bidirectional data bus, two interrupts, a read/write (R/W) line, a two-phase clock (outputs on lines Phi 1 and Phi 2), other control terminals, and bias voltage terminals. Clock line Phi 2 is the logical inversion of clock line Phi 1.

As indicated by the five output lines shown, only the read/write, address, data, and clock output terminals of microprocessor 10 will be discussed. The address output bus contains sixteen conductors or lines, as indicated, and the data bus contains eight lines, but each of these busses is shown as a single heavy line ior facilitation of illustration. During the first half of the memory cycle, when clock line Phi 1 is high or active~ the address and read/write signals are supplied, and when clock line Phi 2 is high, data transfer takes place.

The System RAM (Address Range I of Fig. 1) is shown at 12 and receives read/write, address, and data inputs, and supplies a data output, as indicated by ~he two arrows on the data line. Also, RAM 12 receives two further address sub-range select signals A and B, as indicated; these leads come from the outputs of Decoder III elsewhere in the --].1--diagram and are not joined to their inputs of RAM 12 for purposes of facilitation of illustration.

The Control Banks in Address Ranye II of Fig. I are shown at 14 in Fig. 2 and, as indicated in bo-th figures, consist of 256 banks designated 0 to 255. The Control Banks have bank selection Latches 16. Banks 14 contain ROM (for peripheral control software) and some banks also contain RAM
(for peripheral buffers and variable data). Banks 14 receive 10 address and read/write inputs and supply data ou-tput. Also, Banks 14 receive a control bank select input from Decoder ~I elsewhere in Fig. 2. When one of Banks 14 is preselected as discussed below, it can be read from and written to by Microprocessor 10 when the control bank select input from 15 Decoder II goes active and an address and a read signal are supplied thereto.

Address Range III, contains program and data ROM banks which are implemented in two areas of Fig. 2. ~pplication 20 Capsules 0 to 2, which can be plugged into recesses in the computer housing, are shown at 17 and the rest of the ROM
banks (3 to 255) are shown at 18. Each ROM Bank or Capsule 0 to 2 receives an address input, supplies a data output, and is enabled by a separate ROM capsule select input from a 25 Decoder VI in Fig. 2. The rest of the ROM banks, 3 to 255, are provided in a housing separate from the computer and have their own bank select Latches 20 which are connected to the address, data, and read/write lines, and are also connected ~12-t~

to an external ROM bank select line from Decoder VI~

Also, in Range III, the I/O ports are providedO The computer has a plug (not shown) onto which either a single item of Peripheral Equipment 30 (such as a printer), or a bus expander (not shown~ can be connected, whereafter up to five items of Peripheral Equipment 34 (such as a printer, a RAM, a serial communications interface (industry designation RS232), a TV-driver adapter, or a modem~ can be plugged into five slots on the bus expander. When Single Peripheral 30 is connected to the computer, its I/O ports are addressed in an addxess range from 16384 to 18431. The peripheral is also connected to the address, data, and readjwrite lines, in addition to a single peripheral select line from Decoder IV. When the bus expander is connected to the computer, it and its Peripherals 34 are addressed in an address range from 18432 to 20479 and inputs are supplied by a multi-peripheral select line from Decoder IV and the usual address, data, and read/write lines. Peripheral 30 is enabled by selecting one of its memory banks through Latch 32.
Communication with multiple Peripherals 34 is done via the multi-peripheral I/O adapter of bus expander Inot shown), which contains a multi-peripheral Decoder 36. (The system control hardware, also addressed in Range III, is not indicated).

In Address Range IV, the R~M Banks are shown at 22 and are similar to ROM Banks 18 in operation in that they have their own bank select Latches 24 which are connected to the 7~

address, data, and read/write lines, and an external P~M bank select line from Decoder I.

In Address Range V, the System ROM is shown at 27. ROM
27 is provided within the computer housing, receives address inputs, provides a data output, and also receives two further address sub-range select inputs D and E which come from a Decoder II elsewhere in the diagram.

In addition to Microprocessor 10, Memories 12, 14, 17, 18, 22, and 27, and Peripherals 30 and 34, the system of the invention also contains address range decoders, and memory bank select latches; these comprise the rest of the components in Fig. 2 as follows:
An AND Gate 26 receives eight address inputs (A0 to A7) from the address bus and also receives an enabling (EN) input from output 3 of Decoder IV. AND gate 26 supplles an output when all of its inputs are ONES and its enabling input terminal is active. Its input from address line A0 is inverted, as indicated by the small circle between the AND
gate and the A0 address line. Its output line (designated X) goes to the strobe (ST~ input terminal of a Latch 28.

The three least-significant Data Lines, D2, Dl, and D0, of the data bus from Microprocessor 10 go to a three-bit Latch 28 which receives logic values (ONES OR ZEROES~ at its three data input terminals, D2, Dl, D0, and supplies and holds these logic values at its three corresponding data output terminals, LD2, LDl, and LD0, when latched by an input to its strobe terminal from the output line (X) of AND
Gate 26. For example, if the data word :L01 should be S supplied to inpu~ terminals D2, Dl, and D0, respectively, of Latch 28 while its strobe terminal receives an active input, output terminals LD2, LDl, and LD0 will supply and hold the same data word, 101, even after inputs D2, Dl, and D0 change. To change the outputs of Latch 28, a new strobe input and a new set of data inputs must be supplied thereto.

Many of the inputs and outputs of the logic components in the diagram of Fig. 2 are inverted, but the inverters and the individual inversion functions will not be detailed since the locations and functions of all inverters will be readily apparent from the circle symbols provided.

The system also contains 5iX Decoders, designated from I to VI. Each Decoder has two logic input terminals, B and A, and four logic output terminals, 0, 1, 2, and 3. Decoders I~ II, V, and VI have one enabling input terminals, while Decoders III and IV each have two enabling input terminals.
When a Decoder is enabled by applying an active signal to its ena~ling input terminal(s), one of its four ou-tput terminals will be active, depending on the state of its two input terminals, in accordance with the Decoder Truth Table shown in Fig. 2. For example, if input terminals B and A of Decoder III are both logical O~ES, and both enabling input terminals receive active inputs, output terminal 3 will be active, as indicated in the bottom row of the Truth TableO

The connections between the Decoders and the address lines will not all be detailed since they are readily apparent. Note that Address Lines All to A15 are connected to Decoders I to IV, the three outputs of Latch 28 are supplied to Decoders V and VI, the read/write signal is supplied to the A input terminal of Decoder V, clock signals Phi 1 and Phi 2 are supplied to the enabling input terminals of Decoders III, and IV, the output terminals of certain Decoders are supplied to the enabling input terminals of other Decoders and to the input terminals of two OR Gates I
and II, output terminal 3 of ~ecoder IV is supplied to the enabling input terminal of AND Gate 26, output terminals 0 and 1 of Decoder IV gQ to the I/O port tLatches 32 and 363 and the other Decoder output terminals are supplied to the selection latches of the addressable memories.

OR Gates I and II have two and thrPe input terminals, respectively. The output terminal of OR Gate I is supplied to the enabling input terminal of Decoder II and the output terminal of OR Gate II is supplied to enabling input terminal 2 of Decoder IV. Each OR Gate supplies an output if either one or more of its inputs are active.
FIG. 2--OPER~TION

The system of Fi~. 2 operates to implement the memory ~16-bank selection scheme shown and discussed in Fig. 1 as follows:

Microprocessor 10 operates conventionally with respect to System RAM 12 and System ROM 27~ An address supplied on the address bus during Phi 1 (i.e., the first half of the memory cycle (when clock line Phi 1 is active), will enable data to be read into or out of the corresponding address location during Phi 2 (the second half of the memory cycle, when clock line Phi 2 is active). The read/write line is made high to read and low to write. Data information can be written into and read from RAM 12, but only read from ROM 27 (it already contains fixed data). To read the data at any loeation in ROM 27, the address of such location is supplied on the address bus and the computer supplies a high (read) signal on the read/write line.

For example, to read the byte (eight bits) of data stored in location 62387 of ROM 27, the address bus of Microproeessor 10 would be supplied with the binary code on the sixteen lines thereof for decimal number 62387, i.e., binary 1111001110110011. Since address lines A15 and A13 would be high (logic ONES), input terminals A and B of Decoder II will b~ active, whereupon output terminal 3 of Decoder II will be active, thereby enabling the D input terminal of ROM 27. This will, as indicated at output terminal 3 of Decoder II, enable address loeations 57344 and 65535 of ROM 27. Address 62387, which is within this range, will be selected by lower order address lines which are supplied directly -to ROM 27, in conventional fashion. ROM
27 ls addressed during the first half of -the memory cycle, when clock line Phi 1 is active. Thereafter, in the second half of the cycle, when clock line Phi 2 is active, the data in location 62387 (eight bits) will be supplied by ROM 27 on the data bus to Microprocessor 10 where it will be used in conventional fashion.

Initial bank selection in accordance with the inventlon is implemented in an operation requiring -two separate memory cycles as follows: During the first or selec-tion cycle, the desired bank is selected and latched, and during a la-ter or address cycle, an address is supplied on the address lines to cause the data to be read Erom or into the address location of the selected bank. For example, assume that, in accordance with the program, a particular address, say location 17425 of capsule 0 in ROM 16~ must be read so that the data therein can be used by Microprocessor 10. The reading of the data in this location requires two steps or cycles, as follows:

In the selection cycle, output 0 of Decoder VI is made and held active to select capsule 0. At a later time, when the address cycle occurs, address 17425 is supplied on the address bus in conventional fashion. This address will be effective only at selected ROM capsule 0, whereupon the data in such location of capsule 0 will be read out on the data bus. Once capsule 0 is selected, it will continue to respond :f ~, to addresses in Range III until it is "deselected".

More particularly, to access ROM capsule 0, the following outputs are supplied by Microprocessor 10 under program control, in the selection cycle:

Address Lines A14, A12, All, and A7 to Al supply ONES
and all the rest of the address lines supply ZE~OES, so as to provide the address ~22782) (58FE in hexadecimal) of the latch.

The Read/Write line is held low to supply a WRITE
signal.

These inputs will cause AND Gate 26 to receive an active signal enabling its input terminal and ONES at all of its logic input terminals, whereupon its output (X) will be active, thereby to strobe latch 28.

During the second half (Phi 2) of the selection cycle, address lines A14~ A12, All, and A7 to Al continue to supply ONES and the read/write continues to remain in the WRITE
state. Data lines D2, Dl, and D0 will now supply the binary word 100 to select capsule 0, and the Phi 2 line is of course active. This will cause output terminal 0 of Decoder VI to supply an active signal to capsule 0 of ROM
16. Thus, ROM capsule 0 will be selected.

During the address cycle, the desired address 17425 is ~ bJ P~

supplied by the microprocessor (again under program control) and the read/write line supplies a READ signal. The address will be effective at ROM Capsule 0, whereupon the data in this location of Capsule 0 will be supplied on the data bus.

ROM capsules 1 or 2 can each be selected in similar fashion by writing 101 or 110, respectively, to Latch 28 during the selection cycle.
In order to address the I/O port to select the peripherals and system control hardware in Address Range III
(Fig. 1), a similar process is employed. For example, assume that a single peripheral unit, say a printer, is 15 plugged into the computer and ~he address of one of its ports is 18428. If it is desired to write to this port, no bank selection need be employed since it is not possible to write to a ROM so that any writing automatically must go to I/O ports. Thus, the program should generate the address 20 18428 and supply the necessary data on the data bus, whereupon the data will automatically proceed to this port.

Specifically, address 18428 is generated by supplying ONES on address lines A14 and A10 to A2 and also supplying a 25 WRITE signal (i.e., a ZERO) on the read/write line. Address line A14 will supply a ONE to input terminal A of Decoder I, whereupon output terminal 1 thereof will be active, enabling Decoder V. The read/write line will also supply a ZERO or ~ d ~

WRITE input to the A input terminal of Decoder V, and this will cause the ou-tpu-t terminal of OR Gate II to go active, enabling input terminal 2 of Decoder IV, regardless of whe-ther input B of Decoder V is high or low. ~nabling input terminal 1 of Decoder IV will be made ac-tive when the Phi 1 line is low. When output terminal 0 of Decoder IV is active, it supplies a l'single peripheral select" signal to memory bank select Latch 32.

The "single peripheral signal" will also become active for any other address from 16384 to 18431. Any address location within this range is selected by the power-ordered address inputs A10 to A0 inclusive. None of the capsules in ROMs 17 or 18 will be selected nor will respond to these addresses, since none of the ban~s of ROMs 17 or 18 are enabled by any output of Decoder VI.

To read any data stored at this address (18428) in Peripheral 30, it is merely necessary to supply a read signal on the read/write line along with this address on the address lines while supplying ZEROES (from Latch 28) on lines LD2, LDl, LD0. The read/write line will supply a ONE
to input terminal A of Decoder V, whereupon output terminal 1 of Decoder V will be active, so that OR Gate II will activate enabling input terminal 2 of Decoder IV. A~ain, output terminal 0 of Decoder IV will go active in the same manner as before and Peripheral 30 will be selected in similar fashion and the data will be read from the selected location therein.

Even though ROMs 17 and 18 are mapped in the same area as the I/O ports of Peripheral 30, their data will no-t be read since they were not selected by any output of Decoder VI.
To select any set of up to eight physically-associated banks of external ROM 14, ROM 18, or RAM 22, a respective decoder for each such set of eight banks is provided in every peripheral. The data line numbered the same as the bank to be selected is made high, as will be described in connection with Fig. 4, infra. The selection of higher-numbered banks in these external memories is also described infra in connection with ~ig. 4.

FIG. 3--ROM CHIP WIT~I POWER-ON SELECT

As stated, ROM capsule 0 of Fig. 2 is preferably formed in monolithic integrated circuit form and is selec-ted ln the manner indicated in Fig. 3. The integrated circuit or chip constituting ROM capsule 0 is shown at 40. Chip 40 has fourteen address-inputs, A0 to A13, eigh~ data outputs, D0 to D7, and two bias source connections, ground and Vcc, as indicated. ROM 40 has 16k locations (k=1024) and hence can store 16k eight-bit bytes. It thus has 16k x 8 = 128k binary cells which can store 128k bits. Any of the 16k bytes in ROM 40 will be read out on i-ts data lines if the binary address of the byte 7 S location is supplied and if ROM 40 is selected by supplying an appropriate voltage, usually 5 volts, at its Vcc terminal with respect to its ground terminal.

The Vcc terminal of ROM 0 is energized by the latch and decoder system of Fig. 2, which causes the "ROM capsule 0 select" line at the 0 output of Decoder VI to go active in the manner aforedescribed. This causes a single-pole double-throw Electronic Switch 44--preferably a combination PNP and NPN transistor circuit which normally connects the Vcc terminal of ROM 40 to ground as indicated--to connect the Vcc terminal to a positive Vcc Source 46, -thereby simultaneously to energize and select the ROM chip.

Since the ROM chip is not connected to any bias source when it is not selected, it does not consume standby power, thereby making the computer more energy efficient and highly suitable for portable, battery-powered operations. Since a separate chip select terminal is not required, one more address line may be used. There~ore, a 16k byte ROM can be provided in a twenty-four (rather than twenty-eighl) pin packageu This allows compatability with other ROMs (lk, 2k, 4k and 8k bytes) packaged for use in the computer's sockets.

All of the ROM banks in the system of Fig. 2 are preferably enabled in this fashion: (RAMs cannot be enabled by a power-on select circuit since RAMs are volatile, i.e.
if they are not constantly energized, the information stored therèin will be lost.) Fig. 4--RAM BANK SELECTION

The system of Fig. 4 shows a mul-ti-bit latch which is one of bank select Latches 24 which can select any one of a set of up to eight RAM banks housed in one RAM peripheral.
As stated, Latches 16 of control ROM 14 and Latches 20 of S ROM 18 are similar to Latches 24.

The circuit of Fig. 4 receives the external R~ bank select signal from output 2 of Decoder I. This signal is sup-plied in parallel to the upper input terminal of each of a plurality of AND gates 0, 1, etc., one ror each RAM bank.
The other, lower input terminals to the AND gates come from a mul,ti-bit latch consisting of a plurality of correspondingly-numbered data flip-flops; the inverted output of each flip-flop is connected to the lower input terminal of its co~respondingly-numbered AND gate. Thus the lower input terminal of AND Gate 0 is connected to the output terminal of Flip-flop 0, the lower input of A~D ~ate 1 is connected to the output terminal of Flip-flop 1, eLc.

The output terminal of each AND gate is connected to a chip enable terminal o a corresponding RAM bank. Thus, the output of AND Gate 0 is connected to the chip enable input of RAM Bank 0, the output of AND Gate 1 is connected to the chip enable input of RAM Bank 1, etc. Also, each RAM bank receives a read/write signal, and is also connected to the data bus and the address bus, as indicated. (Each RP~1 bank ~2~-~3~7~

may comprise a plurality of separate RAM chips, each o~ which is mapped in its own address range and which is selected in well-known fashion.) Each data flip-flop of the multi-bit latch has a D
(data) input which is connected to the correspondingly-numbered one of the data lines. Thus the input of Flip-flop 0 is connected to D0 lline 0 of the data bus), etc.
The strobe (ST~ or clock input terminal of each flip-flop is supplied with a decoder output signal, Y-bar, similar to the X siynal at the output of AND Gate 26 of Fig.
2. This signal is generated by the local address decoder when Microprocessor 10 is writing to this latch, which is regarded as an output port.

Assume for example that it is desired -to supply data to or read data from a particular address in RAM Bank 1. Only input Dl to the latch circui~ of Fig. 4 is made high in the select cycle in order to select RAM Bank l; all the rest of the data lines will be held low. The Y-bar signal will reset all of the flip-flops of Fig. 4 except for Flip-flop 1. The high input on the Dl line will set Flip-flop 1 so that its output tQ-bar) will supply an active (low) input to the lower terminal of AND Gate 1, thus selecting this RAM bank.

~n the address cycle, which can either be a read or a write, the address bus supplies the address of any location ~ t7~

in R~M Bank l, causing the external RAM bank select to the top input terminal of the AND gate to go active (low). Appropriate data can then be stored into or read from such location o RAM
Bank l in conventional fashion.
Using this method, any of the eight banks in one peri~
pheral can be selected and accessed.
Any of the other banks of any of Memories 14, 18, or 22 can also be selected in similar fashion, except that, again, a separate decoder/ similar to that of Fig. 2, but with a different address, would be provided to enable each subsequent set of eight banks with their own enabling signal. Thus, a "Z" signal would be provided for the ninth to sixteenth banks, e~c.
There has been described, above, a computer in which the addressing capability of the computer is expanded and the peri-pheral equipment handling capability of the computer is expanded.
The described computer can employ more-economical, less-compli-cated, and much more efficient memory banks, and is extremely versatile in handling and addressing many areas of memory on peripheral equipment, and has simpler, more economical, and moxe efficient ROM chips.
The computer includes processor means which has an address bus with a plurality of address lines for generating and supply-ing addresses through the address bus, a plurality of address-able banks which are divided into a plurality of dis~inc~ address ranges, and bank preselection means for preselecting any bank of any address range such that, i any address within the range is substantially supplied on the address bus~ it will be effective only at the preselected bank of such range and all other non-preselected banks will be inactive and not addressed by the pro-cessor means. Further, each addressable bank is implemented in the form of at least one monolithic integrated circuit having first and second bias supply terminals. The first bias supply terminal is designed to be connected to a reference potential and the second bias supply terminal is designed to be connected to a biasing potential. The bank preselection means is arranged to cause the second bias supply terminal to be connected to the biasing potential when the bank is selected and to be connected to the reference potential when the bank is not selected.

- 25a -While the above description contains many specificities, these should not be considered as limitations upon the scope of the invention since many o~her embodiments and ramifications are possible~ For examp~e, the memory map of Fig. 1 can be rearrang-5 ed in various ways, different logic components can be used inFig. 2 in lieu of those shown, different components can be supplied within the computer housing and outside thereof -than those indicated, different arranyements of the peripheral equip-ment can be used, etc. According:ly, the scope of the invention should be determined only by ~he appended claims and their legal equival~ntsO

~0

Claims (3)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:-
1. A computer with an expanded addressing capability comprising:
processor means having an address bus with a plurality of address lines for generating and supplying addresses through said address bus;
a plurality of addressable banks which are divided into a plurality of distinct address ranges, one of said address ranges including a plurality of read-only memory banks, each of which bank is implemented in the form of at least one monolithic inte-grated circuit having first and second bias supply terminals, said first bias supply terminal being designed to be always con-nected to a reference potential and said second bias supply ter-minal being designed to be selectively connected to a biasing potential and said reference potential; and bank preselection means for preselecting any bank of any address range such that if any address is supplied on said address bus of said processor means, it will be effective only at the preselected bank and all other non-preselected banks will be inactive and not addressed by said processor means, said bank preselection means being arranged to cause said second bias supply terminal to be connected to said biasing potential where said bank is selected and to be connected to said reference potential when said bank is not selected.
2. The computer of claim 1, wherein said plurality of addressable banks comprises a plurality of read-only memory banks within a first address range for storing respective programs to control respective items of peripheral equipment operatively associated with said computer, other plurality of read-only memory banks within a second address range for storing respective programs and/or data for respective applications which can be performed by said computer, and a plurality of read-and-write memory banks within a third address range for storing variable information for use by said computer.
3. The computer of claim 2, wherein said second address range, in addition to a plurality of read-only memory banks, also has an addressable hardware bank comprising at least one item of peripheral equipment which is controlled by one of said read-only memory banks of said first address range.
CA000405505A 1981-06-29 1982-06-18 Computer with expanded addressing capability Expired CA1181178A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/278,840 US4503491A (en) 1981-06-29 1981-06-29 Computer with expanded addressing capability
US06/278,840 1981-06-29

Publications (1)

Publication Number Publication Date
CA1181178A true CA1181178A (en) 1985-01-15

Family

ID=23066601

Family Applications (1)

Application Number Title Priority Date Filing Date
CA000405505A Expired CA1181178A (en) 1981-06-29 1982-06-18 Computer with expanded addressing capability

Country Status (6)

Country Link
US (1) US4503491A (en)
EP (1) EP0083363A4 (en)
JP (1) JPS58501061A (en)
CA (1) CA1181178A (en)
IT (1) IT1151654B (en)
WO (1) WO1983000239A1 (en)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5914062A (en) * 1982-07-15 1984-01-24 Hitachi Ltd Method for controlling duplicated shared memory
US4731738A (en) * 1983-02-14 1988-03-15 Honeywell Information Systems Inc. Memory timing and control apparatus
US4608632A (en) * 1983-08-12 1986-08-26 International Business Machines Corporation Memory paging system in a microcomputer
US4591982A (en) * 1983-08-29 1986-05-27 International Business Machines Corporation Storage selection override apparatus for a multimicroprocessor implemented data processing system
US6696420B1 (en) 1984-11-20 2004-02-24 Institut Pasteur Adenoviral vector with a deletion in the E1A coding region expressing a hetorologous protein
US4858109A (en) * 1985-02-14 1989-08-15 Ag Communication Systems Corporation Program code fetch from data memory arrangement
IT1183808B (en) * 1985-04-30 1987-10-22 Olivetti & Co Spa ELECTRONIC CIRCUIT TO CONNECT A MICROPROCESSOR TO A HIGH CAPACITY MEMORY
JPS61273658A (en) * 1985-05-29 1986-12-03 Toshiba Corp Multi-purpose controlling device
US4682283A (en) * 1986-02-06 1987-07-21 Rockwell International Corporation Address range comparison system using multiplexer for detection of range identifier bits stored in dedicated RAM's
JPS62260244A (en) * 1986-05-06 1987-11-12 Nintendo Co Ltd Memory cartridge
US5226136A (en) * 1986-05-06 1993-07-06 Nintendo Company Limited Memory cartridge bank selecting apparatus
CA1330596C (en) * 1986-11-19 1994-07-05 Yoshiaki Nakanishi Memory cartridge and data processing apparatus
US4926314A (en) * 1987-03-17 1990-05-15 Apple Computer, Inc. Method and apparatus for determining available memory size
US4926322A (en) * 1987-08-03 1990-05-15 Compag Computer Corporation Software emulation of bank-switched memory using a virtual DOS monitor and paged memory management
US5151986A (en) * 1987-08-27 1992-09-29 Motorola, Inc. Microcomputer with on-board chip selects and programmable bus stretching
US5146581A (en) * 1988-02-24 1992-09-08 Sanyo Electric Co., Ltd. Subprogram executing data processing system having bank switching control storing in the same address area in each of memory banks
US4979106A (en) * 1988-08-29 1990-12-18 Amdahl Corporation Customization of a system control program in response to initialization of a computer system
US5155826A (en) * 1988-12-05 1992-10-13 Fadem Richard J Memory paging method and apparatus
US5263141A (en) * 1989-01-31 1993-11-16 Brother Kogyo Kabushiki Kaisha Microprocessor with an exclusive address terminal for selecting at least one part of a peripheral device
JPH02242355A (en) * 1989-03-16 1990-09-26 Fujitsu Ltd Microprocessing system with extended address space
CA2003821C (en) * 1989-04-20 1996-12-03 Richard J. Molnar Process controller single memory chip shadowing technique
US5210854A (en) * 1989-06-14 1993-05-11 Digital Equipment Corporation System for updating program stored in eeprom by storing new version into new location and updating second transfer vector to contain starting address of new version
US5283889A (en) * 1989-12-29 1994-02-01 Zenith Data Systems Corporation Hardware based interface for mode switching to access memory above one megabyte
US5210850A (en) * 1990-06-15 1993-05-11 Compaq Computer Corporation Memory address space determination using programmable limit registers with single-ended comparators
US5255382A (en) * 1990-09-24 1993-10-19 Pawloski Martin B Program memory expander for 8051-based microcontrolled system
US5584044A (en) * 1990-09-28 1996-12-10 Fuji Photo Film Co., Ltd. Integrated circuit memory card for write in/read out capability having plurality of latching means for expandable addressing using counting means for enabling latches thereof
US5253355A (en) * 1990-11-13 1993-10-12 Compaq Computer Corporation Apparatus and method for developing wait states during addressing operation by using unused address bits
JP3670041B2 (en) * 1993-12-10 2005-07-13 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Nonvolatile memory chip enable encoding method, computer system, and memory controller
US5544334A (en) * 1993-12-22 1996-08-06 International Business Machines Corporation Micro channel bus computer system with IDE hard drive interface
WO1995032466A1 (en) * 1994-05-19 1995-11-30 Vlsi Technology, Inc. Flexible register mapping scheme
US6260101B1 (en) 1997-03-07 2001-07-10 Advanced Micro Devices, Inc. Microcontroller having dedicated hardware for memory address space expansion supporting both static and dynamic memory devices
US6023750A (en) * 1997-03-07 2000-02-08 Advanced Micro Devices, Inc. Microcontroller having dedicated hardware for memory address space expansion via auxilliary address signal generation
US6553463B1 (en) * 1999-11-09 2003-04-22 International Business Machines Corporation Method and system for high speed access to a banked cache memory
US6687815B1 (en) 2000-02-01 2004-02-03 Sun Microsystems, Inc. Method and apparatus for storing non-volatile configuration information
US6195749B1 (en) 2000-02-10 2001-02-27 Advanced Micro Devices, Inc. Computer system including a memory access controller for using non-system memory storage resources during system boot time

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3703710A (en) * 1970-01-05 1972-11-21 Hitachi Ltd Semiconductor memory
DE2121865C3 (en) * 1971-05-04 1983-12-22 Ibm Deutschland Gmbh, 7000 Stuttgart Memory addressing circuit
US3753244A (en) * 1971-08-18 1973-08-14 Ibm Yield enhancement redundancy technique
US3821715A (en) * 1973-01-22 1974-06-28 Intel Corp Memory system for a multi chip digital computer
JPS49131039A (en) * 1973-04-16 1974-12-16
US3859637A (en) * 1973-06-28 1975-01-07 Ibm On-chip auxiliary latch for down-powering array latch decoders
US4025903A (en) * 1973-09-10 1977-05-24 Computer Automation, Inc. Automatic modular memory address allocation system
DE2364408C3 (en) * 1973-12-22 1979-06-07 Olympia Werke Ag, 2940 Wilhelmshaven Circuit arrangement for addressing the memory locations of a memory consisting of several chips
US4050096A (en) * 1974-10-30 1977-09-20 Motorola, Inc. Pulse expanding system for microprocessor systems with slow memory
US4021783A (en) * 1975-09-25 1977-05-03 Reliance Electric Company Programmable controller
US4151611A (en) * 1976-03-26 1979-04-24 Tokyo Shibaura Electric Co., Ltd. Power supply control system for memory systems
US4156926A (en) * 1976-06-01 1979-05-29 Texas Instruments Incorporated PROM circuit board programmer
US4095265A (en) * 1976-06-07 1978-06-13 International Business Machines Corporation Memory control structure for a pipelined mini-processor system
US4118773A (en) * 1977-04-01 1978-10-03 Honeywell Information Systems Inc. Microprogram memory bank addressing system
DE2737087A1 (en) * 1977-08-17 1979-03-01 Siemens Ag Power reduction system for computer memory banks - has memory selection decoders controlling power supply interrupt stages
JPS5485646A (en) * 1977-12-20 1979-07-07 Omron Tateisi Electronics Co Data transfer method between input and output units via microprocessor
US4285039A (en) * 1978-03-28 1981-08-18 Motorola, Inc. Memory array selection mechanism
US4164786A (en) * 1978-04-11 1979-08-14 The Bendix Corporation Apparatus for expanding memory size and direct memory addressing capabilities of digital computer means
US4148099A (en) * 1978-04-11 1979-04-03 Ncr Corporation Memory device having a minimum number of pins
US4145760A (en) * 1978-04-11 1979-03-20 Ncr Corporation Memory device having a reduced number of pins
JPS54150935A (en) * 1978-05-19 1979-11-27 Toshiba Corp Memory switching device
US4223381A (en) * 1978-06-30 1980-09-16 Harris Corporation Lookahead memory address control system
JPS5552163A (en) * 1978-10-06 1980-04-16 Casio Comput Co Ltd Memory extension system
US4281392A (en) * 1979-05-01 1981-07-28 Allen-Bradley Company Memory circuit for programmable machines
US4320386A (en) * 1980-07-30 1982-03-16 General Electric Company Selection and power reset circuit
JPS5676821A (en) * 1980-11-17 1981-06-24 Toshiba Corp Power supply method of storage device
US4368515A (en) * 1981-05-07 1983-01-11 Atari, Inc. Bank switchable memory system
US4443865A (en) * 1981-10-26 1984-04-17 Allen-Bradley Co. Processor module for a programmable controller
US4446341A (en) * 1982-07-16 1984-05-01 Bell Telephone Laboratories, Incorporated Mechanized testing of subscriber facilities

Also Published As

Publication number Publication date
US4503491A (en) 1985-03-05
IT1151654B (en) 1986-12-24
EP0083363A1 (en) 1983-07-13
JPS58501061A (en) 1983-06-30
WO1983000239A1 (en) 1983-01-20
EP0083363A4 (en) 1987-01-20
IT8222022A0 (en) 1982-06-23

Similar Documents

Publication Publication Date Title
CA1181178A (en) Computer with expanded addressing capability
US6952752B2 (en) File memory device and information processing apparatus using the same
KR100353348B1 (en) Microprocessor
US4831522A (en) Circuit and method for page addressing read only memory
US5007020A (en) Method for memory addressing and control with reversal of higher and lower address
JPH0642263B2 (en) Data processing device
US6141739A (en) Memory Interface supporting access to memories using different data lengths
US4460972A (en) Single chip microcomputer selectively operable in response to instructions stored on the computer chip or in response to instructions stored external to the chip
US4499554A (en) Electronic translating apparatus with extended memory
US6079015A (en) Data processing system having selectable exception table relocation and method therefor
US4495565A (en) Computer memory address matcher and process
AU8736782A (en) Computer with expanded addressing capability
US5349565A (en) SRAM with transparent address latch and unlatched chip enable
EP0020972B1 (en) Program controlled microprocessing apparatus
JP2590172B2 (en) Single chip microcomputer
US5410662A (en) Programmable control of EMS page register addresses
KR920003845B1 (en) Rom region expansion system for users of pc
JPS576925A (en) Priority selecting circuit
JPH0895943A (en) Microprocessor
JPS63159966A (en) Single-chip microcomputer
KR930009061B1 (en) Memory access unit
Ritchey et al. An Overview of Computer Technology Used in Ground Water Field Studies: Part I: Basics
EP0755000A2 (en) Microcomputer and address generation method
JPH02264380A (en) Integrated circuit microcontroller
JPS6211751B2 (en)

Legal Events

Date Code Title Description
MKEC Expiry (correction)
MKEX Expiry