US4773000A - DMA for digital computer system - Google Patents

DMA for digital computer system Download PDF

Info

Publication number
US4773000A
US4773000A US06931000 US93100086A US4773000A US 4773000 A US4773000 A US 4773000A US 06931000 US06931000 US 06931000 US 93100086 A US93100086 A US 93100086A US 4773000 A US4773000 A US 4773000A
Authority
US
Grant status
Grant
Patent type
Prior art keywords
cpu
data
device
random access
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US06931000
Inventor
Stanley M. Nissen
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.)
Micron Technology Inc
Original Assignee
Raytheon Co
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
Grant date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Abstract

An arrangement to couple at least one I/O device to the main bus between a CPU and a main memory in a digital computer system is shown to include a random access memory made up of a dedicated part of the main memory and control circuitry to allow access between addresses in the random access memory and either the CPU or the at least one I/O device, such circuitry being arranged to give priority of access to the CPU except when data is actually being transferred from the I/O device and the random access memory.

Description

The Government has rights in this invention pursuant to Contract No. DAAH01-82-C-A010 awarded by the Department of the Army.

This application is a continuation of application Ser. No. 865,950 filed May 19, 1986, which is a continuation of application Ser. No. 572,799 filed Jan. 23, 1984, now abandoned.

BACKGROUND OF THE INVENTION

This invention pertains generally to digital computers and in particular to a direct memory address (DMA) system for linking peripheral devices to such a computer.

As is known, a digital computer may be equipped with a DMA capability to allow various types of input/output devices (I/O devices) to be connected, usually over a shared memory bus. Unfortunately, the use of a shared memory bus requires that the operation of the central processing unit (CPU) of the computer be temporarily halted whenever data is to be passed to (or from) an I/O module. Obviously, if there are many I/O modules connected in the system, the frequency of these interruptions may be so great that the efficiency of the system is degraded to an unacceptable degree.

It is known that I/O devices may be connected to a computer system through arrangements including a buffer memory. For example, as shown and described, a magnetic drum is arranged so as to be accessible independently to the CPU of a computer system and to a selected one of a plurality of I/O devices. While such an arrangement is useful in many "low speed" applications in which interruption of the CPU are of little moment, the time required to access any given address is too long to allow use in "high speed" applications in which the frequency and duration of CPU interruption must be reduced to a minimum.

SUMMARY OF THE INVENTION

With the foregoing background of the invention in mind it is an object of this invention to provide a DMA system for a digital computer wherein CPU interruptions are reduced to a minimum.

It is another object of this invention to provide a DMA system for a digital computer that obviates any requirement for contention among various I/O modules.

It is yet another object of this invention to provide a DMA system for a digital computer wherein each DMA controller is required to address only a limited portion of CPU memory, thus reducing the complexity of the DMA controller.

These and other objects of this invention are generally attained by providing a digital computer system having a plurality of I/O modules interposed between the CPU of such system and I/O devices. Each I/O module includes a DMA controller and a random access buffer memory formed from a dedicated main memory of the computer system.

BRIEF DESCRIPTION OF THE DRAWINGS

Other objects and many of the attendant advantages of this invention will be readily appreciated as the same become better understood by reference to the following detailed description when considered in connection with the accompanying drawings wherein:

FIG. 1 is a simplified block diagram of a data processing system according to this invention; and

FIG. 2 is a simplified block diagram illustrating the data flow within the I/O module of FIG. 1.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Before proceeding with a detailed exposition of a data processing system according to this invention, it should be noted that the invention lies in an improved module interposed between the CPU of a digital computer and an I/O device. Since this is so, it is felt that a general description of the architecture of a complete digital computer and a detailed description of known elements (such as clock generators and read/write mechanisms) is not required to enable a person of ordinary skill in the art to practice the invention. In addition, because the invention may be used with any known types of I/O devices, any known kind of memory device used in a digital computer as main memory and serial or parallel processing, the elements making up the contemplated module are shown in block form, it being understood that each such element is known, per se. Finally, it should be noted that only a single I/O module and remote I/O device are illustrated although any number of remote I/O devices may be accommodated providing, however, that the I/O module has a sufficient number of channels.

