BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to logic for interfacing between a processor and a plurality of memories having different operating and timing characteristics.
2. Prior Art
It is known in the prior art to provide a single interface controller for a plurality of peripheral devices such as storage devices and input/output devices. However, prior art interface controllers are limited to the selection of devices of the same type each of which contains its own timing generator. The controller thus acts as a peripheral processor, interpreting instructions from the central processor and selecting the desired one of the plurality of devices under its control. This type of control system is wasteful of circuitry in that timing and control circuits must be duplicated for each device.
OBJECTS OF THE INVENTIONIt is a primary object of the present invention to improve access control between a processor and a plurality of different memory devices.
It is another object of the present invention to reduce memory power consumption.
It is a further object of the present invention to reduce the amount of control circuitry necessary to run a plurality of different memories.
SUMMARY OF THE INVENTIONThese and other objects of the invention are accomplished by providing memory control circuitry which interfaces between the central processing unit and Random Access and Read Only memories. The memory control circuitry includes selection circuitry and fan-in circuitry. The memory selection circuitry receives signals from the processor indicating whether RAM or ROS is to be selected and the address to be accessed. The selection circuitry then generates selection signals to the proper memory and generates timing signals of the proper timing to run the memory selected. The fan-in circuitry is controlled by the selection circuitry and includes a multiplexor to sample data from each of the memories onto a single output data bus to the processor. Fan-in also includes latches to hold the data for a cycle equal to the processor's cycle where the memory operates at a faster cycle time than the processor.
BRIEF DESCRIPTION OF THE DRAWINGFIG. 1 is an overall diagram of a word processing system including the memory structure of this invention.
FIG. 2 is a block diagram of the memory select portion of the invention showing its inputs and outputs in detail.
FIG. 3 is a block diagram of the fan-in portion of the invention showing its inputs and outputs in detail.
FIGS. 4, 5, 6 and 7 show the detailed logic of the memory select of FIG. 2.
FIG. 8 shows the detailed logic of the fan-in apparatus of FIG. 3.
DESCRIPTION OF THE PREFERRED EMBODIMENTReferring to FIG. 1, a block diagram of a word processing system is shown. The system comprises a Central Processing Unit (CPU) 1 including a processor and system clock. The output of theCPU 1 is connected todata bus 11 which communicates with a random access memory section ofmemory unit 2 and with abus selector 3. A detailed description of the bus selector is given in copending application Ser. No. 693,821, filed June 7, 1976, by W. C. Cockerill, et al., entitled "Bus Steering Structure for Low Cost Pipelined Processor System", now U.S. Pat. No. 4,057,846, issued Nov. 8, 1977, and assigned to the same assignee as the present invention. It is the function of thebus selector 3 to logically and electrically isolate the I/O devices 6-10 attached tobus 13 from the rest of the system during system operations which do not use those I/O units and to provide a data path between I/O units 6-10 and the processor for operation which access those I/O units. Thebus selector 3 is controlled by theCPU 1 throughcontrol bus 15.
The system further includes amemory select 17 which receives control and timing signals from theCPU 1 oncontrol bus 19. The output of the memory select is connected to a Random Access memory (RAM) bycontrol line 21, to the read only storage (ROS) section ofmemory 2 bycontrol line 20 and to the fan-incontrol 18 throughline 22. It is the function of the memory select 17 to decode control and general timing signals from theCPU 1 to generate the required selection and timing signals for either the ROS or RAM section of thememory 2. During the period when the memories are not in use, only a minimum power level is used by the memory thereby reducing power consumption.
The output of RAM memory is connected to fan-in 18 throughdata bus 5 and the output of ROS memory is connected to fan-in 18 throughdata bus 4. Fan-in 18 receives control signals from theCPU 1 throughcontrol line 23 and from memory select 17 throughcontrol line 22. It is the function of fan-in 18 to multiplex data output from the RAM and the ROS onto asingle output bus 12 which is connected to the processor data-inbus 14. Fan-in also provides a latching function for holding memory output data true for the time required by the processor where the memories operate at a higher data rate then the processor.
Referring now to FIG. 2, a more detailed drawing of the memory select 17 is shown. The memory select 17 receives timing, address, and control signals overbus 19 from theCPU 1 and system clock and generates timing and select signals for the RAM and ROS memories. For the RAM memory the memory select generates a card select signal (CPCS) onlines 253, 257 or 269 to select one of the three cards which contain the RAM memory, a chip select X signal (CSX) onlines 273, 277, 281, or 285 to select the X address of a chip on the selected cards, a chip select Y signal (CSY) onlines 289 or 293 to select the corresponding Y address for the selected chip and a write signal (CPWRT) 245 if the operation is write into RAM.
Referring now to FIG. 4, card select is generated by the combination of address line 13 (ADR13) oninput pin 201, instruction (INSTR) on input pin 399 (FIG. 6), WHIRL oninput pin 237, address line 14 (ADR14) oninput pin 205 and diagnostics (DIAG) oninput pin 223. ADR13 is output from the processor and feeds intoNAND gate 200 where it is inverted to produce SADR13 online 203. ADR13 is also input to NANDgate 228 and 234. ADR14 is also output from the processor and is buffered by NANDgate 202 to produce SADR14 online 207. INSTR is output from the processor oninput pin 399 to and buffered by NANDgate 360 to produce INSTR online 401. INSTR online 221 and DIAG online 223drive NAND gate 210 to produce an inhibit signal online 225 to inhibit RAM cycles during instruction fetches except when in the diagnostic mode. Normally instruction fetches are made from the ROM memory. This allows a program to be loaded and used to test out the system without disturbing the system program stored in ROM. The output ofNAND gate 210 is combined with the processor cycle input (PROCY) onpin 227 and address line 15 (ADR15) oninput pin 229 by NANDgate 212 to produce an enable signal CSXY for RAM memory. CSXY is inverted by NANDgate 238 to produce enable signal CSXY. NANDgate 238 is also driven by two external memory control signals WHIRL oninput pin 237 and RAMCY oninput pin 261. WHIRL and RAMCY permit access to RAM independent of the processor cycle request PROCY.
Each of the RAM cards may contain modules, each of which contains up to four chips depending on the amount of memory contained on that card. Address line 10 (ADR10) determines the Y component of the chip select, CSY1 or CSY2. The combination of address line 11 (ADR11) and address line 12 (ADR12) determines the X component of the chip CSX1, CSX2, CSX3 or CSX4.
The write signal CPWRT for the RAM is derived by the memory select from the processor signal CWRT. CWRT is input to memory select oninput pin 231 and buffered by NANDgate 214 to produce WRT online 233. WRT is combined with the enable signal CSXY online 235 and external memory control signal WHIRL onpin 237 byNAND gate 216 to produce WRT. WHIRL inhibits writing into RAM during accesses to the RAM memory caused buy WHIRL.
A timing strobe signal CSXYTM is generated for the RAM by the logic comprisingNAND gates 318 and 320, NORgate 322 and ANDgate 324. The clock signal FSUS onpin 307 is shortened by the combination of timing signals FSUR onpin 305 and F2500K onpin 309. The result is a signal slightly shorter than FSUS. The strobe signal CSXYTM controls the timing of the chip select gates for the chip X and Y selects. CSXYTM is again shortened to produce write selection by combination with F2500K and FSUR inNAND gate 220 to produce CPWRT. CPWRT is input to NORgate 222 overline 243 to produce RAM write signal CPWRT onoutput pin 245 if the write function is not inhibited by external control WHIRL.
ROS SelectionMemory select 17 in FIG. 1 generates the timing and control signals required to run the read only storage memory. The ROS memory is addressed in individual 8K byte blocks SI0K, SI8K, SI16K, . . . S56K.
FIG. 7 shows the circuits which produce the selection signals LCS and LRST1 necessary to drive the ROS. These selection signals are derived by memory select from the system clock timing signals XA, B, XCC and FSUS. The signals XA, B and FSUS are free running signals whose frequency and relative skew ar designed to be multiples of the timing for the technology being used. in this case, LSI MOS. XCC defines the beginning of a cycle and corresponds to the processor's phase one. XA enters the memory select oninput pin 299 and is buffered to produce XA. Likewise, B enters the memory select onpin 301 and is buffered to produce B. The series of latches provide a division of the system clock signals in order to produce the proper selection signal LCS for the ROS memory. Signals XA online 343 and B oninput pin 301 are free running and drive the inputs ofNAND gate 362 which produces latch signal MLSDL at theoutput 357 ofdriver 364. The proper logical level at MLSDL is produced by the combination of XA and B with the cycle signal XCC oninput pin 303. The latch is reset by signals FSUS online 351, XA online 299, and B online 301, assuming the test input TESTMI is high.
MLSDL drives the input ofNAND gate 366 and is combined with FSUS oninput pin 307, XA oninput pin 299, and B online 345 to produce intermediate latch signal IMLT online 368. MLSDL in combination with ROM controls the generation of ROMCY which enables the fan-in latch to be discussed below. MLSDL and IMLT NAND throughgate 356 also control the generation of RAMT2 clock signal which enables the channel selects for fan-in. The intermediate latch is reset by XA, B, and MLSDL. The output IMLT of NORgate 368 online 369 drives the input ofNAND gate 378 which controls the generation of the ROS chip select signal LCS online 367. LCS is set byNAND gate 378 and NORgate 380 using the combination B online 345, ROM online 369, XA online 343 and IMLT online 363. LCS is reset by FSUS, XA, and IMLT. ROM is generated inNAND gates 386 and 388 from the latched instruction signal LINSTR whose generation is discussed below. LCS is input to the drivers for all ROS memory chips and combined with the address selection signal to enable the proper chip, FIG. 5. The ROS chip is reset prior to chip select by LRSTI which is generated by XCC, B, and MLSDL inNAND gates 398 and 399.
The address latches for ROS chip selection are shown in FIG. 6. The combination of address line 13 (ADR13) online 201 from theCPU 1 into memory select 17,address line 14 online 205, andaddress line 15 online 295 in combination with INSTR determine which of the nine 8K byte chips will be selected. The signal INSTR oninput pin 399 determines whether the command is an instruction or data. Referring to FIG. 6, INSTR entersNAND gate 360 oninput pin 399 and is inverted to produce INSTR online 401. INSTR is latched up by the latch comprisingNAND gates 350 and 354 and NORgate 352. The set signal for all the latches is produced by clock signals XA onpin 299 and B onpin 301 and the intermediate latch signal IMLT online 363 from the ROS timing generator discussed above. The reset signal for the address latches and instruction latch is the SET anded with the RAM memory strobe signal CSXYTM. Address line 13 (ADR13) is latched up by the latch comprisingNAND gates 332 and 336 and NORgate 334. The signal address line 14 (ADR14) oninput pin 205 is latched by the combination ofNAND gates 344 and 348 and NORgate 346 while the signal address line 15 (ADR15) oninput pin 295 is latched byNAND gates 326 and 330 and NORgate 328.
The latched address signals of FIG. 6 in combination with the chip select signal LCS of FIG. 7 control the ROS selection circuitry of FIG. 5. In the preferred embodiment the mini-processor has a basic 64K byte address space. In addition, it has an instruction output line, INSTR, online 399 which has the following characteristics: it is driven low during instruction byte fetches and is driven high during indirect data fetches, register and byte fetches and I/O cycles. The INSTR line is used by the memory select to distinguish areas of the ROS memory as either data or instruction bytes. INSTR can also be used to expand the 64K byte processor address space to 96K bytes. This expansion takes place in the memory select providing 32K bytes of "instruction only" space, 32K bytes of "data only" space and 32K bytes of "mixed" memory space.
The memory select can address a maximum of 24K bytes of RAM leaving the remaining 72K bytes for ROS. By restricting the RAM to "data only", the ROS can be divided into 8K of "data only", 32K of "instruction only" and 32K of "mixed" data and instructions. Referring to FIG. 5, the first 32K bytes of ROS are addressable as instructions only. These are addressed by chip select lines SI0K, SI8K, SI16K and SI24K. Line SD24K addresses 8K of data only and lines S32K, S40K, S48K and S56K addresses 32K of mixed data and instructions. The latched instruction signal LINSTR online 391 and low order address line LADR15 online 381 in combination with ENROMD generates ENROMI which controls accessing the 32K bytes of instructions throughNAND gates 272, 276, 280 and 284. LINSTR controls the accessing of the 8K bytes of data only throughNAND gate 288 and the combination of LADR15 intoNAND gate 296 and LINSTR and RCM intoNAND gate 300 generates ENROMD online 415 which controls accessing to the 32K bytes of mixed ROS throughNAND gates 302, 306, 310 and 314 in addition to being used to generate ENROMI as described above.
The 32 K bytes of ROS which are designated as instruction only can normally not be accessed as data. However, the Cyclic Redundancy Check (CRC) error checking technique requires access to all ROS as data. In order to accommodate this requirement the signal ROS Check Mode (RCM) oninput pin 341 has been included to allow access to the instruction only area as data. Thus it is possible to check the memories and detect errors in many instances before actually executing an instruction containing an error. RCM is entered by drivingpin 341 high. This controlsNAND gate 300 to produce a logical zero at ENROMD online 415. ENROMD then controls NORgate 270 in combination with ENROM to generate a ENROMI to gain access to instruction only ROS.
FAN-INData output by the ROS and RAM memories to the processor is controlled by the system logic Fan-in. Referring to FIG. 1, Fan-in 18 is connected to the outputs of ROS bybus 4 and RAM bybus 5. Fan-in 18 receives control signals from memory select 17 overcontrol line 22 and from the processor and systems clock overcontrol line 23. Theoutput 12 of Fan-in 18 is connected to the processor data-inbus 14. Fan-in serves as a data "funnel" to select data from the three memory output paths and place it on a single bus to the processor.
Referring to FIG. 3 a more detailed view of the inputs and output of the Fan-in is shown. The Fan-in has three input data paths,data bus 5 for the RAM memory and the twodata buses 4 for the ROS. These data buses are each nine bits wide. Any one of three data paths can be selected as a function of the CPU control signal address line 12 (ADR12) oncontrol line 23 and memory select control line ROS cycle (ROMCY) oncontrol line 311. ROMCY enables the ROS path and disables the RAM path while ADR12 selects the "A" or "B" channel ofROS data bus 4.
Referring now to FIG. 8, the Fan-in logic is shown in detail. ADR12 enters NAND gate 404 oninput pin 217 and is latched on the leading edge of timing signal RAMT2 oninput pin 313 to generate CHNNL A or its inverse CHNNL B. ROMCY combines with CHNNL A in NAND gate 412 and NOR gate 414 to produce ROMCHA on line 451 or with CHNNL B in NAND gate 416 and NOR gate 418 to produce ROMCHB on line 455. ROMCHA drives input 451 of data latch shown in the dashed box and enables latching of data from channel A of theROS data bus 4. Latching of the data occurs at the rising edge of latch clock not signal LTCK on line 463 into NAND gate 430 and 438. LTCK is derived from two timing signals each for RAM and ROS: RAMT1 and RAMT2 or ROMT1 and ROMT2. RAMT1 oninput pin 309, ROMT1 oninput pin 301 and ROMT2 oninput pin 305 are free running timing signals generated by the system clock. RAMT2 oninput pin 313 is generated by the memory select along with read only store cycle signal ROMCY oninput pin 311. The signal ROMCY or its inverse ROMCY controls Fan-in to sample data from the RAM or from one of the ROS channels. ROMT2 oninput pin 305 is inverted by NAND gate 422 to produce ROMT2. ROMT2 and ROMT1 oninput pin 301 drive AND gate 424 whose gating is controlled by ROMCY. RAMT2 is inverted by NAND gate 444 to produce RAMT2 on line 447. RAMT2 and RAMT1 drive AND gate 420. When both RAMT2 and RAMT1 are at logical one LTCK is at logical zero and the data latch is disengaged. RAM data will be latched on the next falling edge of RAMT1 when ROMCY is at logical zero. ROMCY will be at logical one on line 465 enabling NAND gate 432 and 428. When strobed by LTCK the RAM data will pass through NAND gates 438 and 440 to bus driver 442. Bus driver 442 passes the data onto data bus DIO to the processor. data latch
The ROS memory is accessed when ROMCY is a logical one.Address line 12 ADR12 oninput pin 217 activates the channel selector to select either channel A or channel B. ROMCY oninput pin 311 enables either NAND gate 412 or NAND gate 414 to activate the channel driver ROMCHA 451 or ROMCHB 455 for the selected channel. The selected channel driver enables gate 434 or 436 to pass data from ROS channel A MOAO or ROS channel B MOBO respectively. The data is sampled by the data latch comprising NAND gates 428, 430 and 438 and enables NAND gate 440 to drive bus driver 442 and place the data on thebus 12 to the processor during the next processor cycle.
OPERATIONReferring now to FIGS. 2 and 4 assume that the processor initiates an access to the RAM section ofmemory 2. The processor instruction command INSTR is issued to the memory select 17 oninput pin 399. If INSTR is a logical zero the command is an instruction command or if INSTR is a logical one the command is a data command. Only data is stored in the RAM. INSTR is inverted byNAND gate 360 in FIG. 6 to produce INSTR online 401. INSTR drivesNAND gate 210 if the gate is not inhibited by DIAG indicating that system diagnostics are being performed. The processor also issues its cycle command PROCY on memoryselect input pin 227. PROCY and INSTR are combined byNAND gate 212 with address line signal ADR15 oninput pin 229 to produce the inverse CSXY of the chip selection signal. CSXY drivesNAND gate 238 to produce the RAM enable signal CSXY. TheNAND gate 238 is controlled by WHIRL online 237 and RAMCY oninput pin 259 which are at logical one when the RAM is addressed by the processor. The signals WHIRL and RAMCY permit access to a portion of the RAM memory by other devices external to the processor, thus, permitting the RAM to be used as a storage device for I/O devices such as printers and displays.
The RAM enable signal CSXY online 249 is distributed to all the chip select gates. In the preferred embodiment, the RAM memory is located on three integrated circuit cards, each containing up to 8K bytes. A card select signal CPCS is generated by the memory select in response to processor signals onaddress line 13, ADR13, andaddress line 14, ADR14. ADR13 oninput pin 201 is inverted byNAND gate 200 to produce SADR13 online 203 and ADR14 oninput pin 205 is inverted byNAND gate 202 to produce SADR14 online 207. RAM memory card number one, CPCS1, is selected when both ADR13 and ADR14 are at logical one. ADR14 drivesNAND gate 202 and 218 to produce WADR14.NAND gate 218 is controlled by the external device control signal WHIRL oninput pin 237 which is at logical one during a processor cycle. WADR14 online 241 and ADR13 oninput 201 are combined byNAND gate 228 to produce CPCS1.NAND gate 228 is enabled by the chip enable signal CSXY online 249. The output ofNAND gate 228 is dotted with the output ofNAND gate 224.NAND gate 224 is driven by signal DISPLM oninput pin 247 which enables an external display device to use the memory located on card number one as its data source. CPCS1 online 251 drivesbus driver 226 to place a card select signal CPCS1 onoutput pin 253.Memory cards 2 and 3 are selected in substantially the same manner with ADR13 equal to a logical zero and ADR14 equal to a logical one for the selection of memory card number two and ADR13 equal to a logical one and ADR14 equal to a logical zero for the selection of memory card number three.
Once the proper card has been selected, the memory select next generates signals to select the proper X and Y coordinates for the addressed memory on the selected card. The X address selection signal is generated by the memory select using the signals on the processor address line ADR11 oninput pin 213 and ADR12 oninput pin 217. In the preferred embodiment each module on the three circuit cards can hold up to four integrated circuit chips. The X and Y select signals enable the proper one of the four chips located on the card. Each card has four X select lines and two Y select lines. The chip is selected which is located at the intersection of the X and Y select lines. The four X select signals are combined with the first Y select signal to select one of the first two chips and are combined with the second Y select signal to select the other two chips.
The first X select signal, CSX1, ononput pin 273 is enabled when both ADR11 and ADR12 are at logical one. ADR11 oninput pin 213 and ADR12 oninput pin 217drive NAND gate 244 to produce CXS1 online 271.NAND gate 244 is enabled by the combination of chip select signal CSXY online 249 and timing signal CSXYTM online 263. CSXYTM is the memory strobe signal generated by memory select inNAND gates 318 and 320 and NORgates 322 and 324 from free running input signal FSUS oninput pin 307 and FSUR oninput pin 305 and F2500K oninput pin 309. The output ofNAND gate 244 is dotted with the output ofNAND gate 240.NAND gate 240 is controlled by the strobe timing signal CSXYTM and the display signal DISPLM which allows an external display device to enable the X select signal CSX1.
The X select signals CSX2, CSX3, CSX4 are generated in the same manner as CSX1 using a different combination of logical ones and zeros for ADR11 and ADR12. Chip select signal CSX2 is a logical one when ADR11 is logical zero and ADR12 is logical one. X chip select signal CSX3 is logical one when ADR11 is a logical one and ADR12 is a logical zero. X chip select signal CSX4 is a logical one when ADR11 is a zero and ADR12 is a logical zero.
The Y component of the chip select signal is generated by processor address line ADR10. Y select signal CSY1 is a logical one when ADR10 is a logical one. ADR10 drivesNAND gate 258 oninput pin 209 to produce CSY1 online 287.NAND gate 258 is enabled by chip select signal CSXY online 249 and timing strobe signal CSXYTM online 263. CSY1 which is a logical zero is inverted byline driver 260 to produce a logical one for CSY1 onoutput pin 289.
The second Y select signal CSY2 onoutput pin 293 is a logical one when ADR10 is a logical zero. CSY2 is determined byNAND gate 264 andline driver 266. The output ofNAND gate 264 is dotted with the output ofNAND gate 262.NAND gate 262 is controlled by external display DISPLM oninput pin 265 and timing strobe signal CSXYTM online 263 so that CSY2 may be enabled by an external display device. Recall that CSX1 could also be enabled by an external display device. Therefore, the combination of CSX1 and CSY2 may enable an external display device to select the chip at the intersection of these two signals.
Corresponding with the chip select signal, a signal must be generated to determine whether the operation is to be a read or write into the memory. This signal is CWRT which is output from the processor to the memory select oninput pin 231. When CWRT is a logical one, the instruction is a write into memory. CWRT is inverted byNAND gate 214 to produce WRT online 233. This signal occurs while the timing strobe CSXYTM and free running clock signals F2500K and FSUR are at logical one. These signals feedNAND gate 220 to produce signal CPWRT online 243. WRT online 233 feedsNAND gate 216 which is controlled by the chip select signal CSXY online 235 and external device signal WHIRL oninput pin 237. WHIRL controls this block because the external devices, except those that use RAMCY, are not permitted to write into memory, but only to read from memory. Since the operation is a processor write, then WRT online 239 will enableline driver 222 and pass the signal CPWRT onoutput pin 245 to the memory. For a memory read, processor output signal CWRT is a logical zero.
Referring now to FIGS. 5, 6, and 7, the operation of the read only storage selection circuitry will be discussed. The memory select generates the timing and control signals required to address the ROS. In the preferred embodiment, the ROS comprises 72K bytes of storage and is addressed in individual 8K byte blocks.First 32K bytes are designated as containing instructions only and are addressed by SI0K, S(8K, SI16K, and SI24K. The next 8K bytes, SD24K, are SI8K as containing data only, and the next 32K bytes, S32K, S40K, S48K, and S56K contain mixed data and instructions.
The timing signals necessary to run the ROS memory are generated by the logic in FIG. 7. A series of latches whose outputs are MLSDL, IMLT, and LCS, generate the timing signals from the free running clock signals XCC, XA, B, and FSUS output from the system clock. LSC is the chip select signal for the ROS and is input to each of the 8K byte block selection gates shown in FIG. 5. Instruction signal ENROMI online 411 and ENROMD online 415 determine whether the access to ROS is for data or instructions and correspondingly which section of the ROS memory may be addressed. Within the selected section, address signals ADR13 and ADR14 determine which of the 8K byte blocks is to be selected.
Referring to FIG. 6, address signal ADR13 sets the address latch comprised ofNAND gates 332 and 336 andOR gate 334 to produce the latched address signal LADR13 online 389. Corrspondingly,address signal 14, ADR14, is latched by the latch comprisingNAND gates 344 and 348 and NORgate 346 to produce LADR14 online 385. These two signals are input to each of theROS selection gates 272, 276, 280, 284, 288, 302, 306, 310 and 314 shown in FIG. 5. By selecting the proper combination of logical ones and zeros for these two signals along with the ROS chip select signal LCS, and the enabled ROS data signal ENROMD, or the enabled ROS instruction signal ENROMI, the proper 8k byte block on the ROS memory can be selected. The ROS data signal and ROS instruction signal are derived from the combination of theprocessor address line 15, ADR15, and the processor instruction signal INSTR. If the instruction signal INSTR is a logical one, then the data section of the ROS is addressed, while if the signal is a logical zero, the instruction section of the ROS is addressed.
Data is output from the RAM section of the memory ondata bus 5 and is output from the ROS section on either channel A or channel B ofdata bus 4. Bothdata buses 4 and 5 are input to system logic fan-in 18 which serves as a data "funnel" to select data from the three output memory buses and place it on a single bus to the processor.
The memory select generates two signals, RAMT2 online 313 and ROMCY online 311 which control the operation of the fan-in. Timing for the fan-in is derived from the clock signals FSUR, B and F2500K. In FIG. 8, if the output is from the RAM section of the memory, then RAMT2 will be a logical zero making its inverse RAMT2 a logical one. RAMT2 on line 447 drives AND gate 420 in combination with timing signal RAMT1 oninput pin 309 to set the fan-in data latch signal LTCK at the output of NOR gate 426 on line 463. Since the data output is from the RAM, the other control signal from the memory select, ROMCY on fan-ininput pin 311 will be a logical zero and its inverse ROMCY on line 465 will be a logical one. ROMCy controls the operation of NAND gate 432 to gate data from the RAM memory oninput pin 5 into the data ltch 500. The output of the data latch drives bus driver 442 to place the data onbus 12 to the processor. If data is being output from the ROS section of thememory 2, then ROMCY will be a logical one and RAMT2 will also be a logical one. RAMT2 oninput pin 313 clocks the channel selector to select either channel A on line 445 or channel B on line 443 of the ROS output. The logical condition ofaddress line 12, ADR12, oninput pin 217 determines whether channel A or channel B is selected. The selected channel together with ROMCY which is a logical one controls either NAND gate 412 or 416 to enable the proper channel driver 414 or 148. If channel A is selected, then signal ROMCHA on line 451 will be a logical one. This signal enables NAND gate 434 to gate data from output channel MOA0 of the ROS to the data latch 500. The output of the data latch drives bus driver 442 to place the data ondata bus 12 to the processor.
If channel B is selected then signal ROMCHB on line 455 will be a logical one. This signal enables NAND gate 436 to pass data on input pin MOB0 into the data latch 500. This data is likewise passed through the data latch to bus driver 442 and onto thedata bus 12 to the processor.
While the preferred embodiment of the invention has been described with reference to a particular form of logic it would be appreciated by those of skill in the art that other forms of combinational logic may be used to implement the invention without departing from the spirit and scope of the invention.