Language selection

Search

Patent 1138121 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 1138121
(21) Application Number: 339850
(54) English Title: HARDWARE FOR EXTENDING MICROPROCESSOR ADDRESSING CAPABILITY
(54) French Title: MATERIEL POUR ACCROITRE LA CAPACITE D'ADRESSAGE D'UN MICROPROCESSEUR
Status: Expired
Bibliographic Data
(52) Canadian Patent Classification (CPC):
  • 354/239
(51) International Patent Classification (IPC):
  • G06F 13/00 (2006.01)
(72) Inventors :
  • HOLTEY, THOMAS O. (United States of America)
  • MILLER, ROBERT C. (United States of America)
(73) Owners :
  • HONEYWELL INFORMATION SYSTEMS INC. (Not Available)
(71) Applicants :
(74) Agent: SMART & BIGGAR
(74) Associate agent:
(45) Issued: 1982-12-21
(22) Filed Date: 1979-11-14
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
000,304 United States of America 1979-01-02

Abstracts

English Abstract



ABSTRACT
A paging apparatus for improved mapping of virtual
addresses to real addresses, addressing physical devices coupled
to various communication buses, and controlling flow of data. By
means of an eight-bit addressing apparatus activated for certain
instructions which normally can address only 256 locations, an
additional 512 locations can typically be addressed by generating
control signals to modify a virtual address into a real address
capable of addressing the additional locations. Additionally, the
apparatus can control flow of data by enabling or disabling data
control apparatus.


Claims

Note: Claims are shown in the official language in which they were submitted.



THE EMBODIMENTS OF THE INVENTION IN WHICH AN EXCLUSIVE
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:

1. In a computer system having at least one microprocessor,
an address modification register, and a memory having memory loca-
tions addressed by real addresses, said memory containing instruc-
tion words executable by said microprocessor, some of said instruc-
tion words being short type instruction words having shorter address
fields than other of said instruction words and being capable of
addressing a first number of said memory locations which is less
than the total number of locations in said memory, an apparatus
for extending the addressing capability of said short type instruc-
tion words comprising:
(a) means for detecting whether an instruction word
currently being executed by said microprocessor is a short type
instruction word;
(b) signal generating means activated when said detect-
ing means indicates that said instruction word currently being
executed is a short type instruction word, said signal generating
means generating a predetermined number of control signals; and
(c) first means coupled to said signal generating means
and to said address modification register, said first means respond-
ing to said control signals and to data stored in said address
modification register to convert said address fields of said short
type instructions into real addresses, the number of real addresses
which can be formed by said first means being greater than said
first number of memory locations.


2. In a computer system having at least one microprocessor,
an address modification register containing address modification





data, and a memory addressed by real addresses, said memory con-
taining instruction words executable by said microprocessor, some
of said instruction words being short type instruction words having
shorter address fields than other of said instructions, said short
type instruction words and being capable of addressing a first
number of said memory locations which is less than the total number
of locations in said memory, an apparatus for extending the addres-
sing capability of said short type instruction words comprising:
(a) gating means for enabling the exchange of address
modification data between said address modification register and
said microprocessor;
(b) means for detecting whether an instruction word
currently being executed by said microprocessor is a short type
instruction word;
(c) signal generating means activated when said detect-
ing means indicates that said currently-executed instruction word
is a short type instruction word, said signal generating means
generating a predetermined number of control signals; and
(d) first means coupled to said signal generating means
and to said address modification register, said first means respond-
ing to said control signals and to said address modification data
to convert said address fields of said short type instructions into
real addresses, the number of real addresses which can be formed
by said first means being greater than said first number of loca-
tions in said memory.


3. The apparatus as recited in claim 1 including a universal
synchronous asynchronous receiver transmitter (USART) and further
including second means coupled to said first means and to said


21



control signals for using said real address to address said USART
and said memory simultaneously.

4. The apparatus recited in claim 2 including a universal
synchronous asynchronous receiver transmitter (USART) and further
including second means coupled to said first means and to said
control signals for using said real addresses to address said USART
and said memory simultaneously.

5. In a computer system having a microprocessor, an address
modification register, and a memory having memory locations ad-
dressed by real addresses, said memory containing instruction words
executable by said microprocessor, some of said instruction words
being short type instruction words having address fields shorter
than other of said instruction words and being capable of address-
ing a first number of said memory locations which is less than the
total number of locations in said memory, a method for extending
the addressing capability of said short type instruction words
comprising the steps of:
(a) forming real addresses by modifying said address
fields of said instruction words only when said microprocessor is
executing said short type instruction words, the number of real
addresses which can be formed being greater than said first number
of addresses; and
(b) using said real addresses to access locations in
said memory.

6. The method of claim 5 wherein the step of forming said
real addresses includes the steps of:


22


(a) generating control signals when said microprocessor
is executing short type instruction words;
(b) using said control signals to form certain bits of
said real addresses; and
(c) using the bits of said address fields as the bits
of said real addresses which were not formed by said control sig-
nals.


7. The method of claim 6 wherein the step of generating
signals includes the steps of:
(a) activating a signal generating means when said
microprocessor is executing said short type instructions; and
(b) generating said signals from said signal generating
means based upon certain bits in said address field.


