AU616171B2 - Computer with expansion slots for cards and card for computer with expansion slots - Google Patents

Computer with expansion slots for cards and card for computer with expansion slots Download PDF

Info

Publication number
AU616171B2
AU616171B2 AU12769/88A AU1276988A AU616171B2 AU 616171 B2 AU616171 B2 AU 616171B2 AU 12769/88 A AU12769/88 A AU 12769/88A AU 1276988 A AU1276988 A AU 1276988A AU 616171 B2 AU616171 B2 AU 616171B2
Authority
AU
Australia
Prior art keywords
memory
nubus
cpu
card
bus
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.)
Ceased
Application number
AU12769/88A
Other versions
AU1276988A (en
Inventor
Jonathan Fitch
Ronald Hochsprung
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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
Priority claimed from US07/025,500 external-priority patent/US4905182A/en
Priority claimed from US07/025,499 external-priority patent/US4931923A/en
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of AU1276988A publication Critical patent/AU1276988A/en
Application granted granted Critical
Publication of AU616171B2 publication Critical patent/AU616171B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • G06F13/4217Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with synchronous protocol
    • 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/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • G06F12/0661Configuration or reconfiguration with centralised address assignment and decentralised selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)
  • Coupling Device And Connection With Printed Circuit (AREA)
  • Memory System (AREA)

Description

