US5187783A - Controller for direct memory access - Google Patents

Controller for direct memory access Download PDF

Info

Publication number
US5187783A
US5187783A US07/324,211 US32421189A US5187783A US 5187783 A US5187783 A US 5187783A US 32421189 A US32421189 A US 32421189A US 5187783 A US5187783 A US 5187783A
Authority
US
United States
Prior art keywords
data
byte
bytes
bit
register
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
US07/324,211
Other languages
English (en)
Inventor
Richard M. Mansfield
William F. Dohse
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.)
Samsung Electronics Co Ltd
Original Assignee
Micral 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 to US07/324,211 priority Critical patent/US5187783A/en
Application filed by Micral Inc filed Critical Micral Inc
Priority to JP50525090A priority patent/JP3167027B2/ja
Priority to CA002027572A priority patent/CA2027572A1/en
Priority to KR1019900702430A priority patent/KR0162626B1/ko
Priority to EP19900400691 priority patent/EP0388300A3/de
Priority to PCT/US1990/001405 priority patent/WO1990010907A1/en
Assigned to BULL MICRAL OF AMERICA, INC. reassignment BULL MICRAL OF AMERICA, INC. ASSIGNMENT OF ASSIGNORS INTEREST. Assignors: DOHSE, WILLIAM F., MANSFIELD, RICHARD M.
Assigned to MICRAL, INC. reassignment MICRAL, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). EFFECTIVE ON 11/07/1991 Assignors: BULL MICRAL OF AMERICA, INC.
Publication of US5187783A publication Critical patent/US5187783A/en
Application granted granted Critical
Assigned to AST RESEARCH, INC. reassignment AST RESEARCH, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICRAL, INC.
Assigned to AST RESEARCH, INC. reassignment AST RESEARCH, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICRAL, INC.
Assigned to BANK OF AMERICA NATIONAL TRUST AND SAVINGS ASSOCIATION reassignment BANK OF AMERICA NATIONAL TRUST AND SAVINGS ASSOCIATION SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AST RESEARCH, INC., A DELAWARE CORPORATION
Assigned to AST RESEARCH, INC. reassignment AST RESEARCH, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BANK OF AMERICA NATIONAL TRUST AND SAVINGS ASSOCIATION
Assigned to SAMSUNG ELECTRONICS CO., LTD reassignment SAMSUNG ELECTRONICS CO., LTD ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AST RESEARCH, INC.
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion
    • 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
    • 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