8. The method of claim 7 wherein the step of using said
signals to form certain bits of said real address includes the
steps of:
(a) using said control signals to place the contents
of certain of said address modification registers into certain bits
of said real address, and
(b) using said signals to place constant data into cer-
tain other bits of said real address.


9. In a computer system having a microprocessor, an address
modification register, a universal asynchronous receiver trans-
mitter (USART), and a memory having memory locations addressed by
real addresses, said memory containing instruction words executable
by said microprocessor, some of said instructions being short type
instruction words having address fields shorter than other of said


23


instruction words and being capable of addressing a first number of
said memory locations which is less than the total number of loca-
tions in said memory, a method for extending the addressing capa-
bility of said short type instruction words comprising the steps
of:
(a) forming real addresses by modifying said address
fields of said instructions only when said microprocessor is
executing said short type instruction words, the number of real
addresses which can be formed being greater than said first number
of locations; and
(b) using said real addresses to address locations in
said memory and to address said USART simultaneously, and thereby
to store in said memory the data exchanged with said USART.


10. The method of claim 9 wherein the step of forming said
real addresses includes the steps of:
(a) activating a signal generating means when said
microprocessor is executing said short type instruction words;
(b) generating control signals from said signal generat-
ing means based upon certain bits in the address fields of said
short type instruction words;
(c) using said control signals to place the contents of
certain of said address modification registers into certain bits
of said real addresses;
(d) using said control signals to place constant data
into certain other bits of said real addresses; and
(e) using the bits of said address fields of said short
type instruction words to form those bits of said real addresses
into which data were not placed by said control signals.


24


11. The apparatus as recited in claim 1 wherein said signal
generating means includes a programmable read only memory (PROM).

12. The apparatus as recited in claim 2 wherein said signal
generating means is a programmable read only memory (PROM).

13. The apparatus as recited in claim 12 wherein said gating
means includes a bus-driver.



Description

Note: Descriptions are shown in the official language in which they were submitted.