Referring now to FIG. 1 it may be seen that an I/O module 15 is connected in a conventional manner to the main bus (not numbered) of a digital computer (not numbered) between a CPU 11 and a main memory 13. An interface unit 19 of known construction is connected between the I/O module 15 and an I/O device 17. It will be appreciated that the interface unit 19 is provided to convert the format of data to and from the particular type of I/O device 17 being used to the format of the data on the main bus (not numbered) and in the main memory 13. Thus, depending upon the particular I/O device, the interface unit 19 may include analog-to-digital converters, digital-to-analog converters and serial-to-parallel converters. It will also be appreciated that, whether the format of each word of the data on the main bus is serial or parallel, each word has an address field, a command field and a data field (here designated as being on buses marked, respectively, as "CPU ADDRESS BUS," "CPU COMMAND BUS" and "CPU DATA BUS." It will also be appreciated that other signals (such as clock pulses and read/write command signals) required for operation but not for an understanding of the invention are passed over the main bus (not numbered). Finally, and most importantly, it will be noted that, as shown in broken line, a dedicated section of the main memory 13 is here used as a random access memory (RAM 21) in the I/O module 15 and that different dedicated sections of the main memory 13 are used for any other I/O modules connected to the main bus.

Before referring to FIG. 2 in detail it will be noted that the elements within the I/O module 15 are by and large shown to be "hard-wired" through switching arrangements. It will become apparent, however, that the various elements could be "addressable" units to eliminate the various switching arrangements. Turning now to FIG. 2, the I/O module 15 is shown to include a random access memory 21, consisting of a dedicated section of the main memory 13 (FIG. 1). Addressing of the RAM 21 is effected from either the CPU ADDRESS BUS (not numbered) or through any one of four elements, DMA 23, 25, 27, 29 (Model AM2940 devices from AMD, (Advanced MicroDevices, Inc.), 901 Thompson Place, Sunnyvale, Calif. in a manner to be described. Data to be written in (or read out of) the RAM 21 is extant on the buses marked DATA BUS "A" or DATA BUS "B".

To effect the foregoing, any extant CPU COMMAND and I/O COMMAND are applied to a control logic network 31, here a conventional logic matrix responsive to either, or both, of the applied commands to: (a) address the RAM 21 through one of the DMA 23, 25, 27, 29 or (in a manner to be described) by the CPU ADDRESS; (b) write (in a manner to be described) serial data derived from either the I/O device 17 (FIG. 1) over DATA BUS "A" or the CPU DATA BUS (FIG. 1) over DATA BUS "B" at the selected address in the RAM 21; (c) read serial data at the selected address in the RAM 21 and ultimately pass such data (over DATA BUS "A" or DATA BUS "B") to the I/O device 17 (FIG. 1) or to the CPU DATA BUS to the CPU 11 (FIG. 1); or (d) pass parallel data from the CPU DATA BUS to the I/O device 17 (FIG. 1). In connection with the foregoing, it should be noted that the control logic network 31 is arranged to give priority to the CPU COMMAND except in the single case wherein data from the I/O device 17 (FIG. 1) is in the process of being written in the RAM 21 and access to the RAM 21 is commanded by the CPU COMMAND. In only such case (which would occur but rarely) an interrupt of communication with the CPU 11 (FIG. 1) occurs.

A SERIAL ENABLE or a PARALLEL ENABLE signal is passed as shown from the control logic network 31 to, respectively, a serial communication controller 33 or a parallel communication controller 35 to enable one or the other. The serial communication controller 33 is a Model Z8530A from ZILOG, Inc., Dell Avenue, Campbell, Calif. 95008. The parallel communication controller 35 is a model AM7303B device from AMD.

The CPU DATA BUS (FIG. 1) is connected to a CPU DATA BUFFER 37 (here a Model AM7303B device from Advanced MicroDevices, Inc., 401 Thompson Place, Sunnyvale, Calif.) and the CPU ADDRESS BUS (FIG. 1) is connected to two buffers designated respectively as CPU ADDRESS BUFFER (SERIES) 39 and CPU ADDRESS BUFFER (PARALLEL) 41. The two just-mentioned buffers are Model 54LS244 devices from Texas Instruments, Inc., Dallas, Tex. 75222. It will be noted that the buffers 39, 41 are addressable, meaning that the particular CPU address extant at any time determines which of the two may be enabled.

Interposed between the RAM 21, the CPU DATA BUFFER 37, the serial communication controller 33 and the parallel communication controller 35 are buffers 43a, 43b and switches 45a, 45b, 47. The buffers 43a, 43b are Model AM7304B devices from Advanced MicroDevices, Inc. It will be appreciated that each one of the buffers 43a, 43b is an eight-bit device and, therefore, that the two together accommodate 16 bit words on DATA BUS "A". The switches 45a, 45b connect, in accordance with actuating signal "a" out of the control logic network 31, either the serial communication controller 33 or the parallel communication controller 35 to the buffers 43a, 43b. The switch 47 connects, in accordance with actuating signal "b" out of the control logic network 31, either the buffers 43a, 43b or the CPU DATA BUFFER 37 to the RAM 21.

To complete the description, switches 49a, 49b and a read/write controller (R/W 51), each responsive to control signals as indicated out of the control logic network 31, allow addressing of DMA 27 and DMA 29 (if parallel data is to be passed to or from RAM 21) and recording or reading of data at a selected address (A1, A2, A3, A4) in the RAM 21.

Having described a layout of an exemplary I/O module, it will now be apparent that the listed objects of this invention are met. Thus, because the control logic network 31 is arranged to give the CPU COMMAND priority (except when an I/O COMMAND is actually being executed), the number of CPU interruptions is reduced to a minimum. Because the RAM 21 in each one of the different I/O modules is a separate dedicated part of the main memory 13 (FIG. 1), there is no need for contention among I/O modules. The DMA controllers need only address the RAM 21, rather than the entire CPU memory, thus reducing the controller's complexity.

It will now be apparent that changes may be made without departing from the inventive concepts. For example, if the I/O module is to be used in a digital computer system wherein only serial data is to be processed, the elements required for parallel data may be eliminated. Similarly, if the digital computer system processes only parallel data, the elements required for serial data may be eliminated. It is felt, therefore, that this invention should not be restricted to the disclosed embodiment, but rather should be limited only by the spirit and scope of the appended claims.

Claims (1)

What is claimed is:
1. In a digital computer system wherein a central processing unit (CPU) is connected over a main bus to a main memory and each one of a plurality of input/output (I/O) devices is connected, through an associated input/output module, to a dedicated part of the main memory, each one of the associated I/O modules comprising:
(a) a random access memory making up the dedicated part of the main memory addressable by the CPU and the associated I/O device;
(b) control logic network means, responsive to a coded command signal from the CPU and a coded command signal from the associated I/O device, for producing enabling signals indicative of the format of data to be processed, the desired direction of transmission of such data and the source of such data, such control logic network means being responsive to the coded command signal from the CPU in all cases except when the coded command signal from the I/O device indicates that data from the I/O device is being written in the random access memory; and
(c) switching means, responsive to the enabling signals indicative of the format of the data, the source of the data and the desired direction of transmission of the data for selectively addressing the random access memory by the CPU or the I/O device.
US06931000 1984-01-23 1986-11-14 DMA for digital computer system Expired - Lifetime US4773000A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US57279984 true 1984-01-23 1984-01-23
US86595086 true 1986-05-19 1986-05-19
US06931000 US4773000A (en) 1984-01-23 1986-11-14 DMA for digital computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06931000 US4773000A (en) 1984-01-23 1986-11-14 DMA for digital computer system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US86595086 Continuation 1986-05-19 1986-05-19

Publications (1)

Publication Number Publication Date
US4773000A true US4773000A (en) 1988-09-20

Family

ID=27416145

Family Applications (1)

Application Number Title Priority Date Filing Date
US06931000 Expired - Lifetime US4773000A (en) 1984-01-23 1986-11-14 DMA for digital computer system

Country Status (1)

Country Link
US (1) US4773000A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664142A (en) * 1990-10-01 1997-09-02 International Business Machines Corporation Chained DMA devices for crossing common buses
US6473780B1 (en) * 1998-04-01 2002-10-29 Intel Corporation Scheduling of direct memory access

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US26832A (en) * 1860-01-17 Improved horseshoe
US3909799A (en) * 1973-12-18 1975-09-30 Honeywell Inf Systems Microprogrammable peripheral processing system
US4067059A (en) * 1976-01-29 1978-01-03 Sperry Rand Corporation Shared direct memory access controller
US4075691A (en) * 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4091455A (en) * 1976-12-20 1978-05-23 Honeywell Information Systems Inc. Input/output maintenance access apparatus
US4245305A (en) * 1977-12-30 1981-01-13 Ing. C. Olivetti & C., S.P.A. Direct memory access control device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US26832A (en) * 1860-01-17 Improved horseshoe
US3909799A (en) * 1973-12-18 1975-09-30 Honeywell Inf Systems Microprogrammable peripheral processing system
US4075691A (en) * 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4067059A (en) * 1976-01-29 1978-01-03 Sperry Rand Corporation Shared direct memory access controller
US4091455A (en) * 1976-12-20 1978-05-23 Honeywell Information Systems Inc. Input/output maintenance access apparatus
US4245305A (en) * 1977-12-30 1981-01-13 Ing. C. Olivetti & C., S.P.A. Direct memory access control device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Nissim, Joseph; "DMA Controller Capitalizes on Clock Cycles to Bypass CPU"; 1/78; Computer Design.
Nissim, Joseph; DMA Controller Capitalizes on Clock Cycles to Bypass CPU ; 1/78; Computer Design. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664142A (en) * 1990-10-01 1997-09-02 International Business Machines Corporation Chained DMA devices for crossing common buses
US6473780B1 (en) * 1998-04-01 2002-10-29 Intel Corporation Scheduling of direct memory access

Similar Documents

Publication Publication Date Title
US3470542A (en) Modular system design
US5652870A (en) Microcomputer having multiplexable input-output port
US4866601A (en) Digital data bus architecture for computer disk drive controller
US5579025A (en) Display control device for controlling first and second displays of different types
US4514808A (en) Data transfer system for a data processing system provided with direct memory access units
US4060795A (en) Scanning system
US5016160A (en) Computer system having efficient data transfer operations
US5838985A (en) Parallel processor with memory/ALU inhibiting feature
US4663756A (en) Multiple-use priority network
US3715725A (en) Address responsive controller for computer handling of peripheral equipment
US4490786A (en) Vector processing unit
US4150429A (en) Text editing and display system having a multiplexer circuit interconnecting plural visual displays
US4144562A (en) System and method for increasing microprocessor output data rate
US5408627A (en) Configurable multiport memory interface
US4261034A (en) Remote distributed interrupt control for computer peripherals
US4443846A (en) Dual port exchange memory between multiple microprocessors
US5680361A (en) Method and apparatus for writing to memory components
US5537624A (en) Data repacking circuit having toggle buffer for transferring digital data from P1Q1 bus width to P2Q2 bus width
US4897801A (en) Display terminal equipment with concurrently operable plural input devices
US5550987A (en) Data transfer device
US5381376A (en) Video RAM having block selection function during serial write transfer operation
US4141067A (en) Multiprocessor system with cache memory
US4646077A (en) Video display controller system with attribute latch
US4604682A (en) Buffer system for interfacing an intermittently accessing data processor to an independently clocked communications system
US4442485A (en) Dynamically buffered data transfer system for large capacity data source

Legal Events

Date Code Title Description
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: MICRON TECHNOLOGY, INC., IDAHO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RAYTHEON COMPANY;REEL/FRAME:008967/0447

Effective date: 19970924

FPAY Fee payment

Year of fee payment: 12