(KEITH LESLIE a Member of the firm of DAVIES COLLISON for and ca behalf of the applicant) i V; 910812,dbwdat.078,BLAKELY2.,5 C-0 I0IONWRALTH 8 0F AUSTRALIA PATENT ACT 19S2 COMPLETE SPECI FICATION
(ORIGINAL)
FOR OFFICE USE 616171 CLASS INT. CLASS- Application Number: Lodged: Complete Specification Lodged: Accepted: Published: Priority: Related Art-: 'MAKE OF APPLICANT: ADDRESS OF APPLICANT: NAME(S) OF INVENTOR(S) APPLE COMPUTER, INC.
20525 Mariani Avenue Cupertino, California 95014 United States of America Jonathan FITCH Ronald HOCIISPRUNG -1 A~DDRESS FOR SERVICE: DAVIES 4 COLLISON. Patent Attorneys 1 Little Collins Street, Melbourne, 3000.
COMPLETE SPECIFICATION FOR THEf IWVETION4 EI!LED: "COMPUTER WITH EXPANSION SLOTS FOR CARDS AND CARD FOR COMPUTER WITH EXPANSION SLOTS" The following statemftt is a full description-5 of this inventioat including the best method of Performing. it known to us
-I-
'S.
A
it et 4.9 to t 4.4 4 4u 4t *9 9 9
BACKGR
1. F
T
expans.
specif printe memory OUND OF THE INVENTION ield of Invention his invention relates generally to computer systems having ion slots on a mother board (main circuit board) and more ically, to personal computers including such slotsa-i d circuit board cards-whc~chr e adapted to fit in such slots re connrected to a bus, where a portion of the address space in the computer is reserved for the slots.
2. Prior Art Computer systems having expansion slots are well known in the prior art. For example, the Apple IIe is a well known personal computer having expansion slots; memory is reserved for the slots in that computer. However, the memory of a card in that computer is accessed not by first presenting the address but rather by selecting a particular pin in the slot (along with the address) which tells the card in the slot that the address which the microprocessor is calling for is somewhere in that peripheral card's reserved memory. Moreover, the reservation of memory space for cards in these systems is relatively small 16-bytes or 256-bytes). That is, the address itself is usually not used alone to indicate when a card's address space is being addressed.
Various references are available to one with ordinary skill in the art concerning the general nature of these computer systems. For example: The Apple II Reference Manual, Apple Computer (1981); From Chips to Systems: An Introduction to Microprocessors, Rodnay Zaks, Sybex, Inc., 1981; An Introduction to Microcomputers, by Adam Osborne and Associates, 1975; and The Apple II Circuit 1A Ii^, 1 IiS| 1 18,,
I
Descriptin, Winston Gayler, published by Howard W. Sams Co., Inc. (1983).
A
*t 4 I r I 1 4 I It.
This invention relates more specifically to computer systems using systems buses which follow substantially NuBus specifications, which specifications describe the protocols (e.g.
logical, electrical and physical standards) and general standards of a sychronous (10 Mhz), multiplexed, multimaster bus which generally provides a fair arbitration mechanism. NuBus originated at the Massachusette Institute of Technology. It has subsequently been revised and exists as published in certain publications of Texas Instruments, Inc. (including Texas Instruments publication number 2242825-0001 and Texas Instruments publication number 2537171-0001). Recently, a committee of the Institute of Electrical and Electronic Engineers (IEEE) has proposed specifications for a system bus, as an IEEE standard, that is substantially a NuBus bus, although it has been modified from the specifications published by Texas Instruments. The proposed IEEE bus is referred to as the IEEE 1196 Bus. A copy of the proposed specification for the IEEE 1196 Bus (Draft 2.0) is provided with this application for whatever reference may be necessary by one of ordinary skill in the art. The IEEE 1196 Bus is substantially a NuBus bus as originally specified in Texas Instruments' publications.
In a NuBus system, there are 4-gigabytes of physical memory address space since there is a 32-bit address bus which may be coupled to a CPU capable of generating 232 different addresses. In its simplest form, a computer utilizing the NuBus architecture is 2
J'
i
I
i.
n i; 1 1, 1 f essentially a main circuit board having slots into which one places cards (sometimes referred to as modules) having microprocessors, memory and other circuitry generally associated with microcomputers. In effect, each card may itself be a microcomputer which communicates through NuBus to other cards in other slots which are also connected to NuBus. Thus, for example, a NuBus system may include a card having a CPU (central processing unit) microprocesror, a memory management unit, some memory in the form of random access memory (RAM) and read only memory (ROM), and a bus on the card which permits the microprocessor on the card to read the ROM on the card and to read from and write to the RAM on the card. In addition input and output circuitry may be included on the card, which circuitry permits the card to communicate through terminals on the card with parts of the rest of the system, including peripheral units such as disk drives, printers, video systems and other peripheral units. The card *c 0 I 9 9 0 0 4. 0.
4 typically has an edge which includes electrical terminals in the form of pins designed to make electrical connections with cooperating terminals in a slot. Such a card, having a microprocessor, would be capable of mastership of the NuBus bus by executing certain signals to initiate a NuBus transaction and thereby to transfer and receive information over the NuBus on the main circait board. Thus, that card could write information to memory located on other cards through NuBus (a transaction) and read that information through NuBus (another transaction).
In the NuBus system, memory is reserved for each of the slots. In the NuBus system, there can be up to 16 slots which are allocated memory space in the upper 1/16 of the entire 4-gigabyte 3 1 i B tr i k" g m i~
I:
ii
I
i NuBus address space. That upper 16th is 256-megabytes of memory space, and it is divided into 16 regions of 16-megabytes which are mapped to the 16 possible NuBus card slots based on a slot identification number which produces a distinct number at each slot, allowing a card in the slot to "read" the distinct identification number to determine the slot number of the slot into which the card is plugged. See, generally, pages 30-32 of the proposed specification of the IEEE 1196 Bus. Thus, each card gets a "slot space" of 16-megabytes. In the conventional NuBus system, a card's "slot space" is reserved by a device on the card which matches the distinct number (expressed in hexadecimal) of S the slot '(where the card is) to the second most significant hexadecimal digit (2nd MSHD) of an address appearing on the NuBus *i bus, when the address's most significant hexadecimal digit (MSHD) t. is Thus, the device determines when MSHD equals $F and then determines if the slot number (slot identification number) matches the 2nd MSHD; if there is a match, then the device permits the card to be addressed. Of course, the actual comparison by the card is done in binary, but for purposes of explanation, it is easier to consider the comparison aa Ji it were done in hexadecimal.
t 44 This NuBus system provides for considerable flexibility because the vast majority of the memory address space is unreserved. Moreover, the seemingly large (16-megabytes) spaces reserved for the slots (the slot spaces) provide considerable data storage ("data" is used herein to include computer programs).
However, too much flexibility fosters incongruities between cards i which may be used on the same mother board. That is, this flexibility permits one to design a card which reserves most of the remaining address space in the NuBus system which card would compete with another card developed to use a portion of the same memory space. Of course, switches and jumper cables may be utilized to configure the system to prevent over laps of memory space; however, such solutions are cumbersome in many ways, including their tendancy to frighten novices who would prefer a computer system that permits the user to simply plug the card into a slot and not worry any further.
The present invention solves these problems by allocating i automatically 1/16th of the entire memory address space to each slot in the NuBus system. Thus, it is an object of the invention to provide a system which configures itself and which is still flexible but which does not penalize the user because of its 7 flexibility. It i object of t n main circuit board (mother board) having slots which al greater automatic computer power due to increased me yspace for each f card. It is a further object of th nvention to provide printed S. circuit board cards (m s) which automatically configure to their memory arce and have increased memory space reserved for eac the cards.
I fi 1 7'A r -6- SUMMARY OF THE INVENTION ft t I ir ft Cr C CC C t In accordance with the present invention there is provided a computer system comprising a main circuit board including a central processing unit and slots each with means for receiving a printed circuit board card, memory coupled to said central processing unit (CPU) to receive addresses of memory locations from said CPU and to provide data to said CPU, said memory being disposed on at least one of said main circuit board and said card, said main circuit board including input-output circuitry coupled to said memory to provide data to said memory and coupled to said CPU to receive control signals from said CPU, said main circuit board having less than 16 slots, said main circuit board including a 32 bit address bus being coupled to said CPU and to said memory to address said memory, said CPU including an address generation means for generating 232 different addresses ranging from location $0000 0000 to location $FFFF FFFF, said location being in hexadecimal notation, each of said slots having a distinct number in said system and being coupled to said bus for addressing said memory, each of said slots being coupled to distinct identification line means on said main circuit board, each of said distinct identification line means providing a distinct, unchanging signal to the slot to which said distinct identification line means is coupled, said distinct signal for a particular slot identifying the distinct number of said particular slot, where said distinct number of a particular slot is said distinct number reserving 256 megabytes of memory space for each of said slots such that said 256 megabyte memory space beings at location $(ID)000 0000 and ends at location $(ID)FFF FFFF, whereby any card in slot X will have memory space reserved beginning at 25 location $X000 0000 and ending at location $XFFF FFFF, said locations being in hexadecimal notation.
In accordance with the present invention there is also provided a personal computer system comprising a main circuit board including a central processing unit (CPU) and slots each with means for receiving a printed circuit board card, memory coupled to said CPU to receive addresses of memory locations from said CPU and to provide data to said CPU, said memory being disposed on at least one 910808,dbwsp.033,parcnt.sp,6 h d cv "i I
A
6a of said main circuit board and said card, said main circuit board including input/output circuitry coupled to said memory to provide data to said memory and coupled to said CPU to receive control signals from said CPU, said main circuit board having less than 16 slots, said main circuit board including a 32-bit address bus being coupled to said CPU and said memory to address said memory, said CPU having an address generation means for generation 232 different addresses for addressing said memory over said 32-bit address bus, said 232 different addresses defining a memory address space ranging from location $0000 0000 to location $FFFF FFFF, said locations being in hexadecimal notation, each of said slots having a distinct numbar in said system and being coupled to said 32-bit address bus to receive addresses for memory disposed on said card in said slot, each of said slots being coupled to distinct identification line means on said main circuit board, each of said distinct identification line means providing a distinct, unchanging signal to the slot to which said distinct identification line means is coupled, each of said distinct signals providing the distinct number of the slot which receives said distinct signal, wherein said computer system has 256 megabytes of memory space ranging from location $XOOO 0000 to location $XFFF FFFF that is reserved for memory on a card in a slot having a distinct number equal to where $X is any integer from $0 to $E.
t i i BRIEF DESCRIPTION OF THE DRAWINGS Preferred embodiments of the present invention are hereinafter described, by c. 25 way of example only, with reference to the accompanying drawings, wherein: I iI 440 /t Q 910808,dbwspc.033,paren.SPC,7 BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of a general computer system of a preferred embodiment of the invention where there are 6 slots coupled to the NuBus bus Figure 2 is a map of the physical address memory space of an embodiment of the invention.
Figure 3 is a physical address memory space map showing the memory fc space allocation for a preferred embodiment of the invention.
4 t Figure 4 shows a printed circuit board card of the invention which
S
t is intended for use with the mother board of the invention.
Figure 5 is a block diagram showing the NuTus interface with a microprocessor on the main circuit board.
4 4 4 S Figure 6 is a block diagram showing the various NuBus clocks designed for use with the NuBus bus.
Figure 7 shows the phase relationship of the various NuBus clocks.
Figure 8 is a block diagram of the interface between the mother board processor (CPU 1) and NuBus cards in NuBus slots.
Figure 9 is a block diagram showing the NuBus to mother board processor bus interface.
7 i K
IV'T>
ii] Figure 10 shows an address memory space allocation as seen by a card in a NuBus slot where the card accesses the ROM portion of memory 2 by addressing the upper portion of the small space for slot 0.
Figure 11 is a perspective view of the main circuit board (mother board) of a computer system according to the invention.
Figure 12 is a schematic diagram of an exemplary decoder means o-f e comtor S -et.
utilized on a card according to- the inventen Figure 13 is a block diagram of a computer system according to the invention.
S;t C S; Figure 14 shows a printed circuit board card of-the--invent-ion which is intended for use with the main circuit board of the invention.
'4 t 4 SI i n. l 1 iti
I
DETAILED DESCRIPTION OF THE INVEN In the following description described and shown, such as circ locations, logic values, etc. in understanding of the present inve obvious to one skilled in the art be practiced without these specif well known components and sub-sys in order not to unnecessarily obs tf i-i
TION
i, numerous specific details are uits, block diagrams, memory order to provide a thorough ntion. However, it will be that the present invention may ic details. In other instances, tems are not described in detail, cure the present invention.
ql
S
4444 c 44 r 4 4r 4r 4 Figure 1 shows the general structure of a computer system according to the present invention. The system includes a central processing unit 1 (CPU which is usually a microprocessor, and which is coupled to memory 2 to permit the CPU 1 to read data from the memory 2 and write data into the memory 2. The CPU 1 is coupled to the memory 2 to provide addresses of memory locations via the processor bus 5, which acts as an address bus and provides addresses to the memory 2 from the CPU 1. Data (which includes computer program instructions) from the addressed memory locations is provided by the memory 2 into the processor bus 6 which acts as a bidirectional data bus. The CPU 1 may write to the memory 2 by first providing an address over the processor bus 5 which addresses memory locations in the memory 2 according to the address signals over the processor bus 5 and then writing to the memory 2 by providing data over the processor bus 6 to the memory 2. As is well-known, certain signals from the CPU 1, which may be carried over the processor bus 5, indicate whether the CPU 1 is writing to the memory 2 or reading from the memory 2. The It c 44 4 4 i i i i i i !:ii /1r i t r ji
I
i h(
(II-
;P
i processor bus 5 is a 32-bit address bus and thus includes 32 address lines which provide the address signals. The processor bus 5 further includes control signals R/W (read/write) and Chip Select) which indicate whether the CPU 1 is reading (from the memory) or writing (to the memory) and other associated control signals, including control signals for the particular microprocessor being used and timing signals column address strobes and row address strobes) as is well-known in the prior art and therefore is not discussed herein in greater detail. The processor bus 6 includes a 32-bit data bus (and thus 32 data lines which provide the data signals) and associated control signals for the particular microprocessor being used which are typically .included with data buses, as is well-known in the prior art (e.g.
write enable signal, etc.). The CPU 1 according to the invention I includes an address generation means for generating 232 different S' addresses ranging from location $0000 0000 to location $FFFF FFFF (the dollar sign indicates hexadecimal notation); that address 0 z <generation means is typically coupled to the processor bus 5 and i 'r is part of the CPU 1, such as the microprocessors 68020 (Motorola) and 80386 (Intel).
The computer system also includes input and output circuitry 4 t
I
which, as is well known in the prior art, is used to interface the computer to receive data from and provide data to peripheral units. The details of this circuitry are well known.
Input/output circuitry 7 is coupled to the CPU 1 and the memory 2 via the interconnect bus 13 and the processor bus 6 and the processor bus 3. The I/O circuitry 7 may be utilized to provide access to peripheral devices, such as disk drives, said main circuit board, each of said distinct identification line means providing a distinct, unchanging signal to the slot to which said distinct identification line means is coupled, said distinct signal for a particular slot identifying the distinct number of said particular slot, where said distinct number of a particular slot is /2 6printers, modems, video displays and other peripheral units for use with the computer system. As shown in Figure 1, a disk drive 8 is coupled to the I/O circuitry by an interconnect bus shown between the I/O circuitry 7 and the disk drive 8. The I/O circuitry 7 is coupled to the memory 2 through the processor bus 6 to provide data to the memory and to receive data from the memory and from the CPU 1; the bus 3 allows the CPU to address the peripheral units attached to the I/O circuitry 7 and allows the I/O circuitry 7 to address the memory 2. The I/O circuitry 7 is also coupled to the CPU to receive data and control signals from the CPU 1. Thus, the peripheral units, such as the disk drive 8, C can exchange data (which includes programs) with the CPU 1 and the memory 2; it can also exchange data with any cards and the slots coupled to the NuBus 10 such as slot 29 which has a distinct S number, in the computer system shown in Figure 1.
In a typical transaction the CPU 1 provides an address over the bus 5. The memory 2, which is coupled to the bus 5, receives the addresses and provides a value over bus 6 based on the location addressed according to the address provided on the bus The data from memory 2 is provided over the processor bus 6 to the CPU 1. Memory 2 typically includes RAM and may further include t i 5..
ROM (read only memory). The processor bus 6 is coupled to the NuBus 10 through the interface 9 and inter-onnect buses 11 and 12.
The computer system shown in Figure 1 includes six "expansion" slots which are designed to receive printed circuit board cards and to make electrical connections with circuitry on the cards, such as cards 50 and 50a in Figures 4 and 14 11 i i *r7 respectively. That system includes slots 34 which are each coupled to another syste mother board. Thus, slot 29 is coupled t( interconnect bus 19. Each of the slots ii terminals, each of which is electrically Ssignal line of the NuBus bus 10 through t thus, each of the slots 29, 30, 31, 32, 3: of cooperating terminals which provide el the NuBus bus 10. A card according to th< includes terminals 51 which are designed t connections with the respective cooperatir Sl" to thereby permit components on the card t S"4 signals of the NuBus bus A card in one of the slots 29, 30, 3 communicate with the memory 2 via the NuB CPU 1 can communicate with any memory on t S' interface 9, which is described below. Fc *0 interface 9 receives addresses for memory the CPU 1 over the bus 25 and provides the NuBus 10 through interconnect bus 11; the allocate and synchronize the processor bus i (4 between the CPU 1 and any CPU on a card (w the NuBus bus to read from or write to the Similarly, the interface 9 receives addres from a CPU on a card ("NuBus device") thrc ,.9.1 29, 30, 31, 32, 33 and em bus, NuBus 1G, on the o NuBus 10 via the ncludes cooperating coupled to a particular ie interconnect buses; 3 and 34 includes a set ectrical connections to i present iivention to make electrical ng terminals in the slot, to receive all of the 1, 32, 33 or 34 can us interface 9, and the :he card via the NuBus >r example, the NuBus on a card in a slot from >se addresses onto the interface 9 serves to es 5 (through 25) and 6 hich may seek to control memory on a card).
ses for the memory 2 ugh NuEus 10 and the r 1 i i i 1 i.
i: r t interconne buses and address) n ect bus 11; following synchronization to the processor determination that the NuBus device (which generated the nay take control of the processor buses (by placing 12 including the best method of performing.it known to us -1- I- -R I I r rr~ address signals onto the proce the interface 9 provides the ac is connected to the memory 2.
from the addressed location, w which is coupled to the interfi the NuBus device through the Nl The computer system shown as an expansion bus for a compi where the CPU 1 processor buse be NuBus buses. Thus, the slot the capability to expand the s3 additional memory or an additic possible to utilize the inventJ ts H there is no CPU on a main circt board. Such a system is shown below.
FB ssor address bus 5.through bus ddress signals to the bus 25 which The memory 2 responds with data hich data is placed onto the bus 6 ace 9 which provides that data to uBus in Figure 1 utilizes the NuBus bus iter system on a main circuit board s on the main circuit board may not ts coupled to the NuBus 10 provide ystem to include, for example, onal processor card. However, it is ion with a NuBus architecture where lit board and no memory on that in Figure 13 and will be described I .r 4 44 4 4 4: 4 4 4 Figure 13 shows a general example of the invention for a computer system utilizing a NuBus bus 120 on a main circuit board which includes slots each of which %s coupled to the NuBus bus 120. The main circuit board of such a system, as illustrated in Figure 13, may include the NuBus bus 120 and 15 slots designated as slot 130, slot 131,...through slot 144. Each of the slots is coupled to the NuBus bus 120 by in interconnect bus; hence, slot 130 is coupled to the NuBus bus 120 by interconnect bus 150, which interconnect bus normally includes all lines of the NuBus bus 120 and, in addition, includes four lines which serve as distinct indentification line means. These four lines typically carry 13 1I i Ir if i i.~f.ll I i i- ir Adam Osborne and Associates, 1975; and The Apple II Circuit A 1A 7OlA j- -y
WO
-4: binary values which together can specify any num Each of the slots receives a distinct identificat which provides a different (distinct) number to That is, a distinct identification line means inc of the interconnect bus 150 carries a distinct si Slot 144 slot SE) has a distinct identification incorporated as part of the interconnect bus 164 value (a distinct signal) equal to SE. It is not no 16th slot because the NuBus standard uses the megabytes (shown as region 40 in Figure 2) for th spaces (16-megabytes each) allocated to slots 0 t is seen more clearly in Figure 2 which illustrate 'address memory space of a system such as that sho S Each of the slots $0 through SE have a."super spa megabytes. Thus, for example slot 0 has a super megabytes which was reserved for it from memory 1 0000 to $OFFF FFFF. This space is shown generall Figure 2. This system shown in Figures 13 and 2 $0 with memory space reserved for that slot; howe *9 o. ,microprocessors favor memory in region 41 (the sl space), for the sake of convenience a typical app general invention Figure 13) may not includ no reservation of memory space 41 will be made fo slot. Thus, any cards in the remaining slots (i.
SE) may use the mamory in region 41. Of course, slots less than 15 may be implemented according t As required by the NuBus standards, each of the s SE have reserved for them 16-megabytes of space 1 256-megabyte region labelled generally 40; this r ber from 0 to :ion line means each of the slots.
:orporated as part .gnal equal to 0.
line means which provides a :ed that there is upper most 256- Le small slot hrough 15. This s the physical wn in Figure 13.
ce" of 256space of 256ocation $0000 y by number 41 on includes a slot ver, because many ot $0 super lication of the e a slot $0 and r any particular e. slots $1 to any number of o the invention.
lots $0 through ocated in the egion spans from
I
ET
i i; c- L- &iL auaresses. In its simplest form, a computer utilizing the NuBus architecture is 2 ik cards. Each of the small spaces in the region 40 is also referred to in the NuBus standards as the "slot space". Addresses of the form $FSiXX XXXX reference address space which belongs to the slot space of the card in slot Si. See pages 30-31 of the IEEE 1196 Specification, Draft 2.0 which is submitted with this disclosure.
Figure 2 illustrates the general physical address memory space of the system illustrated generally in Figure 13. The main circuit board which includes NuBus 120 does not include a CPU or 0 *9 c a memory. The system clocks 170 on the main circuit board provide the NuBus clock signals and are coupled to the NuBus 120 via lines 175 as shown inFigure 13. Not shown, but understood is the power supply circuitry for the NuBus signals. It is also understood that the main circuit board of the system shown in Figure 13 should include other NuBus services which are not placed on the f t cards, such as the NuBus timeout circuitry.
The compu e ssst em shown in Figure 13 would typically Sinclude two printed circuit board cards one of which would be inserted into one slot and the other card (a second card) being are generally illustrated in Figures 4 and 14. They include a printed circuit board card 50 or 50a and terminals 51, which terminals are coupled to various components and signal lines on i 'S~V~F,~Wr'l '1" -i allocated memory space in the upper 1/16 of the entire 4-gigabyte 3 4 the card 50 or the card 50a. The terminals 51-are on a portion of I
-I
a printed circuit board which protrudes into a receptacle in the slots which contain cooperating terminals for making electrical connections with respective terminals on the card. The physical.
standards of the interconnections are specified by the NuBus standard. The cooperating terminals in the slots are coupled to the various lines and components on the main circuit board; for example, many of the cooperating terminals in the slots are electrically coupled to the NuBus bus signal lines. These cooperating terminals permit the components on the card to receive the various signals present on the NuBus bus 120 and to permit one .a card in one slot to communicate with another card in another slot S• through NuBus 120 via the interconnect buses, such as interconnect l 150 and 151.
In the present example involving Figure 13, the first card (assumed to be in slot includes a CPU, such as CPU 61 shown in Figure 4, and a memory, such as RAM 62 and ROM 62 which are coupled together through a card bus 65 disposed on the first card The CPU 61 and the memory 62 are coupled to the system bus, 'which is the NuBus 120, through the terminals 51 on the card The second card 50a (see Figure 14) in slot $1 includes a memory So.* 62 shown in Figure 14, such as a random access memory, but does not include a CPU. Such a card is referred to as a slave card and cannot take mastership of the bus 120. The second card typically i includes a card bus 65 which includes most (if not all) of the same signals found on NuBus 120. Certain of the address (and data) lines of the NuBus 120 (which are referred to as AD in the IEEE 1196 specification, Draft 2.0 since the addresses and 16 6' 'f 1 1 Lxi o iCy rosters incongruities between cards which may be used on the same mother board. That is, this 4 mam -'4 1~i ::4 t t 4 0 *0 C 4 '.4 4'1 4I 4 *4 L 4 data are multiplexed over the same lines) are applied to the decoder means 60. The bus 66 shown in Figure 4 usually carries the complete NuBus address and data signals and control signals and power signals. In this disclosure, the 32 address lines of NuBus (which also serve as the 32 data lines on NuBus) are referred to as A31 through AO even through they are the NuBus signals AD Essentially, the decoder means 60 of card permits the memory 62 on the second card 50a to be addressed when the addresses on the NuBus 120 are in the reserved address space of the second card, which in this instance is addresses from location $1000 0000 through location $1FFF FFF. When the addresses are in that reserved memory space, the decoder means activates the Chip Select (CS) lines (which are coupled to the line 64 from the decoder means 60) of the memory 62 on the card thereby indicating to the various RAM and ROH chips on that card that they are being addressed, thereby addressing the memory 62 on the card 50a in slot Thus, the memory on the second card 50a will receive addresses from the system bus when the decoder means enables, by the Chip Select pins, the memory chips.
Thus, the CPU on the first card 50 in slot which CPU has an address generation means for generating 232 different addresses for addressing memory, provides an address through the terminals of the card in slot $0 onto NuBus 120. Portions of that address appear in the decoder means 60 on the second card 50a. If that address is in the range $1000 0000 to $1FFF FFFF the memory on the second card will respond providing data onto NuBus 120 during the appropriate timing cycle.
17 '1 t t.
t!
P
The decoder means 60 on the second card in slot $1 of Figure 13 compares the distinct number of slot which number is to the most significant hexadecimal digit of the address appearing on the system bus (NuBus bus 120) to determine when the distinct number, in hexadecimal, is equal to the most significant hexadecimal digit of the address. When that occurs, the decoder means enables the second memory to be addressed to provide data onto the system bus. Thus, the 256-megabyte "super space" is reversed for the second card in slot As explained below, the decoder means also performs the function of reserving the 16megabytes of memory space called for in the specifications of NuBus systems.
:OE It will be appreciated that slot $1 of Figure 13 is coupled to a distinct identification line means which provides a distinct signal to that slot, which signal identifies a distinct number of that slot. This is true for each of the other slots in Figure 13 slot 144 has a distinct signal of SE which is the distinct number of that slot). Typically, a distinct identification line 94 means comprises four conductors carrying binary values. For slot only one of the four lines will carry the binary value 1 while all others will carry the binary value 0, where the 1 is in the least significant binary digit. Thus, the distinct identification line means will provide the distinct signal 1 to the slot $1 which will identify that slot as having a distinct number It is understood that other ways of identifying a distinct number may be accomplished, such as providing an identification number which through arithmetic conversions produces the distinct number of the 18 mow" memory coupled to said CPU to receive addresses of memory locations from said CPU and to provide data to said CPU, said memory being disposed on at least one slot. Alternatively, one conductor having multilevel logic may be provided as the distinct identification line means.
A preferred embodiment of the invention utilizing six (6) slots will now be described with reference generally to Figures 1, 3, 11 and 12. Figure 11 shows a perspective view of a main circuit board 14 (also referred to as a mother board) which includes a CPU 1, memory 2 which includes read only memory (ROM), I/O circuitry 36, and six slots numbered 29 through 34. The mother board 14 also includes a connector means for providing a connection to a key board as shown in Figure 11. As with any other personal computer system, the mother board 14 also includes I various other circuitry, such as power supplies, latches and systems as is well known in the prior art. .Each of the slots 29, D Sbuffers3, drAler3nat and o include ctor haing ulttrm clok ic may e c provideda conectincs typially assciaton wih ersnal cm er i 0 Spinserted into the slot. Each of the slots 29-34 receive, Sslaccording to NuBus standards, substantially all the NuBus signals in3 N aBs 10 as shown in Figure h a Th e slots receive the N signals through interconnecting buses 19, 20, 21, 22, 23, and 24 as shown in Figure 1. These connections are commom (identical) to S each of the slots except for the distinct identification line means which identifies to each of the slots a distinct number that each slot has. us In this partcular embodiment, slote 29 ts assigned a distinct mother board 14 also includes a connector means for providing a connection to a key board as shown in Figure 11 As with any number $9 by four conductors (lines) carrying binary values as 19 t. as sown n Fgure1. heseconectins re cmmo (idntial) o 910808,dbwspc.033,pucnt.sp,7 illustrated in the table below. These four conductors are part of the interconnecting bus 19 although they need not be physically present throughtout the entire length of the lines in the NuBus because they can be locally provided in the immediate proximity of slot This is similarly true for slots 30, 31, 32, 33 and 34.
The Geographic Address shown in Table 1 is, of course, the distinct number of each of the slots.
1 Table 1 NuBus Slot Numbers For Figure 1 System Slot Geographic Binary Number Address Ef 2 Galua in Fig. 1 0 29 $9 GND open open GND 1001 30 SA GND open GND open 1010 31 $B GND open GND GND 1011 32 $C GND GND open open 1100 S"33 SD GND GND open GND 1101 34 SE GND GND GND open 1110 (Binary Values shown after logical inversion by an inverter of the NuBus signals) Each of the lines in the distinct identification line means for each of the slots is coupled to circuitry which attempts to pull up the lines to the power supply signal +5V. This circuitry will usually involve a pull up resistor, according to NuBus standards, on each of the distinct identification lines, which resistor will pull up the open signals to substantially .+5V and the ground signals will remain substantially at ground. The circuitry shown in Figure 12, which will be discussed below, assumes that the open signals have already been pulled up (prior j :r'.4
A
'4 i I1151 11~~F I I *14 44 44 4 4 4 4 #4.
4- £r r 4 i 44 .9 4r 4 to applying them to the decoder means 60) substantially to the power supply voltage level of +5V and that the NuBus signals (including the GA3...GAO signals and address (A31...AO) signals) have been logically inverted by an inverter. Furthermore, each of the NuBus signals on NuBus bus 10 must be inverted logically (through an inverter on the cards) before application to the circuitry on the NuBus cards card 50 and card similarly, signals from the cards onto NuBus bus 10 must be inverted logically (through an inverter). Typically, these inverters would be included on the input and output buffers used on the cards. At the'interface 9, which interfaces between the NuBus bus 10 and the motherboard circuitry CPU 1, Memory 2, I/O Circuitry 7, the various buses 5, 6, 25, etc.), signals going onto the NuBus bus 10 are inverted and.signals coming from NuBus bus 10 are inverted. Thus, for example, the GA3 NuBus signal (GND) which is applied to the slots is inverted to logical one on the card and is then applied to the circuitry in the decoder means 60 shown in Figure 12. These inversions are well known in the art. Of course, if the CPU 1 and its associated circuitry and buses buses 5, 6, 25.) utilize the NuBus system, standards and signals, then no inversion at the interface 9 is necessary.
It can be seen that in this embodiment (shown in Figures 1, 11 and slot 30 will have the distinct number slot 31 will have the distinct number SB; slot 32 will have the distinct number $C in the computer system; the distinct number for slot 33 will be SD, and slot 34 will have the distinct number SE. In the IEEE's proposed specificiation for the NuBus, referred to as the IEEE Ib ii 4 i: i _-L4 referred to as the card slot identification and are represented by the symbol "ID which represent the geographical addresses GA3, GA2, GA1, and GAO. As noted in that specification of the IEEE, at page 6, these four lines are not bussed but are binary encoded at each position to specify the card's position in the computer.
According to t he present invention, a computer system as b generally shown in Figure 1 results in a physical address memory space as shown in Figure 3 where each of the six slots has a "super space" containing 256-megabytes of reserved memory space.
EThus, for example, slot $9 has a reserved super space beginning at 4' 0 4 4o 4 4, *0 4. 0 4 C 4r 4, location 9000u u0uu and ending at location 9FFF r FFF. in addition, slot $9 may also have a small space ("slot space") reserved according to the NuBus specification; in accordance with those specifications, slot $9 will have a small space reserved for it beginning at location $F900 0000 to location $F9FF FFFF. As shown in Figure 3, the 256-megabyte region 42 contains the small spaces for the various slots. There is an unreserved NuBus memory address space 43 which may be used by additional expansion slots which may be added to a system designed according to the present invention. The lowest 256-megabyte memory space, designated 45 is the local address space for the CPU 1 which is assigned the distinct number $0 as if it were on a card in slot The CPU 1 may be designed to "occupy" additional slots--that is it may be assigned distinct numbers 2 and 3 and therefore have the entire region 44 reserved as in the particular embodiment shown in Figure 3; in effect, the motherboard becomes a card in 4 slots 22 p f..i 1* writing to the memory 2 or reading from the memory 2. The 9 i emum 1, 2, and If the designer seeks to isolate super space slot $0 completely for CPU 1's use prevent a NuBus access to that super space the NuBus interface 9 will be designed to prevent such access but permit access to the data in super space $0 by aliases replicated in super space $1 or $2 or Thus, NuBus addresses on NuBus 10 in super space $0 may be decoded to the same respective location $OXXX XXXX to $1XXX XXXX) in super space In such a situation the NuBus cards (in the actual physical slots $9 through may access the slot $0 super space by addressing super spaces 2 or 3 which can be designed to include aliases of the data stored in super space The address space ($0000 0000 to $1000 0000) is also the local address memory space for cards operating entirely on the. card without a SNuBus transaction; that is, a card, such as the one shown in Figure 4 having a CPU may locally address its local RAM on the card in this same address space 45 provided the CPU does not initiate a NuBus transaction. Such an arrangement for purely local transactions on the card is implemented by address decoders on the card as is well known in the art.
This particular embodiment shown generally in Figure 1 also reserves additional memory space for the I/O circuitry and read only memory (ROM) which is part of the Memory 2 as shown in Figure ti 3. In particular, address memory space is reserved from $4000 0000 to location $4FFF FFFF. Moreover, memory address space for I/O oDerations and circuitry is reserved from location $S00O 0000 I to location $5FFF FFFF. Figure 3 shows an embodiment of the present invention where the I/O and ROM memory space is located $4000 0000 to $5FFF FFFF. Thus, access to ROM or I/O informatic at n provide access to peripheral devices, such as disk drives, 1< motherboard I/O and ROM memory space with resmpet to NuBus cards is located at SF000 0000 to $FOFF FFFF. In this embodiment, the memory space of motherboard I/O information and system ROM (on the motherboard) which is accessible by the NuBus cards (in NuBus slots) is limited to 16 MB (megabytes) while CPU 1 may still access region $4000 0000 to $5FFF FFFF; however, many possible systems can be constructed in which this limited space of 16 MB is sufficient for ROM and I/O use. Thus, for a NuBus card, it may Saccess the ROM which is part of memory 2 on the motherboard by presenting addresses in the range $F000 0000 to $FOFF FFFF on the 4NuBus bus which causes an access to that ROM. This is implemented G in well-known fashion by the interface 9 which decodes addresses Sfrom NuBus bus in the $F000 0000 to $FOFF FFFF region into the ROM and I/O region of the motherboard ($4000 0000 to $5FFF FFFF). The *CPU 1 need not be similarly .constrained, and accordingly, it may i °seek motherboard ROM or I/O memory by addressing the region defined by $4000 0000 to $5FFF FFFF; that is, CPU la may have additional ROM or I/O memory (as part of memory 2) which is not available to the NuBus cards (which are limited in access to essential system ROM and I/O on the motherboard). This embodiment of the invention, as shown in Figure 10 is consistent with the NuBus standards which require a configuration ROM be located at the top of the 16 MB small (slot) space; thus, slot $0's ROM space is located at the top of the space SF000 0000 to $FOFF FFFF.
24 the cards, such as cards 50 and 50a in Figures 4 and 14
(I
The card according to the present invention will be described with reference generally to Figures 4, 12 and 14. Figure 4 shows a card of the present invention-which may be incorporated into the computer system of the present invention by plugging it into one of the slots of the system, such as slot 29. The ca,,d includes a printed circuit board 50 on which is disposed conducting means forming various lines such as the card bus 65 and the interconnect buses 67, 68, and 69. Similarly, Figure 14 shows a card 50a."4 th present inuention which is substantially identical to the card shown in Figure 4 except it does not include a CPU 61 which generally permits the card 50 to act as a master with respect to the NuBus bus 10 while the card 50a shown in Figure 14 can usually only be a tlave and cannot take control of the NuBus bus 10 and cannot initiate a NuBus transaction. The cards 50 and 50a include terminals 51 which make electrical connections with cooperating 2' terminals in the slots to thereby couple the various components on the cards to the various signals appearing on the main circuit board 14. All NuBus signals (to and from NuBus) are buffered and K 2' inverted by the buffers 59 on the cards. Thus, for example 22'. interconnect bus 63 connects the address lines A31 through A24 of the NuBus 10 to the decoder means 60. The bus 63 also includes power and the distinct identification line means, which in this embodiment has four signal lines GA3, GA2, GAl, and GAO, that are coupled to terminals 52, 53, 54, and 55 respectively. That is, the signal GA3 is applied to terminal 52 through a cooperating terminal located in the slot which receives the card 51).
Similarly, the signal GA2 is applied to terminal 53; signal GAl is applied to terminal 5i4; and GAO is applied to terminal 55. These terminals 52, 53, 54, and 55 are coupled to conductor moans which 4 auuLIws; may raxe control of the processor buses (by placing lirc~ present these four signals (as inverted) to the lecoder means at the input 82 of the decoder means 60, as shown in Figure 12.
The signals present in the slots of this particular embodiment are presented below in Table 2 and are NuBus signals.
Of course, NuBus 10 includes a 32-bit address bus which, during a first read cycle presents the address of the memory location sought to be accessed and during a second cycle acts as a data bus and receives data stored in that memory location. During a writing to memory, NuBus 10 carries, on its 32-bit address bus during a first cycle, the address of the location to be written to and during a second cycle NuBus 10 provides the data to be written into the location addressed in the first cycle. The NuBus 10 is substantially an IEEE 1196 bus. The cards generally accept and use most of these signals although their use will depend on the particular needs of the card and the designer's goals.
Table 2 NuBus Slot Signals Description 49 04 0 99 #9 r 4 *I .94 .9 .9.9) II 49 ii 4
I'
+12V -12V -5.2V
GND
RESET
Power to slot. 5 Volts.
Power to slot. 12 Volts.
Power to slot. -12 Volts Unused in this embodiment. All -5.2V signals are connected together on the slots.
Power return for.+5V, +12V, and -12V.
Open collector signal. Asserted at power up, by the CPU 1, or by a push button reset switch which may be included. Pulled up to +5V by a 1K ohm resistor. Slot card should use this signal to reset circuitry on card.
26 inaentirlcation line means, Tnese tour lines typicanLy carry 13 SPV Slot Parity Valid. If a card is providing parity on /SPthis signal is asserted. The slash indicates the signal is active low--that is, it activates its target when it goes low.
SP Slot Parity. Odd parity of /ADO-/AD31 if /SPV asserted.
TMO-TM1 Transaction modifiers. Used during START cycle to indicate the size of the transaction. Used during ACK cycle to indicate completion status.
AO-A31 NuBus Address/Data bits 0 through 31. Used du START cycle to indicate address. Used during ACK cycle to indicate data. NuBus specifications refer to these sugnals as ADO- AD31 or AD because the same 32 lines carry address during a first cycle and then carry data during a second cycle.
PFW Power Fail Warning. An open collector signal pulled up by a 220 w resistor to +5V. When the signal is pulled up the power supply is activated. When this signal is pulled low the power supply is disabled. The power supply itself will pull this signal low as a power fail warning 2 ms before the AC power is lost.
This is an option under IEEE 1196 standards.
ARBO-ARB3 Arbitration bits 0 through 3. Open collector signals which are terminated in the slots in accordance with IEEE 1196 specifications (see, Table 6 of the specifications). Used to arbitrate bus mastership between the slots according to NuBus Specifications.
S; GAO-GA3 Geographical Address bits 0 through 3. Hard coded binary address of slot. Pins tied to GND or open (or +5V instead of open).
START Asserted to indicate the presentation of an address on AO-A31. Also used to start arbitration for the bus mastership.
ACK Acknowledge. Used to indicate acknowledgement I of START cycle.
RQST Request. Asserted to request bus mastership.
NMRQ Non-master request. An open collector signal which are terminated in the slots in accordance with IEEE 1196 specifications (see, Table 6 of the specifications). Used by card to signal a interrupt to interrupt receiver.
27
'I
L: Lv.aYL o u eau yenerai±y qu; tnis region spans from f 14 S. CLK NuBus Clock. Asymmetrical 10 MHz clock which sychronizes transactions on NuBus.
The construction and use of the decoder means 60 is known by those with ordinary skill in the art. It essentially involves the use of a comparator means with an enabling means where the comparator compares the NuBus address to the signal appearing on the distinct line identification means and determines when the address is within the reserved memory space for the memory 62 of the card. However, the use of the decoder means in this context to reserve 256-megabytes of memory space is novel and accordingly, a description of a simple decoder means including a comparator means and an enabling means will be described. It is within the ordinary skill of the art to develop other decoder means which r perform the functions of the present invention.
In a typical transaction between the card 50a and the CPU 1, c the memory 62 is selectively coupled to the CPU 1 through NuBus and its associated interface 9, described below, to receive S addresses and to provide data (or receive data when written to) over NuBus 10. The CPU 1 includes an address generation means for generating 232 different addresses from location $0000 0000 to location $FFFF FFFF. Addresses from the CPU 1, which are 32-bits wide, exit the CPU 1 through the processor bus 5. The 32-bit address then enters the interconnect bus 25 and appears at the interface 9 which determines that the address is within the NuBus address space, which begins at $6000 00000. Below that address, memory 2 and I/O circuitry 7 will be addressed by the CPU 1. At and above that address, memory in the slot's super spaces or small 28 28 .4t I'hole rnacin nN~s spaces will be addressed. Interface 9 determines that a NuBus address is being selected and permits, after synchronizing the address signals of the CPU 1 to the NuBus and determining ownership of the NuBus 10 in favor of the CPU 1, the address to appear on NuBus 10 through the interconnect bus 11. For purpose of illustration, we shall assume that a card 50a, shown in Figur 14 is in slot $9 which has a distinct number in the system of $9 The decoder means 60 receives the address signals through NuBus and determines whether the addresses are for that card's memory space.
The decoder means 60 includes a comparator means 70 which compares the most significant hexadecimal digit of the address SI* (for reading or writing) to the distinct number, in hexadecimal, of the slot into which the card having the decoder means 60 is plugged. The decoder means also includes a control and clock signal means 71 which includes NuBus clock and START and ACK s e 'a a aa 4 4 4
I;
9+ 4L I ii signals. The decoder means may also further include a driver, a well-known component in the prior art and hence not shown, which provides enough current to drive the output from the decoder means 60 to sufficient levels to affect the target of those outputs, wnicn is The compa 60, compa space is or 73) de the super comparato Chip Sele tne cnip Select (CSj lines ana pins of the memory 62.
rator means 73, which is also part of the decoder means res the address to determine whether the slot's small being addressed. When one of comparator means (either termines that the address appearing on NuBus 10 is within space or small space of the card, that particular r means along with the control means 71 activates the ct (CS) lines connected to the memory 62. The Chip i 29 in the IEEE 1196 specification, Draft 2.0 since the addresses and 16 Select (sometimes referred to as the Chip Enable Signal) line is used, as is well known, to indicate to memory, such as memory 62, that it is being addressed (either for reading or writing). The Chip Select lines are coupled to line 64 as shown in Figures 4 and I 14.
The comparator means 70 of the decoder means 60 includes four exclusive OR gates such as the exclusive OR gate 76 which compares the GA3 signal (appearing at input 92) to the most significant binary bit of the 32-bit address line, A31, which is input at input 91 of the exclusive OR gate 76. It is understood, as noted before, that the NuBus signals in the decoder means are inverted (on the card in buffers 59); thus, GA3...GAO, the address signals A31...A24 and START, ACK and CLK as used in the decoder means 60 are inverted. For example, the START signal S. shown in Figure 12 is the inverted NuBus START signal. If the S' most significant binary bit of the address is equal to the signal GA3 then a logical 0 will appear at the output of the exclusive OR gate 76, which output is passed via line 93 to a four input OR gate 77. The address signals A31 through A28 and certain signals, i: such as power and ground, are applied to the comparator means at the input 83. These signals are then provided to the various exclusive OR gates of the comparator means 70 as shown in Figure 12. The output from each of the exclusive OR gates in comparator means 70 will be logical 0 only if the two inputs to a particular XOR gate are identical. Thus, each exclusive OR gate does a bit for bit comparison between one of the bit carrying lines which acts as a part of the distinct identification line means and one of the four most significant address lines. It can be seen that .ill 17 when a distinct number, in hexadecimal, is equal, to the most significant hexadecimal digit of the address, each of the exclusive OR gates will produce a logical 0 at its Output causing the output of the OR gate 77 to also be logical 0 causing node to be logical 0. Node 70a is coupled to the output of OR gate 77 and is also coupled to one of the inputs to NAND gate 90 which is part of the control means 71. The output from the comparator means 73 is coupled to node 73a in the control means 71 and is also coupled to the other input of NAND gate 90. When an address is in the card's slot space, the output of the comparator means 73 will be logical 0 and node 78 (the output of NAND gate 90) will be logical 1. When an address is in the super space of the slot, the output of comparator means 70 will be logical 0 and node 78 (the output of NAND gate 90) will be logical 1. When the address is V not in the Slot's small space and not in the card's super small, node 78 will be logical 0 (since node 70a and node 73a will each be logical When the address is valid (during a START), the signal at the output of AND gate 87 will be logical 1 and will be clocked (at the next NuBus clock pulse) to the output Q of the 4 flip-flop 80 so that a logical 1 appears at node 79. Thus, when 4 an address is valid And is in the card's reserved space (small or super) nodes 78 and 79 will be logical 1 causing line 64 to be logical 0, thereby activating the memory 62 for addressing. At a 44 the end of the time when the address is valid, the output of AND gate 87 will be logical 0 and will be clocked to node 79 (through the JKfi-flop 80) and the memory 62 will be deactivated. When an adress is valid, START (as shown in Figure 12) is logical one and ACK is logical 0 (see insert to Figure 12 showing a timing diagram of the signals START, ACK and CLK which are inputted to 31 18 the means 71). The ACK signal is inverted at the input to AND gate 87. Thus, when an address is valid, the output of AND gate 87 is logical 1; when an address is invalid, START is logical 0 causing the output of AND gate 87 to be logical 0, which value is clocked to the output Q of flip-flop 80 at the next NuBus clock pulse as shown in Figure 12. A logical 0 at output Q will deactivate the CS lines of memory 62. The flip-flop 80 is a clocked JK flip-flop with the K input tied to the J input through an inverter; such a flip-flop is sometimes referred to as a D-type flip-flop where K is the complement of J. An End of Cycle signal may optionally be applied to the Reset input of the flip-flop 80. The signal is obtained from the control circuitry on the card CPU 61) and it indicates the end of a transaction. The End of Cycle signal is active low and therefore S'a. it is inverted at the input to Reset.
S
The particular output on line 64 from the control means 71 will depend on whether the memory 62 specifies (according to the S*ul manufacturer) that CS is active low at a low voltage like ground) or high volts). In this example, the memory 62 is assumed to have CS active low and therefore the memory 62 is selected for addressing when the output of means 71 is logical 0. Thus, the activation of line 64 occurs when the output of NAND gate 72 is logical 0 (low), causing CS to be pulled to substantially ground and thereby indicating to the memory chips (memory 62) that they are being.addressed.
l l If there is no match between the distinct number and the most significant hexadecimal digit of the address, at least one logical -j rwuuiuj .lnes; carrying oinary values as 19 i output of the OR gate 77, which logical value 1 appears at node This means the address is not in the card's super space. In this case, the memory 62 can only be addressed from NuBus 10 only if the address is in region 42 (small spaces).
The decoder means 60 also includes a comparator means 73 which is responsible for reserving for the particular card a "slot space" which is in the upper 1/16th physical address space of the system region 42 shown in Figure More specifically, a comparator means 73 allocates 16-megabytes of memory for the card S based on the distinct number of the slot into which the card is
**I
plugged. The comparator means 73 includes a NAND gate 85 which such as exclusive OR gate 88, and the OR gate 89 compare the second most significant hexadecimal digit to the distinct number Ti of the slot into which the card is plugged to determine when the istinct number is equal to the second most significant hexadecimal digit of the address appearing on the 32-bit address bus of NuBus 10. When this equality condition occurs each of the S XOR gates of means 73, such as gate 88, will produce a logical 0 at its output causing the output of the OR gate 89 to be logical 0. The output of OR gate 89 is one of the inputs to OR gate The four most significant binary bits of the address (A31...A28) are applied to the inputs of NAND gate 85; the output of this gate is logical 0 only when the address i in the small space region 42. The output of NAND gate 85 is one of the inputs of OR gate
I
The inputs to OR gate 75 are both logical 0 only when the address is in the card's small space in region 42. Thus, the output of OR gate 75 is only logical 0 when the address is in the card's small space. The address lines (A27, A26, A25, and A24) constitute the second most significant hexadecimal digit of the address appearing on the 32-bit address bus of NuBus It can be seen that when a card, such as card 50a, is plugged into a slot having a distinct number a decoder means 60 will cause that card to have memory space reserved for it from locations $XOOO 0000 to $XFFF FFFF and additional memory space Sfrom $FXOO 0000 to location $FXFF FFFF.
Transactions between the CPU 1 and NuBus 10 typically require certain actions of the interface 9 which is referred to as the NuBus interface 9. The exact implementation of the interface will 4 4 4 *4 4t 4 .q I 89 4 4 49* 9 9 ft A depend on the microprocessor selected for CPU 1 and on its associated buses. In its simplest form, the interface could be another decoder means, having six decoders, each such as decoder means 60; that decoder means receives six different distinct signals having the distinct numbers $4 and each of those signals for one of the six decoders; this arrangement would produce the resulting division of physical address memory space as shown in Figure 3 for the computer system shown in Figure 1. The interface 9 would also be required to synchronize any differences in timing between the CPU 1 and the NuBus Clocks and would determine ownership of the buses being requested (whether the NuBus 10 or the processor buses 5, 25 and 6) by the master device, so that only 1 address appears on all buses 10, 5 and 25 at one time. Thus, there would be several decoder means as shown in Figure 12 each of which receives a different distinct signal. The output of these decoder means would be coupled to the CS pins of memory 2. At the same time, the CPU 1 could access the slots attached to NuBu3 10 by merely placing signals on the address bus 5 which is coupled to the interface 9 which permits the address signal from the CPU 1 to appear on NuBus 10. Similarly, the CPU 1 could provide data to NuBus slots by placing the data on the data bus 6 which causes the data signals to appear at the NuBus interface 9 via the interconnect bus 12 and those data signals would then be conveyed to NuBus 10 and then received by the appropriate slot depending on the immediately preceding address signal which appeared on NuBus in effect, the CPU 1 and its associated circuitry including the memory 2 would appear to Nu~us 10 as if it was on a card in 71 slot 0 or slots 1, 2, and 3. In the following discussion of a
II
4. 9 I
II
4 .4 4, 4 44 44 4 4 4 4' 4' 4 44 to the data bus 6 which is coupled to the CPU 1 and to the memory 2 and to the address buses 5 and 25 as shown in Figure 1.
The NuBus interface 9, as shown in Figure 5, includes three state machines and the NuBus clocks which interface between the six slots (29, 30, 31, 32, 33, and 34) and the NuBus 10 and CPU 1 and memory 2 and their associated circuitry on the mother board 14. In general, the interface 9 must determine ownership of the requested bus(es) between masters, such as CPU 1 and a CPU on a card CPU 61), to prevent 2 different addresses from 2 different masters from appearing on a bus, such as bus 5 or NuBus simultaneously; that is, the interface 9 must determine bus ownership, via arbitration between same bus, to prevent address collisj during data cycles the interface 9 n via arbitration between possible mas to prevent data collisions on a bus Moreover, the interface 9 must synct requesting master to the timing of t driven (for addresses or writing dat data) by the master. The interface known techniques in a programmable I ~~Yb~L"P LM~ ji possible masters requesting the ions on a bus. Similarly, nust determine bus ownership, sters requesting the same bus, (such as bus 6 or NuBus ironize the signals of the ;he requested bus which will be or listened to (for reading may be implemented by welllogic array.
0##S *4 Ir ft C act C C f I C( C The signals present on NuBus are described in the 1196 specification of the IEEE and in the Texas Instruments' publications referred to above. Generally,, the NuBus standards specify logical, physical and electrical standards for the four types of signals present in the NuBus bus 10. These signals include utility signals such as the clock and the distinct identification line means; the address/data signals along with various control signals; the arbitration signals; and the power signals. It can be seen that certain of these NuBus signals appear on the left side of the NuBus interface 9 shown in Figure Signals provided by the CPU 1 or the memory 2 flow through the interface or permit the interface to allow the CPU 1 to communicate with NuBus 10 and vice versa. The following table describes the signals used in the NuBus state machine involved in the NuBus interface 9. The particular implementation of the interface 9 will depend on the particular CPU 1 selected for use on the mother board and on the designer's goals.
1' i ?vuuu uuuu to 3bFFF FFFF. Thus, access to ROM or I/O information 23 Table 3 Signals used in NuBus State Machines In NuBus Interface 9 Signal Description RQST A NuBus signal; active low; indicates a request for bus mastership.
NUBUS Decoded address from processor CPU 1 indicating an address reference to NuBus; active low. The address from CPU 1 is decoded in a decoder means, which can be readily constructed by one of ordinary skill in the art, and which determines when the address on bus 25 in the NuBus address range of $6000 0000 to SFFFF FFFF.
START NuBus signal; active low; indicates an address is present on NuBus.
SARBO-ARB3 NuBus signals; active low; arbitration address of bus masters competing for NuBus mastership.
ACK NuBus "acknowledge"signal; active low; slave S, NuBus device is acknowledging START transaction.
S' RMC Processor CPU 1 signal indicating a read/modify/ write is occurring on the processor CPU 1 bus 6 and AS Processor CPU 1 address strobe indicating the Saddress lines from the CPU 1 are valid and a cycle is requested. Active low /BUSLOCK The processor buses 6, 5 and 25 can not be interrupted by NuBus transactions into memory 2.
S* DSACKx The Data Strobe Acknowledge from the memory 2.
BG Processor CPU 1 bus grant indicating the processor buses 5, 6 and 25 have been granted to the NuBus to communicate with the memory 2 using 1 the NuBus to Memory 2 state machine 104.
C16M The processor CPU 1 clock which is used to qualify signals from the processor CPU 1 as valid.
R/W Read/Write signal which is used to indicate when a read or a write is occurring.
/BR A bus request from NuBus requesting mastership of the processor buses, principally bus 6 (via bus 12) and buses 5 and 37 by the processor. Typically, NuBus requests control of the processor buses by issuing a /BR signal; request for the processor buses is granted by the signal /BG which is received by the NuBus to memory 2 state machine 104 which acknowledges receiving the granting of the processor buses for mastership.
/BERR Bus error signal from NuBus indicating there is an error in the system. This signal is usually issued by the NuBus timeout state machine 105 which watches for transactions which exceed approximately 25 microseconds; any such transaction is assumed by the bus timeout state machine to be in error resulting in the signal /BERR to be sent to the processor.
/DS Datastrobe: A NuBus signal-indicating the data lines from the NuBus bus are valid and a cycle is requested.
The processor CPU 1 typically accesses and requests the NuBus t 10 whenever the processor CPU 1 generates a physical address from $6000 0000 to SFFFF FFFF. The CPU 1 to NuBus state machine 103 S determines there is such a request when decoders on the mother board coupled to bus 25 indicate an address on bus 25 has a most S significant hexadecimal digit between $6 and including $6 and Under these circumstances, the output of those decoders causes the assertion of the /NUBUS signal. The state machine 103 then synchronizes the request for NuBus control with the NuBus clock and presents the same address over the bus 10 after 44 .determining the CPU 1 may take ownership of NuBus 10 to drive the address signals onto the NuBus 10. If a card on NuBus responds, the data is transferred. If no card responds, a NuBus timeout occurs and a bus error (/BERR) is sent to the processor, which usually causes execution of an error handling routine. The NuBus timeout state machine 105 monitors the time between START signals 38 a terminals 52, 53, 54, and 55 are coupled to conductor mians which on NuBus and acknowledge (ACK) sigrls on NuBus. When the time between those signals exceeds 255 NuBus Clocks, according to the NuBus standards, the NuBus timeout state machine generates the bus error as indicated above. Figure 8 illustrates the signals involved in the processor CPU 1 to NuBus transaction through the Nu3ns interfdca 9 and more specifically through the procassor to NuBus state machine 103. The signals on the right side of the block 103 shown in Figure 8 which are directed to the CPU 1 side of machine 103 are NuBus nignals. The right side of machine 103 is the NuBus side of the system and includes the 6 slots. On the left side of the interface 9 is the CPU 1 and memory 2 portion of i i t f t q I C L I C 41 the system. This is also true for Figure 9. Signals entering the arrow is directed towards the machine 103) the machine 103 from the NuBus side are generally NuBus signals and signals exiting the machine 103 on the NuBus side are generated by the CPU 1 or the result of the interaction CPU 1 and the machine 103.
Similarly, signals on the CPU 1 side of the machine 103 which enter the machine 103 are signals generally from the CPU 1 or memory 2 or circuitry associated with that portion of the system.
The signals on the CPU 1 side of machines 103 and 104 are carried by the bus 12 of Figure 1 und the signals on the NuBus side of machines 103 and 104 are carried by bus 11.
The normal CPU 1 to NuBus transaction starts with the state machine 103 waiting for the'signal /NuBus to be asserted (which is synchronized to the 10-MHz NuBus clock). When this signal is asserted, and no other bus masters are asserting RQST on NuBus 10, state B is entered into from state A, the prior waiting state.
State B has asserted the RQST si~nal of NuBus and establishes a I I I LI
IL
I It ii .4' 44 4
I'-
v L=IL o irocuiry on cara. i 26 request by CPU 1 for the NuBus 10 among any othdr bus masters which are asserting RQST at the same time. For purposes of arbitration under the NuBus standards, the CPU 1 is assigned to slot $0.
State B is followed by state C during which the arbitration and acknowledge (ACK) signals are sampled to check if any other NuBus transaction is in progress or if some other NuBus master has won NuBus 10. If a transaction is in progress and no other bus master won mastership, state C is retained. If any other bus master requested the bus during state B, state D is entered into.
Note: Since the processor CPU 1 accesses the bus from slot $0, S; it always loses to the other slots since the arbitration is based I on the distinct number under the NuBus.standard] If no other Smaster has won the bus and no other transaction is occuring, state E is entered into.
Si. State E asserts the START signal of the NuBus bus 10 and S*drives the address from CPU 1 onto the NuBus 10. It is understood that latches and buffers are used to temporarily store addresses S* and data in these state machines 103 and 104 and generally in the system. State F follows State E and waits for the acknowledge signal (ACK) from the card which was addressed. When the acknowledge signal is asserted on NuBus 10, and no other masters are requesting the bus 10, a State G is entered in which the DSACKx signals to the processor CPU 1 are generated to finish the process cycle. If no other master is asserting RQST during State i G, State H is entered into which is a State in which the NuBus is "parked" which is to say that a second NuBus transaction from
B-
the processor CPU 1 will be able to go directly-to state E to start the NuBus access instead of state A. If RQST is asserted during States F, G, or H, the NuBus 10 must be rearbitrated to determine the current bus master and State A becomes the waiting State rather than State H. These sequences of states may be executed by well known state machine techniques. The following table summarizes the states and signals involved in the processor CPU 1 to NuBus interface which is executed by the CPU 1 to NuBus state machine 103.
Table 4 Processor CPU 1 to NuBus States S' Signals SState Asserted Daesription 1 A Idle state. Waiting for Sthe processor CPU 1 to generate NuBus address access (addressing a memory location from $6000 0000 to $FFFF FFFF) and for RQST (from cards) Cs 4 4 C A 4 5,J A'1
B
C
D
RQST
RQST
RQST
to be deasserted by cards in the NuBus slots.
Request NuBus. The processor CPU 1 is requesting NuBus bus and no other RQST asserted.
Test for arbitration win.
The arbitration lines should.all be deasserted since processor CPU 1 is arbitration number zero.
If last cycle is waiting for ACK, stay put. If an arbitration line is asserted, try again after next START transaction.
Wait for next round of arbitration. START indicates next round of arbitration is available.
41 w E START, AO-A31 Start transaction.
(NuBus) Assert processor CPU 1 address on 32-bit address line of NuBus F AO-A31 Wait for ACK. Wait for acknowledge from slave device. CPU 1 Asserts AO-A31 (NuBus) if CPU 1 is writing to NuBus device a card).
Note whether RQST is asserted to determine if bus will remain "parked". If RQST is asserted, the state machine will recycle to state A after state G.
G DSACKO, DSACK1 Assert DSACKx. NuBus slave completed transaction, and processor CPU 1 cycle. NuBus remains "parked".
H Wait for next processor 1 CPU 1 to NuBus transaction. 'NuBus remains 1 "parked" to allow quick start to next cycle.
r f c tt,, The state machine shown in Figure 8 receives the address signals of the CPU 1 (AO-A31) from the CPU 1 on the bus 25. The Ssignals appearing on the right side of the state machine 103 are 1 ,i NuBus signals. Certain signals on the left side of state machine 103 are also NuBus signals such as the clock signals /CN10M and I' C20M, as well as /NuBus although the latter is caused by CPU 1 by generating a NuBus address.
The NuBus to CPU 1 buses state machine 104, as shown in Figure 9, is for accesses for the memory 2 (which may include RAM, ROM and I/O) from NuBus. In one embodiment, if an address from $0000 0000 to $5FFF FFFF is presented on the NuBus, then the NuBus to processor buses state machine 104 requests the processor buses from the CPU 1 and performs an access to the address. An 42 Chip Select (CS) lines connected to the memory 62. The Chip 29 alternative embodiment (Figure 10) will also be described in which accesses to RAM of memory 2 occur by addressing $0000 0000 to $3FFF FFFF and accesses to ROM or I/O of the motherboard occur by addressing SF000 0000 to SFOFF FFFF. Normally, after the data is sent to or from the NuBus master the card in the NuBus slot), control of the processor buses 5 and 6 is returned to the processor CPU 1.
The following Table describes the states and signals involved in the NuBus to CPU 1 buses transaction.
A r. Table
SA
Al Idle state. Waiting for address on NuBus 10 to processor buses locations $0000 0000 to $3FFF SFFFF and SF000 0000 to $FOFF FFFF).
If the processor buses are not oS locked by locking the processor buses through assertion of Buslock signal of CPU 1) and the CPU 1 is not doing a NuBus access, the processor buses will be requested.
If Buslock is asserted, then NuBus access to Memory 2 is delayed until ST** Buslock is reasserted and the state remains at Al.
B1l BR Bus Request asserted. Request by NuBus of processor buses for NuBus to Memory 2 transaction. Wait for CPU 1 to assert Bus Grant and deassert address strobe.
C1 BGACK, A0-A31 Assert mastership of processor (on bus 25) buses and set up addresses and/or data.
DO-D31 (on bus 6)
R/W
6"A of the four most significant address lines. It can be seen that
I
D1 AS; DS; A0-A31 (on bus 25) El DO-D31
DSACK
F1 ACK (NuBus) 1 SThe NuBus to CPU 1 b shown in Table 5 above, w waiting for an address on S. $0000 0000 to $5FFF of Figure 10, $0000 0000 t r SFFFF). NuBus accesses to asserting the Buslock sig to this address space to response. If the address is not asserted, then sta Address strobe asserted.
Data strobe asserted.
Wait for valid data from Memory 2 (or write to Memory 2 during time when data is valid).
Wait for Data Strobe Acknowledge (DSACK) from Memory 2 to indicate end of cycle.
NuBus to processor buses transaction complete. Wait to determine if next cycle will continue with NuBus controlling the processor buses. NuBus can lock onto the processor buses by asserting a Lock Attention signal which causes CPU 1 to relinquish control of the processor buses for several transactions without CPU 1 contention until Null Attention signal is asserted; assertion of Lock Attention causes looping of the states 81 to Fl.
uses transaction begins with state Al here the state machine 104 is idling by NuBus 10 in the Memory 2 memory space FFFF; or, in the alternative embodiment to $3FFF FFFF and $F000 0000 to SFOFF the processor buses can be prevented by nal which causes all NuBus transactions be acknowledged with a "try again later" is within the Memory 2 space and Buslock te B1 is entered.
At state Bl, the CPu I releases the processor buses by lesinin A Ban-E n -t A to a 6u nLa 01- is ackr in the lowledged by the NuBus device by a BusGrant Acknowledgement i next state, C1. The addresses are driven onto the i 44 aiagram of the signals START, ACK and CLK which are inputted to
I
I I: i~4.
4 ssr.
*1 4*4- *e 4 I S 4 99 rl processor address buses and the data is transferred in states D1 and El. The transaction is completed in Fl when the NuBus ACK signal is asserted on NuBus In the alternative embodiment of Figure 10, the NuBus devices access the RAM of memory 2 by presenting addresses in the range $0000 0000 to $3FFF FFFF. NuBus devices, in this embodiment, access a portion of the motherboard's ROM memory space and a portion of the motherboard's I/O-memory space (which is usually physical RAM set aside for I/O use) indirectly by presenting addresses on NuBus 10 in the range of SFOO 0000 to $FOFF FFFF (slot space In this embodiment, addresses on NuBus 10 in the range $4000 0000 to $5FFF FFFF do not access ROM or I/O, but addresses on the CPU 1 buses bus.5) in that range do access the complete motherboard ROM and I/O memory space. In keeping with NuBus standards, the portion of ROM of the motherboard (which is assigned to at least slot which is accessible to NuBus is placed at the top of the slot space The particular allocation of the memory in slot space $0 between motherboard ROM and motherboard I/O depends on the designers needs. In one preferred embodiment, the slot space $0 is divided in half such that an address to $F080 0000 to $FOFF FFFF on NuBus 10 produces an access to an 8 megabyte region of the ROM of the motherboard ROM of the memory and an address to $FOOO 0000 to $F07F FFFF on NuBus produces an access to an 8 MB (megabyte) region of the I/O memory space. The particular 8 MB portions of ROM and I/O memory space will depend on what regions of memory NuBus devices will need or want to use. Often, the entire system (motherboard) ROM and motherboard I/O will fit into the 16 MB region of slot space ii fr i
L-
V
o at. .Leasr one logical 32 Well known decoders may be used to cause the decoding from the NuBus address in slot space $0 to the appropriate ROM and location.
C
ot.

Claims (8)

1. A computer system comprising a main circuit board including a central processing unit and slots each with means for receiving a printed circuit board card, memory coupled to said central processing unit (CPU) to receive addresses of memory locations from said CPU and to provide data to said CPU, said memory being disposed on at least one of said main circuit board and said card, said main circuit board including input-output circuitry coupled to said memory to provide data to said memory and coupled to said CPU to receive control signals from said CPU, said main circuit board having less than 16 slots, said main circuit board including a 32 bit address bus being coupled to said CPU and to said memory to address said memory, said CPU including an address generation means for generating 232 different addresses ranging from location $0000 0000 to location $FFFF FFFF, said location being in hexadecimal notation, each of said slots having a distinct number in said system and being coupled to said bus for addressing said memory, each of said slots being coupled to distinct identification line means on said main circuit board, each of said distinct identification line means providing a distinct, unchanging signal to the slot to which said distinct identification line means is coupled, said distinct signal for a particular slot identifying the distinct 20 number of said particular slot, where said distinct number of a particular slot is said distinct number reserving 256 megabytes of memory space for each of said slots such that said 256 megabyte memory space beings at location $(ID)000 0000 and ends at location $(ID)FFF FFFF, whereby any card in slot X will have memory space reserved beginning at location $XOOO 0000 and ending at location 25 $XFFF FFFF, said locations being in hexadecimal notation.
2. A personal computer system comprising a main circuit board including a central processing unit (CPU) and slots each with means for receiving a printed circuit board card, memory coupled to said CPU to receive addresses of memory locations from said CPU and to provide data to said CPU, said memory being disposed on at least one of said main circuit board and said card, said main circuit board including input/output circuitry coupled to said memory to provide data to S91008,dbwspc33,prcntJpc,47 r ii~a "il~ -1 .:1 t: i: ir .1 must determine bus 48 said memory and coupled to said CPU to receive control signals from said CPU, said main circuit board having less than 16 slots, said main circuit board including a 32-bit address bus being coupled to said CPU and said memory to address said memory, said CPU having an address generation means for generation 232 different addresses for addressing said memory over said 32-bit address bus, said 232 different addresses defining a memory address space ranging from location $0000 0000 to location $FFFF FFFF, said locations being in hexadecimal notation, each of said slots having a distinct number in said system and being coupled to said 32- bit address bus to receive addresses for memory disposed on said card in said slot, each of said slots being coupled to distinct identification line means on said main circuit board, each of said distinct identification line means providing a distinct, unchanging signal to the slot to which said distinct identification line means is coupled, each of said distinct signals providing the distinct number of the slot which receives said distinct signal, wherein said computer system has 256 megabytes of memory space ranging from lo,. tion $X000 0000 to location $XFFF FFFF that is reserved for memory on a card in a slot having a distinct number equal to where $X is any integer from $0 to $E.
3. A personal computer system as in claim 2 wherein $X is any integer from $9 to $E and wherein said main circuit board has 6 slots.
4. A personal computer system as in claim 3 wherein said distinct identification line means comprises four lines each carrying binary values and i' wherein said 32-bit address bus further includes control signals and is substantially a NUBUS bus.
5. A personal computer system as in claim 4 wherein said computer system further has 16 megabytes of memory space ranging from $FXOO 0000 to $FXFF FFFF that is reserved for memory on a card in a slot having a distinct number equal to $X.
6. A computer system substantially as hereinbefore described with reference to 9 ,dbwsp 33,p ntspe,48 0'U 0 9i10M,dbwspc.033,prcnapc,48| if~ 4 ,if if ~if 49 the accompanying drawings.
7. A personal computer system substantially as hereinbefore described with reference to the accompanying drawings. DATED this 12th day of August, 1991. APPLE COMPUTER, INC. By its Patent Attorneys DAVIES COLLISON C 9 9
444. CCC ifif C C 9 IC Ca.. if 4149 4 4444 Ca C S CC 4 4C 4 9 if C 9 C CC CC 9 4* 4 a, CCI CCI if C p r~.if 9108 l2,dbwspc.033,parcn1.spc,49
AU12769/88A 1987-03-13 1988-03-08 Computer with expansion slots for cards and card for computer with expansion slots Ceased AU616171B2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US07/025,500 US4905182A (en) 1987-03-13 1987-03-13 Self-configuring memory management system with on card circuitry for non-contentious allocation of reserved memory space among expansion cards
US025499 1987-03-13
US025500 1987-03-13
US07/025,499 US4931923A (en) 1987-03-13 1987-03-13 Computer system for automatically reconfigurating memory space to avoid overlaps of memory reserved for expansion slots

Related Child Applications (2)

Application Number Title Priority Date Filing Date
AU81737/91A Division AU629511B2 (en) 1987-03-13 1991-08-12 A printed circuit board card for connection to a computer system
AU10354/92A Division AU640850B2 (en) 1987-03-13 1992-01-21 A printed circuit board

Publications (2)

Publication Number Publication Date
AU1276988A AU1276988A (en) 1988-09-15
AU616171B2 true AU616171B2 (en) 1991-10-24

Family

ID=26699830

Family Applications (2)

Application Number Title Priority Date Filing Date
AU12769/88A Ceased AU616171B2 (en) 1987-03-13 1988-03-08 Computer with expansion slots for cards and card for computer with expansion slots
AU10354/92A Ceased AU640850B2 (en) 1987-03-13 1992-01-21 A printed circuit board

Family Applications After (1)

Application Number Title Priority Date Filing Date
AU10354/92A Ceased AU640850B2 (en) 1987-03-13 1992-01-21 A printed circuit board

Country Status (7)

Country Link
JP (1) JPS63314657A (en)
KR (1) KR950014182B1 (en)
CN (1) CN1017007B (en)
AU (2) AU616171B2 (en)
DE (1) DE3808193A1 (en)
FR (1) FR2612314B1 (en)
IL (1) IL85518A0 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2203869B (en) * 1987-04-17 1991-10-23 Apple Computer Computer resource configuration method and apparatus
CN101321250B (en) * 2008-07-03 2010-06-02 四川长虹电器股份有限公司 Television set important data storage method
US10146253B2 (en) * 2016-03-10 2018-12-04 Epro Gmbh Combined slot and backplane identification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2060961A (en) * 1979-10-10 1981-05-07 Magnuson Computer Systems Inc Data processing system having memory modules with distributed address information
GB2101370A (en) * 1981-06-26 1983-01-12 Philips Electronic Associated Digital data apparatus with memory interrogation
GB2103397A (en) * 1981-07-31 1983-02-16 Philips Electronic Associated Digital data aparatus with memory selection

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3675083A (en) * 1970-09-14 1972-07-04 Digital Equipment Corp Universal bus arrangement for data processing systems
US4373181A (en) * 1980-07-30 1983-02-08 Chisholm Douglas R Dynamic device address assignment mechanism for a data processing system
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2060961A (en) * 1979-10-10 1981-05-07 Magnuson Computer Systems Inc Data processing system having memory modules with distributed address information
GB2101370A (en) * 1981-06-26 1983-01-12 Philips Electronic Associated Digital data apparatus with memory interrogation
GB2103397A (en) * 1981-07-31 1983-02-16 Philips Electronic Associated Digital data aparatus with memory selection

Also Published As

Publication number Publication date
DE3808193A1 (en) 1988-09-22
CN88101358A (en) 1988-09-21
AU1276988A (en) 1988-09-15
JPS63314657A (en) 1988-12-22
KR950014182B1 (en) 1995-11-22
FR2612314A1 (en) 1988-09-16
CN1017007B (en) 1992-06-10
AU640850B2 (en) 1993-09-02
IL85518A0 (en) 1988-08-31
FR2612314B1 (en) 1991-11-22
KR880011668A (en) 1988-10-29
AU1035492A (en) 1992-03-12

Similar Documents

Publication Publication Date Title
US4905182A (en) Self-configuring memory management system with on card circuitry for non-contentious allocation of reserved memory space among expansion cards
US5056060A (en) Printed circuit card with self-configuring memory system for non-contentious allocation of reserved memory space among expansion cards
US4931923A (en) Computer system for automatically reconfigurating memory space to avoid overlaps of memory reserved for expansion slots
JP4008987B2 (en) Bus communication system, bus arbitration method, and data transfer method
US4870704A (en) Multicomputer digital processing system
US4763249A (en) Bus device for use in a computer system having a synchronous bus
US5283870A (en) Method and apparatus for avoiding processor deadly embrace in a multiprocessor system
JP2910303B2 (en) Information processing device
US5301283A (en) Dynamic arbitration for system bus control in multiprocessor data processing system
US4769768A (en) Method and apparatus for requesting service of interrupts by selected number of processors
US4317169A (en) Data processing system having centralized memory refresh
EP0139569A2 (en) Arbitration mechanism for assigning control of a communications path in a digital computer system
JPS5837585B2 (en) Keisan Kisouchi
US20030126381A1 (en) Low latency lock for multiprocessor computer system
EP0139563A2 (en) Control mechanism for multiprocessor system
CA1193743A (en) Multiprocessor computing system featuring shared global control
US20020019899A1 (en) Method of bus priority arbitration
EP0138676A2 (en) Retry mechanism for releasing control of a communications path in a digital computer system
EP0512685B1 (en) Quadrature bus protocol for carrying out transactions in a computer system
US4300194A (en) Data processing system having multiple common buses
AU616171B2 (en) Computer with expansion slots for cards and card for computer with expansion slots
CA1213374A (en) Message oriented interrupt mechanism for multiprocessor systems
US5150466A (en) Flexible distributed bus priority network
JPH0581178A (en) Pipeline bus
KR960005395B1 (en) Minimum contention processor and system bus system