` 11381Zl

BACKGROUND OF THE INVENTION
Field of the Invention
The invention relates to data processing systems and more particularly
to addressing apparatus utilizing an improved paging mechanism.
Description of the Prior Art
Normally, a computer memory stores both operands and computer commands
or instructions. Operands are generally data which are to be operated upon, and
commands are instructions which collectively form a computer program. An in-
struction word normally includes a command portion which addresses a location in
the computer memory. The number of locations in memory which can be addressed
by a given instruction via binary notation depends on the number of bits allo-
cated to the address portion of the instruction word and the hardware responsive
to those bits. Normally, instruction words are comprised of eight-bit bytes,
although any other number of bits may be utilized in a byte. Also it is not un-
common for the address portion of an instruction to include one, two, three or
more bytes. An address portion of an instruction having only one eight-bit byte
can only address 28 or 256 locations in memory whereas an address portion having
two, eight-bit bytes can address 216 or 66,336 locations. Although more memory
locations can be addressed with two eight-bit bytes, more time, and a greater
number of cycles are necessary in fetching each address word from memory. Fur-
thermore, more memory space is necessary in storing the larger words. With the
trend toward minicomputers and microprocessors, computer memory and throughput
is at a premium. Accordingly, what is required for minicomputers, microproces-
sors and communication processors, is an improved addressing mechanism which
will permit greater addressing capability with a minimum of computer cycle time
in fetching the address portion of an instruction.
The prior art is replete with memory addressing devices which have
been designed to improve the addressing of computer main memories. A typical

-- 1 --




,

~1381Zl

computer main memory addressing mechanism is shown in United States Patent No.
3,267~462. This is a straightforward addressing mechanism with the ability to
address any desired number of characters beginning with any randomly selected
position.
Instructions stored in main memory, are generally stored in contiguous
locations in groups so that the group comprises a computer program. Accordingly,
it is generally not necessary to fetch another address to locate the second in-
struction and so on, because the original address can be modified by adding the
number one (or some other number) to the address already fetched to acquire the
next contiguous location to be fetched.
Other modification techniques comprise index-registers which are
addressed by the original address and either replace or modify the original ad-
dress to give a new address for the operand to be fetched. A typical device of
this type is disclosed by H. Trauboth in United States Patent No. 3,284,778
issued November 8J 1966.
Further refinements to the computer addressing techniques led to rel-
ative addressing wherein the address portion of an instruction does not refer
to the absolute memory address desired but to some address relative to a page or
segment located in main memory. Accordingly, hardware can concatenate the rel-

ative address within a segment or page with the location of the beginning ofthat segment or page within main memory to locate the absolute address. Typical
of this type of apparatus is the United States Patent 3,938,096 to James L.
Brown, et al issued February 10, 1976, and United States Patent 3,461,433 issued
to W.C. Emerson on August 12, 1969.
Still other addressing schemes increase speed and throughput by making
use of a high-speed, small capacity memory to supplement the main memory to
which addresses are fetched prior to their use by the addressing mechanism.
Hence speed in addressing is attained. Typical of this type device is that dis-
-- 2 --

~ .

1138~21

closed by Yohan Chu in United States Patent No. 3,251,041 issued May 10, 1966.
To increase main memory capacity, a virtual memory system was devised
wherein the operating system, such as that used in the *IBM System 370, maps
addresses resident on magnetic disk on to main memory. The user addresses main
memory and the appearance to the user is that he has a vast capacity of main
memory. (See Computer Organization and the System/370 by Harry Katzan Jr., pub-
lished in 1971 by Van Nostrand Reinhold Company of New York). This is some of
the prior art relating to memory addressing schemes of which the applicants are
aware. It is presented as background information and no implication should be
drawn that this is the closest prior art to the invention or that a search has
been made.
All these schemes have generally been directed to large computer sys-
tems and generally require additional hardware such as index registers, buffer-
memories. Moreover, memory space is not as much at a premium for large computers
as with small computers.
What is required of the small computer is an improved address modifica-
tion system which uses the hardware of the basic addressing mechanism and at the
same time minimizes cycle time for accessing multiple address words.
OBJECTS OF THE INVENTION
It is a primary object of the invention to-provide an improved com-
puter main memory addressing mechanism.
It is another object of the invention to provide an improved computer
memory addressing mechanism hav m g improved address modification.
It is still another object of the invention to provide an improved
computer memory addressing mechanism which requires a minimum space for storage
of addresses.
It is still another object of the invention to provide an improved
computer memory addressing mechanism which requires a minimum of addressing

*Trademark - 3 -

~38~Zl

cycles.
It is still a further object of the invention to provide improved map-
ping of virtual addresses to real addresses.
SUMMARY OF THE INVENTION
The foregoing objects are achieved according to one embodiment of the
invention by providing addressing hardware for addressing various physical de-
vices coupled to various communication bases, for mapping of virtual addresses
to read addresses, and controlling flow of data.
Five bits of an eight-bit address are utilized to address a paging
Signal generator to generate eight control signals. These eight control signals
are utilized to modify the eight-bit address (which can normally address only
256 locations in main memory) to provide additional addressing capability. When
the control signal is active for a particular bit, that bit is modified or an-
other bit is substituted. When the control signal is not active, the original
bit in the address is used.
BRIEF DESCRIPTION OF THE DRAWINGS
The novel features which are characteristic of the invention are set
forth with particularity in the appended claims. The invention itself, however,
both as to organization and operation together with further objects and advant-

ages thereof may best be understood by reference to the following descriptiontaken in conjunction with the drawings in which:
Figure lA is a schematic block diagram of the preferred embodiment of
the invention.
Figure lB is a schematic diagram of typical addressing formats of the
invention.
Figure lC is a map of the paging PROM.
Figure 2A is a schematic diagram of a typical organization of the real
memory of the invention.
-- 4 --



~ ~ ' ' ' ' '

~;138~1

Figure 2B is a schematic diagram of a typical organization of the vir-
tual memory of the invention.
Figure 3 and 4-4C are logic block diagrams of the preferred embodiment
of the invention.
DETAILED DESCRIPTION OF THE INVENTION
Referring to Figure lA, there is shown a logic block diagram of a pre-
ferred embodiment of the invention which also shows information flow and modif-
ication of the information for improved addressing. A microprocessor 101 is typ-
ically a type 6800 commercially available from Motorola Inc. and uses a 16 bit
address bus 102 to address main memory 108. (The 6800 is described in "The
Complete Motorola Microcomputer Data Library", Series A, Motorola Inc. 1978 by
Motorola Semiconductor Products, Box 20912, Phoenix, Arizona). This provides an
addressing capability of over 64,000 bytes of main memory 108. The formats of
the instruction are shown on Figure lB. There are primarily two formats: one
having an eight bit op code and an 8 bit (a) byte whereas the other one has an 8
bit op code, and 8 bit (a) byte and an 8 bit (b) byte. In order to conserve
space and cycle time, it is more advantageous to use only the (b) byte. Accord-
ingly, in the schematic representation of Figure lA, the register 103 uses the
first 5 high order bits 8, 9, 10, 11, and 12 to address the paging signal gener-
ator 105. (The paging signal generator is an integrated circuit memory chip of
the type designated as 5610 and commercially available from Intersil Inc. The
5610 is described in the "Intersil Semiconductor Products Catalog" by Internal
Inc., 10900 North Tantan Avenue, Cupertino, California, published October, 1974).
The paging signal generator 105 stores 32 words which can be addressed
by bits 8-12 of the (b) byte. Since 5 bits are used to address the paging signal
generator, these bits can be used to address any of the 32 words therein. The
internal circuitry of the generator 105 is such that when the first 8 words (up
to address 07) are addressed, signal CPGLIN is activated (i.e., goes low). When

-- 5 --

~",

~1381Z~

the next four words of the signal generator 105 are addressed (i.e., addresses
8-11), then both signals CPGLIN and CPGDIR are activated. When the next loca-
tion word 13 (i.e., address 12) is addressed, then all of the following signals
are activated, (i.e., go low): CPGLIN, CPGDIR, CPGCCB and CPGAD4.
The paging signal generator 105 is enabled when a low output signal
from the microprocessor 101 is present at its E input terminal. h low input sig-
nal is provided to the E input terminal of paging signal generator 105 from the
output of OR gate 104 when all of its input bits 1-8 of (a) byte are 0 or low.
These bits 1-8 of (a) byte are made 0 when it is desired to modify the 16 bit
19 address provided by the (a) and (b) byte. Accordingly, when all the bits of the
(a) byte are 0, a low signal results at the output of NOR gate 104 which is ap-
plied to the E input terminal of paging signal generator 105 thus enabling it.
When the paging signal generator 105 is enabled one of the control signal loca-
tions 105a are addressed by bits 9-13 of (b) byte and is enabled by going low.
When one of these control signals 105a are active, (i.e. low) the 16 bit virtual
address 106 is modified to the real address 107 which then addresses main memory
108. If none of the control signals 105a are active, then the 16 bit address
106 is identical to the 16 bit address 107 and no modification occurs for ad-
dressing memory 108. (The mechanism for performing this modification will be
discussed in detail in relation to Figure 3.)
Assuming, therefore, that control signal CPGCCB is active, then bit 11
of the virtual address is replaced by the bit in position of CCB register 115
and bit 12 will be replaced by bit ~ in CCB register 115 to form the real ad-
dress. If control signal CPGDIR is active, then bit 10 of the virtual address
is replaced by bit D of channel register 114. If control signal CPGLIN is
active, then bit 9 of the virtual address is replaced by bit M of the CH reg-
ister 114, and bit 8 of the virtual address is replaced by bit H of the CH reg-
ister 114. If control signal CPGAD8 is active, then bit 7 of virtual address
-- 6 --




::
- '

8~2~

is replaced by a one. Finally, if control signal CPGAD4 is active, then bits
4, 5 and 6 of the virtual address are replaced by a one.
The CE~U2U control signal, generated by the paging signal generator
105, is used to address the line number of a selected Universal Synchronous
Asynchronous Receiver Transmitter (USART) 116, 117. ~USART's are commercially
available from Intel Corporation and are of the Programmable Communication
Interface type 8251A. The 8251A is described in the "Intel Component Data
Catalog 1978" published by Intel Corporation, 3065 Bowers Avenue, Santa Clara,
California. The CEIO2U control signal enables the I-bus 113 via bidirectional
bus driver 111. (These bidirectional bus drivers are commercially available
from Texas Instrument and are designated as type 74LS245.) The 74LS245 is de-
scribed in "The TTL Data Book for Design Engineers", Second Edition, copyright
1976 by Texas Instrument. The CEIO2U signal permits communication from the I-
bus 113 to the U-bus 112, whereas a CEU2IO signal permits communication from
the U-bus 112 to the I-bus 113. The I-bus may have various registers attached
for storing communications information. Some typical registers are the HI-Order
Data Register 120, LO-Order Data Register 121, channel no. register 122, and
status register 123. These registers communicate with the microprocessor via
the I-bus 113 and the U-bus 112, and with main memory 108 via I-bus 113 and M-
bus 109.
In order for the various registers on the I-bus 113 to communicate
with main memory 108 and microprocessor 101, it is necessary to assign space in
main memory for various lines and channels associated with any communication
port. Referring therefore to Figure 2A, it will be seen that real memory 200
has a portion of its area reserved for lines 0-3. Each line is comprised of 64
bytes and the total 4 lines 0-3 comprise the Logical Table (LCT) space. Each
line 0-3 is furthermore subdivided into 2 channels of 32 bytes each. According-
ly, there are 8 channels of 32 bytes comprising 4 lines of 64 bytes, each which
-- 7 --


comprises the LCT space. The next 256 bytes are reserved for Channel Command
Programs (CCP) use. There are also 3 to 4K bytes which together with the un-
used space are reserved for Channel Command Programs (CCP). Below this space
there is an additional 256 bytes reserved for the Channel Control Block (CCB).
As with the LCT space, each line 0-3 is associated with one CCB of 64 bytes,
each of which is subdivided into 2 channels of 32 bytes each. Below this is
memory space reserved as firmware work space. Accordingly, it can be seen that
each line 0-3 is associated with one LCT space and one CCB space, each of which
is subdivided into two channels.
Part of the addressing mechanism described supra with Figure lA ad-
dresses all of these memory spaces. However, to do this it takes two address
bytes a and b, since one address byte is comprised of 8 bits and 8 bits can ad-
dress only 256 locations. Yet as can be seen from Figure 2A, there are 768 lo-
cations (3 x 256) excluding the 3K/4K locations. These 256 locations are the
most commonly addressed since communication of lines 0-3 must constantly be had
with its LCT's, its CCB's and the firmware. It is very inefficient to utilize
the 16 bit address which can normally address over 64,000 locations merely to
address 768 locations, yet only one 8 bit address can address only 256 loca-
tions. This invention permits the 768 locations to be addressed by the first 5
bits 8-12 of the (b) byte 103 by permitting the modification of the virtual ad-
dress of Figure 2B as discussed supra. Hence cycle time and storage space are
saved by this short form of addressing.
Referring to Figure lC, there is shown the map of the paging signal
generator 105 (i.e., Paging PROM 300). The map is self-explanatory. The ad-
dress locations are shown in various numbering systems on the first 3 columns,
whereas the last column contains the actual information stored at that address
location. The fourth column designates the hexadecimal locations which have
similar contents.



: .

~138~i

Referring to Figure 2B, there are shown 256 locations in memory 201
reserved for virtual memory. The first 64 locations or bytes are numbered in
decimal notation O through 63 and in hexadecimal notation 0 through 3F, and com-
prise the LCT of the current line used by the CCP. The next 32 locations or
bytes, decimal locations 64-95 and in hexadecimal notation 40-5F, are reserved
for the LCT of the current channel used by firmware. The next 8 locations or
bytes denoted in decimal notation 96-103 and in hexadecimal notation 60-67 are
reserved for the active CCB of the current channel. There is then an unused
space and there are 3 eight byte locations reserved for the USART of the current
line, the shadow USART of the current line respectively and the extension of LCT
of the current channel.
A typical example will illustrate how the improved addressing scheme
of the invention works. Assume, therefore, that location 5 of line 0 of virtual
memory 201 is to be addressed. Accordingly, all of the bits 0 through 7 of
(a) byte of register 103 would be 0 which would enable OR gate 104 and enable
the paging signal generator 105. The next 5, bits 8 through 12~ would also be
0, whereas bit 13 would be a 1, bit 14 would be 0 and bit 15 would be a one,
thus giving the binary address 101 or decimal 5. The virtual address 106 would
also have bits O through 12 equal to 0 with bit 13 being 1, bit 14 being 0 and
bit 15 being l. Additionally, however, since bits 8-12 of the ~b) byte in reg-
ister 103 are 0, control signal CPGLIN would be active. (It was seen supra that
if bits 8-12 were utilized to address the first 8 words in the paging signal gen-
erator 105, signal CPGLIN would be active or low.) With signal CPGLIN active,
bits 8 and 9 of the virtual address 106 would be replaced by bits H and M respec-
tively of channel register 114. Under our assumption, which initially was that
we are addressing location 5 of line 0, bits H and M of channel register 114
would be 0 and accordingly bits 8 and 9 of real address 107 would also be 0.
Thus the final real address would have bits 0-12 equal to 0, bit 13 would be a

_ g _

. ~ .,
.~

~1381Zl.

1, bit 14 would be a 0, and bit 15 would be a 1, thus addressing the fifth loca-
tion of line 0 of real memory.
To take this problem one step further, assume now that the fifth loca-
tion in line 1 is now to be addressed. The bit contents of register 103 and vir-
tual address 106 would be identical as in the prior example. However, since
line 1 is now being addressed the channel register 114 would have a 0 in its
high order bit H and a 1 in its next order bit M. Accordingly, when signal
CPGLIN is activated once again (since bits 8-12 of the (b) byte of register 103
are all zeroes), bit 8 of virtual address 106 would be replaced by bit H of chan-

10 nel register 114 which is a 0. Bit number 9 of virtual address 106 would be re-
placed by the mid bit M of channel register 114 which in this example is a 1,
since line 1 is being addressed. Hence the real address 107 would have zeroes
in bit positions O through 8, bit 9 would be a 1, bits 10-12 would remain 0, and
bit 13 would still be a 1, bit 14 would still be 0, and bit 15 would still be a
1. Accordingly, now hexadecimal location 45 is addressed in real memory which
is the fifth location of line 1. It can readily be seen by this reasoning that
at location 5, line 2 or line 3, could be similarly addressed merely by substit-
uting bits H and M of the channel register 114 for bits 8 and 9 of the virtual
address 106 to obtain the real address 107.
Referring to Figure 3, there is shown the detailed logic block diagram
of the p~ging apparatus for improved mapping of virtual addresses to real ad-
dresses. First, a structural description will be given wherein the various
structures of Figure 3 will be identified and tied into Figure lA where feasible;
second, the operation of the structure of Figure 3 will be described to show how
the various functions are performed. It should be noted from Figure lA supra
that the paging mechanism is designed to modify bits 4 through 12 of virtual
address format 106 to provide the final real address 107 with bits 4 through 12
either modified or not in accordance with the signals presented. On Figure 3 it

- 10 -

" .



,: ~

~138121

should be noted that multiplexers (MUX) 302, 303 and 304 and driver 305 provide
the output signals respectively on lines 302A, 303A, 304A, 305A and 305B which
represent modified bits 8 through 12 of the real address 107. Multiplexer (MUX)
301 and driver 308 provide the output signals on line 301A, 308A, 308B, and 308C
which represent bits 4 through 7 of the modified real address 107. Register 309
corresponds to register 114 of Figure lA and stores bits H, M and D and provides
these bits as output signals on lines 309A, 309B and 309C. Register 310 corre-
sponds to CCB register 115 on Figure lA and stores and provides the ~ and ~ bits
as signal output on lines 310A and 310B respectively. PROM 300 corresponds to
paging signal generator 105. As described supra, it provides the various sig-
nals for mapping the virtual address 106 into the real address 107. The map of
PROM 300 corresponds to Figure lC. Drivers 305 and 306 are coupled with AND
gate 311A to provide the real memory address bits 11 and 12. Register 311 is
utilized to store various signals.
Each of these devices is commercially available from such manufactur-
ers as Texas Instrument, Motorola, Intel and other semiconductor manufacturers
in accordance to their universal designations as shown in Table I below:
TABLE I

Type of Device and Commercial Identifi-
Numeral Designation cation Number
=
MUX 301, 302, 303 and 74LS253
304

Drivers 305, 306, 74LS241
307 and 308

Registers 309 and 114 74173

Registers 310 and 311 74LS374

AND gate 311 74LS08


PROM 300 5610

The 74 series circuits are listed in "The TTL Data Book for Design

Engineers", Second Edition, copyright 1976 by Texas Instrument. The 5610 is
- 11 -



-

1138121

listed in the "Intersil Semiconductor Products Catalog", published in 1974 by
Intersil.
Referring once again to Figure 3, the operation and function of the
paging apparatus for improved mapping of virtual addresses to real addresses
will be described in greater detail. As has been discussed supra with respect
to Figure lA, when addresses 0 through 7 of PROM chip 300 are addressed, the
communication paging line signal (CPGLIN) becomes active by going low. This is
shown on the Paging PROM Map of Figure lC, wherein the contents of the map in
the first 8 positions are 01111111. Bit position 7 is 0, or low, which activ-

ates signal CPGLIN. This signal is then applied to input terminal 2ag and 2ah
of multiplexers (MUX) 302 and 303 respectively. The other input control signal
to input terminals lag and lah of multiplexers 302 and 303 respectively is the
logic 1 (LOGICl) signal which is wired to always be high. When signal CPGLIN is
active ~i.e., in the low state), it addresses input terminals lag and lah of
multiplexers 302 and 303 respectively which means that the signals on input ter-
minals lg and lh will pass through as outputs on lines 302A and 303A respective-
ly. By following the signals (CPGCNH) on input terminal lg of multiplexer 302
back to its source, it will be observed that it comes from the high order bit on
line 309A of channel register 309. Similarly, following the input signal
(CPGCNL) on input terminal lh of MUX 303 back to its source shows that it comes
from the middle order output line 309B. These correspond to bits H and M of
channel register 114 of Figure lA. Accordingly, when the line paging signal
(CPGLIN) is activated, the H and M bit of register 114, 309 is substituted for
virtual address bits 8 and 9 on output lines 302A and 303A respectively.
Conversely, when the line paging signal (CPGLIN) is not activated
(i.e., high) then the address bits 8 and 9 of the virtual address are not modi-
fied and are passed as is to the output lines 302A and 303A of MUX's 302 and 303
respectively. This occurs because when CPGLIN is high and with LOGICl always
- 12 -

li38~1

being high, input addresses 3g and 3h are addressed on MUX's 302 and 303 respec-
tively. Input address 3g of MUX 302 is CADU08 which is interpreted as the com-
munication address of the microprocessor bit 8. Input address 3h of MUX 303 is
CADUO9 which is interpreted as the communication address of the microprocessor
bit 9. When input terminals 3g and 3h are addressed, this becomesactive and
permits the addresses on that terminal to pass through to the output lines of
302A and 303A of MUX's 302 and 303.
The next control bit for modifying the virtual address 106 from the
PROM chip 300 is the directional bit ~CPGDIR). The directional bit is the low
order bit D in channel register 114 and on line 309C of channel register 309.
The directional bit becomes activated when addresses 8, 9, 10 and 11 (decimal)
of the PROM 300 are addressed (See Figure lC). Additionally, when these bits
8-11 are addressed output signal CPGLIN also becomes active. Accordingly, in
addition to the application of the CPGLIN signal to MUX's 302 and 303, there is
an application of signal CPGDIR on input terminals ld and lai of MUX's 301 and
304 respectively. With signal CPGDIR on input terminal la of MUX 304 low, it
makes no difference whether input signal CPGAD8 on input terminal 2ai of MUX 304
is high or low, since under either condition either input terminal Ob or 2b (ad-
dresses 00 or 10 binary) are activated and the CPGCND signal is applied to both
these addresses. The origin of the CPGCND signal is from the output line 309C
of channel register 309 which is the D bit of channel register 114 and channel
register 309. Accordingly, when the directional bit CPGDIR is activated, the
number 10 (decimal) bit of virtual address 106 is modified in accordance to the
contents of the D bit of the channel register 114 or 309.
There is no effect of the CPGDIR signal on the ld input terminal of
MUX 301 unless CPGAD8 signal is also activated. This is true because with sig-
nal CPGAD8 inactivated or high, only addresses 2e or 3e (10 or 11 binary) of
MUX 301 can be addressed. They are both the same and represent bit 7 of the
- 13 -



,, .~,

~38i21

communication address of the microprocessor. However, when the CPGAD8 signalfrom PROM 300 is also activated ~i.e., low) then only address Oe or le (00 or 01
binary) of MUX 301 is addressed and becomes active; both these addresses have the
logic signal 1 LOGICl applied which is permitted to pass to output line 301A of
MUX 301 when both signals CPGAD8 and CPGDIR are active or only when CPGAD8 is
active.
Hence with CPGAD8 active, bit 7 of virtual address is modified and
forced to a one.
As described supra with respect to Figure lA, when the channel register
bit (CPGCCB) is active or low, then bits 11 and 12 of virtual address 106 are re-
placed by channel bits ~ and ~ of register 115. Since register 310 on Figure 3
corresponds to channel register 115, and bit CPGCCH on output line 310A corre-
sponds to the ~ bit of channel register 115, and bit CPGCCL on output line 310B
corresponds to the ~ bit of register 115, then these bits will replace bits 11
and 12 of the virtual address when the signal CPGCCB is active or low.
Thus, when the signal CPGCCB is activated, it is applied to the 11 in-
put terminal of driver 306 and to the 1 terminal of AND gate 311A. Accordingly,
driver 306 is enabled and the channel control bit signals CPGCCH and CPGCCL on
output lines 310A and 310B are applied to terminals ln and On respectively of
driver 306. They pass through to output lines 306A and 306B of driver 306 and
replace bits 11 and 12 of the virtual memory address. It should be noted that
when the CPGCCB signal applied to input terminal l of driver 306 is low, it en-
ables driver 306; but this same signal applied to the input terminal 19 of driver
305 disables driver 305. Hence the CADUll and CADU12 signals on input terminals
24 and 25 respectively of driver 305 are not passed through to the output termi-
nal 305A and 305B of driver 305, but rather are replaced by channel register 310
bits as previously described. Accordingly, it is seen that either driver 306 or
305 is enabled but not both, and either the channel register bits are passed

- 14 -

li38~;21

through via driver 306 or the microprocessor address bits are passed through to
the output via driver 305.
Finally, with respect to the virtual address modification, the modifica-
tion of bits 4, 5 and 6 will be discussed. As noted supra with respect to Fig-
ure lA, this is accomplished via signal CPGAD4. When address 12 (decimal) of
paging signal generator 105 is addressed, all of the following signals become
active: CPGLIN, CPGDIR, CPGCCB and CPGAD4. This is seen by referring to Figure
lC where address 12 (decimal) contains the following 00001111. Hence bit posi-
tions 4, 5, 6 and 7 are low or active, and from Figure lA, ref. numeral 105,
these correspond to signals CPGAD4, CPCGCCB, CPCDIR and CPGLIN respectively.
It has already been shown how the first three signals modify the vir-
tual address when they are active, and it will now be shown how the signal CPGAD4
modifies the virtual address and forces one's into bits 4, 5 and 6 of the virtual
address. The CPGAD4 signal is applied to the enabling terminal 19 of driver 308.
When driver 308 is not enabled (i.e., low) then one's are forced for bits 4, 5
and 6 respectively. If it is enabled (i.e., high), then the microprocessor ad-
dress CADU 4, 5 and 6 respectively will pass through. The reason for this is
that driver 308 is a commercially available LS241 tri-state circuit which has
pull up resistors for the signal applied. Accordingly, if a low signal such as
CPGAD4 is applied, it does not enable driver 308 and the output signals are
pulled up to +5 volts making it a logic 1. On the other hand, when CPGAD4 is not
active it is high, thus it enables driver 308 and permits the address signal on
input terminals lk, 2k, and 3k respectively of driver 308.
Not only does the paging signal generator 105 on Figure lA and its
equivalent PROM 300 on Figure 3 generate signals that can more efficiently ad-
dress memory 108 but it further generates signals which provide more efficient
addressing and communication between main memory 108, the microprocessor 101 and
various registers and perpherals attached to the I-bus and U-bus. This communi-


- 15 -

113812:L

cation between various devices such as register to register, memory to register,
utilizing the U-bus and the I-bus is initiated by activating signal CEU2IO
(i.e., signal CEU2I0 is low and represented on Figure lC by a zero). It should
be noted that signal CEU2IO is bit position number 1 on paging signal generator
105.
Now referring to Figure lC, which is the map of paging signal gener-
ator 105 and its equivalent PROM 300 it should be noted that there are 3 ad-
dresses where there is a zero stored at bit position number 1. They are decimal
locations 18, 21 and 22 or virtual address hexadecimal locations 90, A8 and BO.
Accordingly, when any of these locations of paging signal generator 105 or PROM
300 are addressed by the microprocessor 101, signal CEU2IO will become acti~e or
low. Signal CEU2IO initiates the communication process and controls the enabling
of the bus driver 111 on Figure lA. It is also applied as one input to AND gate
354 of Figure 4 and guarantees a pulse out after the data becomes valid on the
bus.
Referring to Figure 3 and 4. A signal CEU2IO is generated at bit posi-
tion 1 of PROM 300 when it is desired to enable the I-bus driver 311A to cause
data to be driven from the U-bus to the I-bus and written into either the channel
register 114, the CCB register 115 or the S register 123A. Referring to Figure 4
it will be noted that the signal CEU2IO is applied to one input terminal of AND
gate 354 and is AND'ed with a strobe signal CTPHZD to generate the CEU2IO-10 sig-
nal at the output of AND gate 354. This signal is then applied to the enabling
input of decoder 355. Also applied to input terminals 20A and lOA respectively
of decoder 355 are bits 10 and 11 of the address 103 of the communication address
unit. These bits are then decoded so as to activate one of four signals on the
output terminals of decoder 355. When bits 10 and 11 on the input terminals 20
and 10 of decoder 355 are 1 and 0 respectively or decimal 2, then the output sig-
nal CEU2IO-A2 is enabled and is applied to the enable terminal of decoder 357.

- 16 -
i~,

~_

~1381Z:~

Additionally, bits 13 and 14 of the communication address unit (i.e.,
signals CADUI3 and CADUI4) are applied to input terminals 2PA and lPA respective-
ly of decoder 357. When both these bits 13 and 14 are 0, the zero output termi-
nal of decoder 357 is enabled. Signal CEI2CN is activated through a NOR gate
358 and used to write into channel register 114 on Figure lA and channel reg-
ister 309 on Figure 3. On the other hand, if bits 13 and 14 are 0 and 1 respec-
tively and are applied as signals CADU13 and CADU14 to input terminals 2PA and
lPA respectively of decoder 357 then the 01 output terminal of decoder 357 is
enabled and signal CEI2CB becomes active and is utilized to address CCB register
115 on Figure lA and CCB register 310 on Figure 3. Finally, if bits 13 and 14
applied as signals CADU13 and CADU14 on input terminals 2PA and lPA respectively
of decoder 357 and 1 and O or decimal 2 then the 02 output terminal of decoder
357 becomes enabled and signal CEI2SR becomes active and is utilized to address
the S register 123A. Thus signal CEU2IO is utilized to enable the bus driver 111
and address registers 114, 115 and 123A. Accordingly, when the microprocessor
101 executes a write instruction directing it to write the microprocessor's ac-
cumulator into location A8 hexadecimal, the microprocessor places the contents
of the microprocessor's accumulator on the U-bus and enables bus driver 111 in a
write direction which is then strobed into the appropriate register address.
When a write instruction is being executed and information is being
written into any of the registers on the I-bus, bus driver 110 on Figure lA also
enables the M-bus 109 and the same information written into the address register
is also written into a section of memory 108 which is addressed. (See also Fig-
ures 2A and 2B.) Bus driver 110 is enabled by the lack of signal CEMB2U and en-
ables the M-bus in the direction of the memory 108. Hence the information writ-
ten into the registers is also written into a "shadow memory" which preserves the
information for diagnostic purposes or for debugging and provides a place to pre-
serve data when remote maintenance is performed.

- 17 -

In reading data from the I-bus to the U-bus it is necessary to inhibit
transfers of data from the M-bus to the U-bus. This allows the I-bus to control
the data onto the U-bus. This function is performed by generating the signal
CEI02U in paging signal generator 105. This signal is then applied to the enable
terminal of decoder 351 on Figure 4, and at the same time bits 9 and 10 of the
address 103 are applied to input terminals 2KA and lKA respecti~ely as signals
CADU09 and CADU10. These signals undergo a first level of decode to provide an
output signal CEI02U-Al on output terminal 01 of decoder 351 when the input bits
9 and 10 are 0 and 1 respectively. The CEI02U-Al signal is then applied to the
enable input terminal of decoder 352 along with bits 14 and 15 on input ter-
minals 2LA and lLA respectively.
Depending on the binary value of bits 14 and 15, 1 of 4 subcommand sig-
nals will be generated at the output terminals of encoder 352. When bits 14 and
15 have 0 values (which is equivalent to addressing location hexadecimal A8 in
virtual memory space), a subcommand CEDH2I-00 is generated at the 00 output ter-
minal of decoder 352. That signal is then applied to the enable terminal of reg-
ister 360. Register 360 corresponds to the HI-order data register 120 of Figure
lA. Accordingly, signal CEI02U provides a means for reading data from the high
order register 120 into the I-bus and onto the U-bus. However, since bus driver
110 has been inhibited by the presence of signal CEM2U, the memory space ad-
dressed by the address 103 is not read and only the high order register 120 is
read. In a similar manner, low order data register 121 is read when bits 14 and
15 are enabled respectively, thus addressing output terminal 01 ~the second out-
put terminal) of decoder 352. Hence the signal CEDL2I-00 is generated which is
applied to the enable terminal of register 361 on Figure 4A. Thus it is seen
that registers 360 and 361 of Figure 4A correspond to registers 120 and 121 re-
spectively of Figure lA.
Bus driver 110 of Figure lA corresponds to driver 370 of Figure 4B.

- 18 -
l,,j5,
"

~38lZl

This is a bidirectional driver and can drive data either from the memory bus 109
to the U-bus 112 or vice versa. The direction of data transfer is controlled by
the signal CEMB2U. When the signal is asserted, data is permitted to flow from
the memory bus 109 to the microprocessor bus 112. When it is not asserted it
permits data transfers in the other direction. The CEMB2U signal is generated
via AND gates 371 and 372 of Figure 4. These AND gates represent a simple
AND'ing operation of various signals such as the microprocessor CUREAD, the
strobe signal CTPHZ2 and the communication enable signals CESR2U and CEIN2U.
They generate the CEMB2U signal which is then applied to one input terminal of
AND gate 371. It should be noted when a transfer operation from the I-bus to
the U-bus is being made. In other words, a read operation from a register on
the I-bus to the U-bus then that signal would be high on the input of AND gate
371; and if the remaining signals are also high, the CEMB2U signal is high.
When this high signal is applied to the input terminal of driver 370 of Figure
4B it would inhibit information passing through via bus driver 110 from the I-
bus to the M-bus.
Having shown and described a preferred embodiment of the invention,
those skilled in the art will realize that many variations and modifications may
be made to effect the described invention and still be within the scope of the
claimed invention. Thus, many of the elements indicated above may be altered or
replaced by different elements which will provide the same result and fall with-
in the spirit of the claimed invention. It is the intention therefore, to limit
the invention only as indicated by scope of the claims.




- 19 -




'~ :

Representative Drawing

Sorry, the representative drawing for patent document number 1138121 was not found.

Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 1982-12-21
(22) Filed 1979-11-14
(45) Issued 1982-12-21
Expired 1999-12-21

Abandonment History

There is no abandonment history.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $0.00 1979-11-14
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
HONEYWELL INFORMATION SYSTEMS INC.
Past Owners on Record
None
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Drawings 1994-02-28 6 174
Claims 1994-02-28 6 184
Abstract 1994-02-28 1 15
Cover Page 1994-02-28 1 14
Description 1994-02-28 19 812