Definitions

  • This invention relates to sub-systems in computers for transferring data from one memory location to another, or from or to a memory location to or from an input/output (I/O) device.
  • the present invention relates to direct memory access (DMA) subsystems having data word widths of 2 or more bytes of data, each byte comprising 8 bits, in which the data may be manipulated and acted upon during the transfer.
  • DMA direct memory access
  • memory in an 8-bit data word system is directly addressed from the address bus.
  • the memory is organized into 8-bit words, and each address signal decoded from the address bus points to a different and unique word (in this case, also equal to a byte) in the memory.
  • the memory is organized into 16-bit words.
  • the DMA subsystem is only required to transfer data from a 16-bit memory or I/O device to or from a 16-bit I/O device or memory, each transfer comprises a word and the data is written or read to or from even numbered addresses.
  • 16-bit memory words are further organized into two 8-bit bytes of data. Bits 0-7 and 8-15 are designated the low byte and high byte, respectively. Thus, in a 16-bit data word system, each word comprises two 8-bit bytes.
  • the method for directing the data to and from the individual bytes locations requires additional address signals called byte enables.
  • the first address line which addresses the first low byte i.e. the A0 address line
  • BE0N the lower byte of the data word
  • BE1N the upper byte of the data word
  • each word is organized into four, 8-bit bytes.
  • both address lines A0 and A1 are replaced with four byte enable lines, BE0N and BE1N, BE2N and BE3N, respectively.
  • each data word is organized into eight, 8-bit bytes per word and address lines A0, A1 and A2, are replaced with eight byte enables BE0N through BE7N.
  • the byte enable lines are said to "point" to the bytes of the word that are to be transferred.
  • the memory address is incremented by two to the next even address, and the byte pointer is activated to point to the lower byte of data to be read (byte B).
  • the lower byte of data is read and steered into another register during the second cycle.
  • the entire word, bits 15-8 and 7-0, i.e. bytes B and A are assembled serially and driven onto the bus for transmission to the I/O device.
  • this technique requires three cycles to transfer each word using this technique. If this technique is extrapolated for transferring words comprising more than two bytes, the number of cycles required would be (a+1)N, where a is the number of bytes per word and N is the number of words to be transferred. Thus, for a 4-byte word, 5 cycles/word would be required.
  • a 16-bit odd memory write operation is similar to the 16-bit odd memory read operation. Again, three bus cycles per transfer are required.
  • one word i.e. two 8-bit bytes B and A
  • lower byte A in the latch is written to the upper byte memory location in response to byte enable BE1N.
  • the memory address is incremented, BE1N is driven inactive and the upper byte in the latch is written to the lower byte memory location in response to byte enable signal BE0N.
  • the memory address may be decremented in all 8-bit accesses and 16-bit accesses from an even address. However, for a 16-bit access from an odd address, the memory address may be incremented only.
  • VLSI very large scale integration
  • the DMA subsystem of the present invention includes a data manipulator which receives data during the read cycle of any DMA transfer.
  • the data manipulator includes circuitry for rearranging the byte order of the data during transfer or optionally transferring the bytes of data in the order received.
  • the data manipulator includes circuitry which provides the option of rearranging bit locations of the data within the bytes of data, or of performing logical or arithmetic operations on the data, during the transfer.
  • the data manipulator includes circuitry for driving the data, altered or unaltered, back onto the data bus during the write cycle of the DMA transfer.
  • the data manipulator of the present invention provides several options for transferring the data while at the same time assuring compatibility with I/O devices of different data word sizes and providing with the opportunity for overall system performance improvements. Any byte of data presented to the input of the data manipulator can be manipulated while being transferred, regardless of the word-size of the data at either the origin or destination of the transfer.
  • Performing a barrel-shift operation on the data allows graphics-type data manipulations to take place during DMA transfers. Arithmetic and logical operations may also be performed on the data during DMA transfers to speed up operations such as stripping columns out of files. If used in conjunction with a memory-to-memory DMA transfer, file manipulation may take place independently of the system processor, again, during the transfer.
  • the DMA subsystem of the present invention is designed in one byte modular increments.
  • the system may be expanded or reduced to any data desired word width.
  • the DMA subsystem of the present invention reduces the number of bus cycles required for a 16-bit data word transfer to or from an odd address.
  • the first 8 bits of data i.e. low byte
  • the second memory read cycle that first low byte is transferred into a register at the same time the next 16 bits (i.e. high byte of the first word and low byte of the second word) is loaded into the latch.
  • the second byte is steered from the latch to the upper byte location of the data bus and the first low byte is steered from the register to the lower byte location of the data bus.
  • FIGS. 1A and 1B illustrate a 16-bit data word transfer to and from an odd address in a prior art computer system compatible with 8-bit data word width.
  • FIG. 2 is a block diagram of a data manipulator of a DMA controller constructed according to the principles of the present invention.
  • FIG. 3 is a block diagram of an input latch employed in the DMA subsystem of FIG. 2.
  • FIG. 4 shows the layout of FIGS. 4', 4", 4"', which are a block diagram of a byte sorter employed in the DMA subsystem of FIG. 2.
  • FIG. 5 is an ALU/barrel shifter employed in the DMA subsystem of FIG. 2.
  • FIG. 6A illustrates an 8-bit memory read transfer as performed by the DMA subsystem of FIG. 2.
  • FIGS. 6B and 6C illustrate alternative 8-bit memory write transfers as performed by the DMA subsystem of FIG. 2.
  • FIGS. 7A and 7B illustrate 16-bit transfers from even address locations as performed by the DMA subsystem of FIG. 2.
  • FIGS. 8A and 8B illustrate a 16-bit data word transfer to and from an odd address in a computer system compatible with 8-bit data word width which incorporates the DMA subsystem of FIG. 2.
  • FIGS. 9A-9G illustrate conventions for 16-bit data word decrement transfers from an odd address in a computer system compatible with 8-bit data word width which incorporates the DMA subsystem of FIG. 2.
  • a DMA controller constructed according to the present invention includes data manipulator 10 as shown in FIG. 2 comprising latch 20, byte sorter 22 and data pre-processor 24, all of which being operationally controlled by state machine 26.
  • data manipulator 10 as shown in FIG. 2 comprising latch 20, byte sorter 22 and data pre-processor 24, all of which being operationally controlled by state machine 26.
  • the input of latch 20 is coupled to bi-directional data bus 15 for receiving data during a transfer operation.
  • the output of latch 20 is coupled to the input of byte sorter 22.
  • the output of byte sorter 22 is coupled to the input of data pre-processor 24 for processing data received therefrom and for driving the data back onto bi-directional data bus 15.
  • latch 20 is determined by the maximum data width (in bits per word) of the computer system. As shown in FIG. 3 for a 64-bit computer system, latch 20 comprises standard transparent latches, such as type LACFNB manufactured by VLSI Technology, Inc., where one latch is used for each bit of data per word processed.
  • byte sorter 22 comprises multiplexers 401-408 coupled to multiplexers 409 to 416, respectively, and to 8-bit registers 417-424, respectively.
  • Each multiplexer (MUX) 401-408 convert eight 8-bit bytes into one 8-bit byte; similarly, each MUX 409-416 convert two 8-bit bytes to one 8-bit byte, as shown.
  • MUXes 401-408 and 409-416 are commonly constructed from components such as type MX21D1, manufactured by VLSI Technology, Inc.
  • Registers 417-424 are commonly constructed from components such as type DFCTNB Flip flop, also manufactured by VLSI Technology, Inc.
  • byte A is directed to both byte locations designated 602 and 603 of the 16-bit data bus in response to control signals A0, A1 and A2 at MUX 401 and control signals B0, B1 and B2 at MUX 402 and control signals SEL A0 and SEL B0 at MUXes 409 and 410, respectively, from state machine 26.
  • data bits 7-0 coming into byte sorter 22 on input AI are steered through MUXes 401, 402, 409 and 410, respectively, for presentation at both outputs AO (bits 7-0) and BO (bits 15-8). Since, in the case of 8-bit memory transfers, there is no need to store data in registers 417 and 418, respectively, the data is passed directly to data bus 15.
  • DMA subsystem 10 is controlled by state machine 26 so that addresses are driven onto the address bus while also generating byte pointers to steer the data to the proper destination location.
  • a byte zero enable signal namely BE0N
  • BE0N indicates to the I/O device that it should write only the data that is designated byte zero, i.e. the lower 8 bits of the data bus, since the data is being directed to both the lower and upper byte of the data bus simultaneously.
  • cycle 3 another memory read operation is executed.
  • the data is read from the high byte memory location designated 604, having an even word address with BE0N inactive and BE1N active, and written into low byte location designated 302 of latch 20.
  • this high byte data is directed to both byte locations 605 and 606 of the 16-bit data bus, and the address and byte pointers direct the data to the appropriate I/O device. Data continues to be transferred in the same manner during subsequent cycles as shown until the transfer operation is complete.
  • cycle 1 of an 8-bit memory write transfer one byte is read from an 8-bit I/O location designated 610 having an even address value and written into byte location designated 301 of latch 20.
  • byte A is directed to both byte locations designated 611 and 612 of the 16-bit data bus in response to control signals A0, A1 and A2 at MUX 401 and control signals B0, B1 and B2 at MUX 402 and control signals SEL AO at MUX 409 and SEL BO at MUX 410 from state machine 26.
  • DMA subsystem 10 is controlled by state machine 26 so that addresses are driven onto the address bus while also generating byte pointers to steer the data to the proper destination location.
  • a byte zero enable signal namely BE0N, is also generated as part of the address.
  • BE0N indicates to the memory that it should write only the data that is designated byte zero, i.e. the lower 8 bits of the data bus, since the data is being directed to both the lower and upper byte of the data bus simultaneously.
  • cycle 3 another I/O read operation is executed.
  • the data is read from the low byte I/O location designated 613, having an even word address with BE0N active and BE1N inactive, and written into low byte location designated 301 of latch 20.
  • this low byte data is directed to both byte locations 614 and 615 of the 16-bit data bus, and the address and byte enables BE0N and BE1N direct the data to memory location designated 614. Data continues to be transferred in the same manner during subsequent cycles as shown until the transfer operation is complete.
  • cycle 1 of an 8-bit memory write transfer one byte is read from an 8-bit I/O location designated 620, having an even word address value with BE0N inactive and BE1N active, and written into byte location designated 302 of latch 20.
  • byte A is directed to both byte locations designated 621 and 622 of the 16-bit data bus in response to control signals A0, A1 and A2 at MUX 401 and control signals B0, B1 and B2 at MUX 402 and control signal SEL AO at MUX 409 and SEL BO at MUX 410 from state machine 26.
  • DMA subsystem 10 is controlled by state machine 26 so that addresses are driven onto the address bus while also generating byte pointers to steer the data to the proper destination location.
  • a byte one enable signal namely BE0N, is also generated as part of the address.
  • BE0N indicates to the memory that it should write only the data that is designated byte 622, i.e. the lower 8 bytes of the data bus, since the data is being directed to both the lower and upper byte of the data bus simultaneously.
  • cycle 3 another I/O read operation is executed.
  • the data is read from byte I/O location designated 623, having even word address and BE0N inactive and BE1N active, and written into byte location designated 302 latch 20.
  • this high byte data (hex value B) is directed to both byte locations 624 and 625 of the 16-bit data bus, and the address and byte pointers, i.e. BE0N inactive, BE1N active, direct the data to the appropriate memory location designated 624.
  • Data continues to be transferred in the same manner during subsequent cycles as shown until the transfer operation is complete.
  • a 16-bit memory write operation to an even address is similar to the corresponding 16-bit memory read operation.
  • cycle 1 of such a transfer one word (two 8-bit bytes) is read from the I/O device and written into the lower two byte locations designated 301 and 302 of latch 20.
  • cycle 2 the data is passed directly through byte sorter 22, then directed onto data bus 15 for transmission to appropriate memory locations designated 712 and 713. Thereafter, the memory address counter (again, not shown) is incremented to the next address in preparation for executing the next transfer operation.
  • the first byte of a 16-bit odd memory read operation is read in the same way as described for the corresponding prior art operation.
  • the first byte is stored in byte location designated 302 in latch 20, corresponding to byte location designated 801.
  • the memory address pointer is incremented to the next even word address.
  • byte A stored in location designated 302 of latch 20, is transferred through MUX 401 into register 417. Since the memory address is now at an even boundary, a 16-bit memory read operation is executed whereby both bytes B and C are written to locations designated 301 and 302 in latch 20 corresponding to byte locations 802 and 803, respectively.
  • byte B is directed to byte location designated 805 via MUXes 402 and 410.
  • byte A which is stored in register 417, is directed to byte location 804 via MUX 409.
  • the address register is incremented to point to the next even memory address in preparation for the next memory read operation.
  • data byte C is transferred through MUX 401 into register 417.
  • the next memory read cycle operation is also 16-bits wide, comprising byte D of word two and byte E of word three. The two data bytes are cross-transferred and stored during the write cycle of the transfer, as before.
  • only the first memory read cycle is 8 bits (1 byte) wide. After that initial cycle, read operations are always 16 bits wide, and the bytes are cross-transferred and stored to allow the I/O device to write them in the correct order. In this way, only one extra cycle is required at the beginning of the transfer, and every 16-bit word thereafter is transferred using only two cycles to complete the transfer operation.
  • cycle 1 In the 16-bit odd address memory write operation depicted in FIG. 8B, three cycles are required for the last transfer of a burst of data, but only two cycles are required for all other transfer operations.
  • one word (two 8-bit bytes A and B) is read from the I/O device and stored at locations designated 301 and 302 in latch 20 from byte locations designated 810 and 811.
  • byte A in latch 20 location designated 301 is directed to the odd byte location corresponding to BO (bits 15-8) at location designated 813 via MUXes 402 and 410.
  • the memory address counter is incremented so that it points to an even or complete word boundary.
  • byte B in latch byte location 302 is stored in register 417.
  • the memory address counter is again incremented to point to the next even address and one last cycle is executed with enable signal BE0N active and enable signal BE1N inactive. Therefore, during the last cycle, only the last byte of data, which is contained in register 417 is directed into the data bus and the data transfer is complete.
  • every transfer of multi-byte words to or from a memory location requires two bus cycles to complete--one cycle for the read operation and one for the write operation. If the transfer is to or from an odd memory address location, only one additional cycle per transfer is required, irrespective of the number of words or the number of bytes comprising the words of data to be transferred. Thus, such transfers require 2N+1 cycles, where N is the number of data words to be transferred. Therefore, for a 100 word transfer using the technique of the present invention, 201 cycles are required, whereas in prior art DMA subsystems, 3N cycles, or 300 cycles, are required for the same data transfer operation.
  • the performance advantage of the present invention becomes greater as the amount of data to be transferred or the size of the memory increases.
  • the byte address pointer may be decremented to next byte to be transferred, even from an odd address, for a 16-bit word transfer. Since no convention exists in the prior art for determining which byte segments of a 16-bit word are to be transferred from a given address to which the byte pointer has been decremented, the present invention anticipates several different conventions.
  • FIG. 9A shows the physical layout of a memory system for purposes of reference to the alternative conventions of FIGS. 9B-9G.
  • 8-bit data byte 5 is stored at physical location, address 5.
  • FIG. 9B transfer from even memory address 6 in decrement mode is illustrated according to the generally accepted industry convention.
  • FIGS. 9C-9G illustrate several conventions for transfer of data from odd memory address 7 in decrement mode according to which the controller of the present invention can transfer data.
  • the first 16-bit word transferred in FIG. 9D comprises bytes 6 and 7 in high byte-to-low byte order
  • the first word transferred in FIG. 9E comprises the same bytes but in reverse order.
  • the design of the data manipulator of the present invention is modular, in single 8-bit byte increments.
  • the word width can be expanded or contracted to any desired data word width.
  • the duration of time for data manipulation between read and write operations of a DMA transfer also may be expanded to provide for any number and types of manipulations of the data being transferred consistent with the computer system operating parameters.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
US07/324,211 1989-03-15 1989-03-15 Controller for direct memory access Expired - Lifetime US5187783A (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US07/324,211 US5187783A (en) 1989-03-15 1989-03-15 Controller for direct memory access
JP50525090A JP3167027B2 (ja) 1989-03-15 1990-03-14 直接メモリアクセス用制御器
CA002027572A CA2027572A1 (en) 1989-03-15 1990-03-14 Controller for direct memory access
KR1019900702430A KR0162626B1 (ko) 1989-03-15 1990-03-14 직접기억장치 접근용 제어기
EP19900400691 EP0388300A3 (de) 1989-03-15 1990-03-14 Steuerung für direkten Speicherzugriff
PCT/US1990/001405 WO1990010907A1 (en) 1989-03-15 1990-03-14 Controller for direct memory access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/324,211 US5187783A (en) 1989-03-15 1989-03-15 Controller for direct memory access

Publications (1)

Publication Number Publication Date
US5187783A true US5187783A (en) 1993-02-16

Family

ID=23262599

Family Applications (1)

Application Number Title Priority Date Filing Date
US07/324,211 Expired - Lifetime US5187783A (en) 1989-03-15 1989-03-15 Controller for direct memory access

Country Status (6)

Country Link
US (1) US5187783A (de)
EP (1) EP0388300A3 (de)
JP (1) JP3167027B2 (de)
KR (1) KR0162626B1 (de)
CA (1) CA2027572A1 (de)
WO (1) WO1990010907A1 (de)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333294A (en) * 1990-10-09 1994-07-26 Compaq Computer Corporation Configurable data width direct memory access device with a read address counter and a write address counter which increments the addresses based on the desired data transfer width
US5386579A (en) * 1991-09-16 1995-01-31 Integrated Device Technology, Inc. Minimum pin-count multiplexed address/data bus with byte enable and burst address counter support microprocessor transmitting byte enable signals on multiplexed address/data bus having burst address counter for supporting signal datum and burst transfer
US5561819A (en) * 1993-10-29 1996-10-01 Advanced Micro Devices Computer system selecting byte lane for a peripheral device during I/O addressing technique of disabling non-participating peripherals by driving an address within a range on the local bus in a DMA controller
US5613162A (en) * 1995-01-04 1997-03-18 Ast Research, Inc. Method and apparatus for performing efficient direct memory access data transfers
US5628026A (en) * 1994-12-05 1997-05-06 Motorola, Inc. Multi-dimensional data transfer in a data processing system and method therefor
US5907865A (en) * 1995-08-28 1999-05-25 Motorola, Inc. Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes
US5987578A (en) * 1996-07-01 1999-11-16 Sun Microsystems, Inc. Pipelining to improve the interface of memory devices
US6115757A (en) * 1996-04-09 2000-09-05 Denso Corporation DMA control apparatus for multi-byte serial-bit transfer in a predetermined byte pattern and between memories associated with different asynchronously operating processors for a distributed system
KR20000065450A (ko) * 1999-04-03 2000-11-15 구자홍 버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법
US6360307B1 (en) 1998-06-18 2002-03-19 Cypress Semiconductor Corporation Circuit architecture and method of writing data to a memory
US20030031316A1 (en) * 2001-06-08 2003-02-13 Langston R. Vaughn Method and system for a full-adder post processor for modulo arithmetic
US20050160202A1 (en) * 2002-03-19 2005-07-21 Fujitsu Limited Direct memory access device
US7962698B1 (en) 2005-10-03 2011-06-14 Cypress Semiconductor Corporation Deterministic collision detection

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287476A (en) * 1991-06-07 1994-02-15 International Business Machines Corp. Personal computer system with storage controller controlling data transfer
US5465340A (en) * 1992-01-30 1995-11-07 Digital Equipment Corporation Direct memory access controller handling exceptions during transferring multiple bytes in parallel
US5548762A (en) * 1992-01-30 1996-08-20 Digital Equipment Corporation Implementation efficient interrupt select mechanism
US5293381A (en) * 1992-03-27 1994-03-08 Advanced Micro Devices Byte tracking system and method
EP0606674B1 (de) * 1992-12-04 1999-07-28 Koninklijke Philips Electronics N.V. Prozessor für gleichförmige Operationen auf Datenreihenfolgen in entsprechenden parallelen Datenströmen
US5680642A (en) * 1993-06-25 1997-10-21 At&T Global Information Solutions Company Method and apparatus for pseudo-aligned transfers of data to memory wherein a re-alignment is performed based on the data byte control header
RU2134447C1 (ru) * 1994-09-27 1999-08-10 Сега Энтерпрайсиз, Лтд. Устройство пересылки данных и видеоигровое устройство, в котором оно используется
DE50114373D1 (de) 2001-10-31 2008-11-13 Infineon Technologies Ag Datenübertragungseinrichtung

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4408275A (en) * 1979-12-26 1983-10-04 Hitachi, Ltd. Data processing system with data cross-block-detection feature
US4445172A (en) * 1980-12-31 1984-04-24 Honeywell Information Systems Inc. Data steering logic for the output of a cache memory having an odd/even bank structure
US4467447A (en) * 1980-11-06 1984-08-21 Nippon Electric Co., Ltd. Information transferring apparatus
US4494186A (en) * 1976-11-11 1985-01-15 Honeywell Information Systems Inc. Automatic data steering and data formatting mechanism
US4514808A (en) * 1978-04-28 1985-04-30 Tokyo Shibaura Denki Kabushiki Kaisha Data transfer system for a data processing system provided with direct memory access units
US4631671A (en) * 1981-11-26 1986-12-23 Hitachi, Ltd. Data processing system capable of transferring single-byte and double-byte data under DMA control
US4633434A (en) * 1984-04-02 1986-12-30 Sperry Corporation High performance storage unit
US4722050A (en) * 1986-03-27 1988-01-26 Hewlett-Packard Company Method and apparatus for facilitating instruction processing of a digital computer
US4845664A (en) * 1986-09-15 1989-07-04 International Business Machines Corp. On-chip bit reordering structure
US5014187A (en) * 1987-08-20 1991-05-07 International Business Machines Corp. Adapting device for accommodating different memory and bus formats

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5563422A (en) * 1978-11-08 1980-05-13 Toshiba Corp Data transfer system
US4447878A (en) * 1978-05-30 1984-05-08 Intel Corporation Apparatus and method for providing byte and word compatible information transfers
JPS573283A (en) * 1980-06-03 1982-01-08 Hitachi Denshi Ltd Readout system for data
JPS57132229A (en) * 1981-02-09 1982-08-16 Mitsubishi Electric Corp Direct memory access controller
JPS57209554A (en) * 1981-06-19 1982-12-22 Oki Electric Ind Co Ltd Data processor
US4439827A (en) * 1981-12-28 1984-03-27 Raytheon Company Dual fetch microsequencer
JPS5977558A (ja) * 1982-10-27 1984-05-04 Toshiba Corp デ−タ転送方式
JPS59229659A (ja) * 1983-06-09 1984-12-24 Hitachi Ltd デ−タ処理方式
JPS60263246A (ja) * 1984-06-11 1985-12-26 Ricoh Co Ltd メモリ・システム
KR900007564B1 (ko) * 1984-06-26 1990-10-15 모토로라 인코포레이티드 동적 버스를 갖는 데이터 처리기
JPS6136859A (ja) * 1984-07-30 1986-02-21 Nec Corp インタフエ−ス制御装置
KR860007588A (ko) * 1985-03-25 1986-10-15 미쓰다 가쓰시게 데이터 처리장치
JPS61267162A (ja) * 1985-05-22 1986-11-26 Toshiba Corp デ−タ転送装置
US4788693A (en) * 1985-09-30 1988-11-29 American Telephone And Telegraph Company, At&T Bell Laboratories Data communication replicator
JPS62154049A (ja) * 1985-12-26 1987-07-09 Casio Comput Co Ltd デ−タバス変換回路
JPS63226756A (ja) * 1987-03-16 1988-09-21 Fujitsu Ltd ビツト操作可能なdma転送回路
JPS6432367A (en) * 1987-07-29 1989-02-02 Fujitsu Ltd Information transfer system with arithmetic function

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4494186A (en) * 1976-11-11 1985-01-15 Honeywell Information Systems Inc. Automatic data steering and data formatting mechanism
US4514808A (en) * 1978-04-28 1985-04-30 Tokyo Shibaura Denki Kabushiki Kaisha Data transfer system for a data processing system provided with direct memory access units
US4408275A (en) * 1979-12-26 1983-10-04 Hitachi, Ltd. Data processing system with data cross-block-detection feature
US4467447A (en) * 1980-11-06 1984-08-21 Nippon Electric Co., Ltd. Information transferring apparatus
US4445172A (en) * 1980-12-31 1984-04-24 Honeywell Information Systems Inc. Data steering logic for the output of a cache memory having an odd/even bank structure
US4631671A (en) * 1981-11-26 1986-12-23 Hitachi, Ltd. Data processing system capable of transferring single-byte and double-byte data under DMA control
US4633434A (en) * 1984-04-02 1986-12-30 Sperry Corporation High performance storage unit
US4722050A (en) * 1986-03-27 1988-01-26 Hewlett-Packard Company Method and apparatus for facilitating instruction processing of a digital computer
US4845664A (en) * 1986-09-15 1989-07-04 International Business Machines Corp. On-chip bit reordering structure
US5014187A (en) * 1987-08-20 1991-05-07 International Business Machines Corp. Adapting device for accommodating different memory and bus formats

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333294A (en) * 1990-10-09 1994-07-26 Compaq Computer Corporation Configurable data width direct memory access device with a read address counter and a write address counter which increments the addresses based on the desired data transfer width
US5386579A (en) * 1991-09-16 1995-01-31 Integrated Device Technology, Inc. Minimum pin-count multiplexed address/data bus with byte enable and burst address counter support microprocessor transmitting byte enable signals on multiplexed address/data bus having burst address counter for supporting signal datum and burst transfer
US5561819A (en) * 1993-10-29 1996-10-01 Advanced Micro Devices Computer system selecting byte lane for a peripheral device during I/O addressing technique of disabling non-participating peripherals by driving an address within a range on the local bus in a DMA controller
US5628026A (en) * 1994-12-05 1997-05-06 Motorola, Inc. Multi-dimensional data transfer in a data processing system and method therefor
US5613162A (en) * 1995-01-04 1997-03-18 Ast Research, Inc. Method and apparatus for performing efficient direct memory access data transfers
US5907865A (en) * 1995-08-28 1999-05-25 Motorola, Inc. Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes
US6115757A (en) * 1996-04-09 2000-09-05 Denso Corporation DMA control apparatus for multi-byte serial-bit transfer in a predetermined byte pattern and between memories associated with different asynchronously operating processors for a distributed system
US5987578A (en) * 1996-07-01 1999-11-16 Sun Microsystems, Inc. Pipelining to improve the interface of memory devices
US6360307B1 (en) 1998-06-18 2002-03-19 Cypress Semiconductor Corporation Circuit architecture and method of writing data to a memory
KR20000065450A (ko) * 1999-04-03 2000-11-15 구자홍 버스 인터페이스 시스템과 이를 이용한 버스 인터페이스 방법
US20030031316A1 (en) * 2001-06-08 2003-02-13 Langston R. Vaughn Method and system for a full-adder post processor for modulo arithmetic
US7194088B2 (en) * 2001-06-08 2007-03-20 Corrent Corporation Method and system for a full-adder post processor for modulo arithmetic
US20050160202A1 (en) * 2002-03-19 2005-07-21 Fujitsu Limited Direct memory access device
US7165126B2 (en) * 2002-03-19 2007-01-16 Fujitsu Limited Direct memory access device
US7962698B1 (en) 2005-10-03 2011-06-14 Cypress Semiconductor Corporation Deterministic collision detection

Also Published As

Publication number Publication date
JPH03505016A (ja) 1991-10-31
EP0388300A2 (de) 1990-09-19
KR0162626B1 (ko) 1999-01-15
JP3167027B2 (ja) 2001-05-14
WO1990010907A1 (en) 1990-09-20
KR920700432A (ko) 1992-02-19
EP0388300A3 (de) 1991-11-13
CA2027572A1 (en) 1990-09-16

Similar Documents

Publication Publication Date Title
US5187783A (en) Controller for direct memory access
US20180189066A1 (en) Processor
US4507732A (en) I/O subsystem using slow devices
US5408626A (en) One clock address pipelining in segmentation unit
CA1184311A (en) Peripheral interface adapter circuit for use in i/o controller card having multiple modes of operation
US5548786A (en) Dynamic bus sizing of DMA transfers
US4745547A (en) Vector processing
CA1181866A (en) Multiword memory data storage and addressing technique and apparatus
JP2776132B2 (ja) オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム
EP0424618A2 (de) Eingangs-/Ausgangssystem
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
US6112288A (en) Dynamic configurable system of parallel modules comprising chain of chips comprising parallel pipeline chain of processors with master controller feeding command and data
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
KR970011208B1 (ko) 파이프라인된 기록버퍼 레지스터
EP0126247B1 (de) Rechnersystem
JP3940435B2 (ja) ダイレクト・メモリ・アクセス(dma)バイト・スワッピングを実行する方法および装置
JP2620511B2 (ja) データ・プロセッサ
US4379328A (en) Linear sequencing microprocessor facilitating
US5179671A (en) Apparatus for generating first and second selection signals for aligning words of an operand and bytes within these words respectively
US4631672A (en) Arithmetic control apparatus for a pipeline processing system
US4133028A (en) Data processing system having a cpu register file and a memory address register separate therefrom
US4371931A (en) Linear micro-sequencer for micro-processor system utilizing specialized instruction format
US4374418A (en) Linear microsequencer unit cooperating with microprocessor system having dual modes
US4451883A (en) Bus sourcing and shifter control of a central processing unit

Legal Events

Date Code Title Description
AS Assignment

Owner name: BULL MICRAL OF AMERICA, INC., MINNESOTA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST.;ASSIGNORS:MANSFIELD, RICHARD M.;DOHSE, WILLIAM F.;REEL/FRAME:005252/0934

Effective date: 19900312

AS Assignment

Owner name: MICRAL, INC., MINNESOTA

Free format text: CHANGE OF NAME;ASSIGNOR:BULL MICRAL OF AMERICA, INC.;REEL/FRAME:006280/0743

Effective date: 19911112

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: AST RESEARCH, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICRAL, INC.;REEL/FRAME:007048/0010

Effective date: 19940723

AS Assignment

Owner name: AST RESEARCH, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICRAL, INC.;REEL/FRAME:007054/0428

Effective date: 19940729

AS Assignment

Owner name: BANK OF AMERICA NATIONAL TRUST AND SAVINGS ASSOCIA

Free format text: SECURITY INTEREST;ASSIGNOR:AST RESEARCH, INC., A DELAWARE CORPORATION;REEL/FRAME:007288/0234

Effective date: 19941223

AS Assignment

Owner name: AST RESEARCH, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA NATIONAL TRUST AND SAVINGS ASSOCIATION;REEL/FRAME:007492/0165

Effective date: 19950901

FEPP Fee payment procedure

Free format text: PAT HLDR NO LONGER CLAIMS SMALL ENT STAT AS SMALL BUSINESS (ORIGINAL EVENT CODE: LSM2); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: SAMSUNG ELECTRONICS CO., LTD, KOREA, REPUBLIC OF

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AST RESEARCH, INC.;REEL/FRAME:009942/0205

Effective date: 19990421

FPAY Fee payment

Year of fee payment: 8

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 12