WO1996017304A1 - Bus-to-bus bridge - Google Patents

Bus-to-bus bridge Download PDF

Info

Publication number
WO1996017304A1
WO1996017304A1 PCT/GB1995/002744 GB9502744W WO9617304A1 WO 1996017304 A1 WO1996017304 A1 WO 1996017304A1 GB 9502744 W GB9502744 W GB 9502744W WO 9617304 A1 WO9617304 A1 WO 9617304A1
Authority
WO
WIPO (PCT)
Prior art keywords
bus
memory
bits
dma
coupled
Prior art date
Application number
PCT/GB1995/002744
Other languages
French (fr)
Inventor
Patrick Maurice Bland
Daniel Raymond Cronin
Richard Gerard Hofmann
Dennis Moeller
Lance Michael Venarchick
Original Assignee
International Business Machines Corporation
Ibm United Kingdom Limited
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
Application filed by International Business Machines Corporation, Ibm United Kingdom Limited filed Critical International Business Machines Corporation
Priority to PL95320022A priority Critical patent/PL320022A1/en
Priority to EP95937979A priority patent/EP0795159A1/en
Publication of WO1996017304A1 publication Critical patent/WO1996017304A1/en

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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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
    • 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/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • 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/0615Address space extension
    • G06F12/0623Address space extension for memory modules

Definitions

  • ISA industry standard architecture
  • the ISA bus has twenty-four (24) memory address lines which therefore provides support for up to sixteen (16) megabytes of memory.
  • the wide acceptance of the ISA bus has resulted in a very large percentage of manufactured devices being designed for use on the ISA bus.
  • higher-speed input/output devices, such as video controllers, commonly used in current computer systems require faster buses.
  • a solution to the general problem of sending and receiving data from the processor to any high-speed input device is a local bus.
  • a local bus communicates at system speed and carries data in 32-bit blocks.
  • Local bus schemes remove from the main system bus those interfaces that need quick response, such as memory, display, and disk drives.
  • One such local bus that is gaining wide acceptance in the computer industry is the peripheral component interconnect (PCI) bus.
  • the PCI bus can be a 32 or 64-bit pathway for high-speed data transfer.
  • the PCI bus is a parallel data path provided in addition to an ISA bus.
  • the system processor and memory can be attached directly to the PCI bus, for example, or through a host bridge. Other devices such as graphic display adapters, disk controllers, etc. can also attach directly to the PCI bus.
  • a bridge chip is coupled between the PCI bus and the ISA bus in order to provide communication between devices on the two buses.
  • the bridge chip essentially translates the ISA bus cycles to PCI bus cycles, and vice versa.
  • the PCI bus has an addressing capability of thirty-two (32) bits that provide for four (4) gigabytes of memory access.
  • the ISA bus master is normally limited to accessing only regions of memory from zero to 16 megabytes on the PCI bus, due to the 24-bit addressing capability of the ISA bus master. This renders a large portion of the 32-bit memory map inaccessible to ISA bus masters.
  • some operating systems allocate the lower 16 megabytes of memory for purposes other than ISA bus masters.
  • An arrangement that attempts to solve this problem sets the most significant bit of a 32-bit PCI address high, using external circuitry, when a master signal is detected on the ISA bus. This re-allocates the memory access to a specific 16 megabyte segment (or block) in a predefined region above the lowest 16 megabytes in the memory map.
  • a disadvantage of this approach is the requirement of external circuitry, and inflexibility due to the limitation on reallocating the 16 byte memory block to the same location in the 4 gigabyte memory map.
  • the present invention has the advantage of not requiring external circuitry to provide accesses above the lower megabytes of memory addressable by the M-bit addresses. Instead, a number of bits stored in a register are merely concatenated with the M-bit address to form the N-bit memory address capable of accessing any location in memory. Also, the concatenation of a plurality of bits to the M-bit address removes the prior art limitation on the reallocation of a memory segment to only one location in the memory map.
  • the register is programmable to respectively store specified values of the P bits in a storage location in the register. This feature permits dynamic reallocation of a memory segment to different location ⁇ in the memory map.
  • Figure 1 is a perspective view of a computer system to which the present invention is applicable
  • Figure 2 is a block diagram of the computer system of Figure 1 constructed in accordance with the prior art
  • Figure 3 is a block diagram of a memory map with a memory segment reallocated according to the prior art
  • Figure 4 is a block diagram of a memory map with a memory segment reallocated according to the present embodiment
  • FIG. 5 is a block diagram of the computer system of Figure 1 constructed in accordance with the embodiment of the present invention.
  • FIG. 6 is a block diagram of a DMA controller constructed in accordance with an embodiment of the present invention.
  • FIG. 2 is a block diagram of a prior art arrangement of a computer system.
  • a local bus 30, such as a peripheral controller interconnect (PCI) bus 30, has a PCI memory slave 40 coupled to the PCI bus 30.
  • the computer system also has a second bus serving as an expansion bus 32.
  • This expan ⁇ ion bus 32 can be, for example, an industry standard architecture (ISA) bus.
  • ISA industry standard architecture
  • the ISA bus 32 is much slower than the PCI bus 30, the ISA bus 32 is useful since many currently available devices that can be coupled to the ISA bus 32 are not able to perform at a rate of speed commensurate with the speed of the PCI bus 30.
  • the configuration of Figure 2 therefore provides a first bus 30 which allows the use of high-speed devices, and a second bus 32 which allows the use of lower-speed devices.
  • a bridge chip 34 provides an interface between the PCI bus 30 and the ISA bus 32.
  • a plurality of ISA bus masters 36 and ISA memory slaves 38 are coupled to the ISA bus 32.
  • the bridge chip 34 provides an interface between the PCI bus 30 and the ISA bus 32.
  • An ISA bus interface 42 in the bridge chip 34 translates ISA bus cycles into a system bus cycle for use by the bridge chip 34.
  • a PCI bus interface 46 converts PCI bus cycles from the PCI bus 30 into system bus cycles for the bridge chip 34.
  • a DMA controller circuit 50 provides DMA control of memory accesses within the system.
  • the DMA controller circuit 50 provides a plurality of separate DMA channels over which memory accesses involving the individual ISA masters 36 are respectively communicated.
  • the DMA controller circuit 50 also provides system arbitration for the ISA bus masters 36 when they desire to perform a DMA transfer.
  • the addressing capability of the PCI bus 30 provides an addressing capability in memory of 4 gigabytes.
  • Figure 3 is a map of the 4 gigabytes of memory and shows the reallocation of 16 megabytes of memory according to the prior art within the 4 gigabytes. Since the ISA bus master 36 can only generate 24-bit addresses, it is limited to addressing memory within a 16 megabyte segment. This is shown as the lower 16 megabytes of memory in Figure 3. It has been found desirable to reallocate the memory above this lower 16 megabyte segment. The prior art solution used external circuitry to set the most significant bit of a 32-bit PCI address high when a master signal was detected on the ISA bus 32.
  • the present embodiment provides dynamic reallocation of the 16 megabyte memory segment to any specified 16 megabyte segment of memory within the 4 gigabytes of memory.
  • Each of the separate ISA bus masters 36 can have a separate 16 megabyte segment of memory within the 4 gigabytes of memory.
  • An exemplary allocation of 16 megabyte segments according to the present embodiment is depicted in the memory map of Figure 4.
  • FIG. 5 For purposes of explanation, only certain elements of the system of the present embodiment according to Figure 2 are depicted in the block diagram of Figure 5.
  • a single ISA bus master 36 is shown connected via the ISA bus 32 to the bridge chip 34.
  • a single PCI memory slave 40 is coupled via the PCI bus 30 to the bridge chip 34.
  • the DMA controller circuit 50 located on the bridge chip 34 includes a high page register 66 which contains the high byte of the ISA bus master memory address (an exemplary embodiment of the DMA controller 50 will be described in more detail later with respect to Figures 5 and 6. )
  • a high page register 66 which contains the high byte of the ISA bus master memory address
  • DMA controller circuit 50 detects a DMA arbitration request on the cascade mode channel, DMA controller circuit 50 attempts to gain control of the system for the ISA bus master 36. Once control is given to the cascade mode channel, the DMA controller 50 loads the contents of the high page register for that specific channel into a DMA transfer counter 68.
  • the ISA bus master 36 When the DMA controller circuit 50 asserts an acknowledge signal, the ISA bus master 36 will begin its transfers to and from the PCI 32-bit memory.
  • the high byte contained in the transfer counter 68 is concatenated with the 24-bit ISA bus master address to form the full 32-bit PCI memory address.
  • the ISA bus master 36 operates in a conventional manner to address 16 megabytes.
  • the accessing of memory above the 16 megabyte limit is transparent to the ISA bus masters 36, and is performed by the bridge chip 34 using the DMA controller 50 to concatenate a high byte to the ISA bus master address.
  • a microprocessor operates on data stored in a main memory. Since there are practical size limitations on the main memory, bulk memory storage devices are provided in addition to and separately from the main memory. When the microprocessor wants to make use of data stored in bulk storage, for example, a hard disk, the data is moved from the hard disk into the main memory. This movement of blocks of memory inside the computer is a very time consuming process and would severely hamper the performance of the computer system if the microprocessor were to control the memory transfers itself.
  • a direct memory access (DMA) controller In order to relieve the microprocessor from the chore of controlling the movement of blocks of memory inside the computer, a direct memory access (DMA) controller is used.
  • the DMA controller receives information from the microprocessor as to the base location from where bytes are to be moved, the address to where these bytes should go, and the number of bytes to move. Once it has been programmed by the microprocessor, the DMA controller oversees the transfer of the memory data within the computer system. Normally, DMA operations are used to move data between input/output (I/O) devices and memory.
  • I/O input/output
  • the first and second DMA controllers 60, 62 produce sixteen (16) bits of the memory address to the PCI bus 30 when the DMA controllers 60, 62 act as bus masters.
  • the DMA controller circuit 50 also has a low page register 64 and a high page register 66.
  • the low page register 64 has been used in prior art designs (such as the IBM PC/AT) to furnish another eight (8) bits of memory addressing capability, to produce a total of twenty-four (24) bit addressing capability, or 16 megabytes.
  • the present embodiment provides an additional eight bits of memory addressing capability for a total of thirty-two (32) bit addressing capability, or 4 gigabytes.

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)
  • Memory System (AREA)

Abstract

A computer system that has two buses (30, 32) with different memory addressing capacities and a first bus master (36) that generates M-bit addresses is provided with a bridge (34) between the two buses. In order to generate N-bit addresses for use on the second bus (30), a direct memory access (DMA) controller (50) on the bridge produces P bits, where P + M = N. The P bits are concentrated with the M bits to form an N-bit address used on the second bus (30) to address memory (40). The addition of P bits reallocates the memory segment addressable by the M-bits to any location within the memory map addressable by an N-bit address.

Description

BUS-TO-BUS BRIDGE
The present invention relates to a digital computer system, and more particularly, to the accessing of memory segments in a system which has two or more buses.
In computer systems, electronic chips and other components are connected with one another by buses. A variety of components can be connected to the bus providing intercommunication between all of the devices that are connected to the bus. One type of bus which has gained wide industry acceptance is the industry standard architecture (ISA) bus. The ISA bus has twenty-four (24) memory address lines which therefore provides support for up to sixteen (16) megabytes of memory. The wide acceptance of the ISA bus has resulted in a very large percentage of manufactured devices being designed for use on the ISA bus. However, higher-speed input/output devices, such as video controllers, commonly used in current computer systems, require faster buses.
A solution to the general problem of sending and receiving data from the processor to any high-speed input device is a local bus. Unlike the ISA bus, which operates relatively slowly with limited bandwidth, a local bus communicates at system speed and carries data in 32-bit blocks. Local bus schemes remove from the main system bus those interfaces that need quick response, such as memory, display, and disk drives. One such local bus that is gaining wide acceptance in the computer industry is the peripheral component interconnect (PCI) bus. The PCI bus can be a 32 or 64-bit pathway for high-speed data transfer. Essentially, the PCI bus is a parallel data path provided in addition to an ISA bus. The system processor and memory can be attached directly to the PCI bus, for example, or through a host bridge. Other devices such as graphic display adapters, disk controllers, etc. can also attach directly to the PCI bus.
A bridge chip is coupled between the PCI bus and the ISA bus in order to provide communication between devices on the two buses. The bridge chip essentially translates the ISA bus cycles to PCI bus cycles, and vice versa.
Many of the devices attached to the PCI bus and the ISA bus are master devices that are able to conduct processing independently of the bus or other devices. Slave or target devices accept commands and respond to requests of a master.
The PCI bus has an addressing capability of thirty-two (32) bits that provide for four (4) gigabytes of memory access. Although it is possible for a master on the ISA bus to access a memory location in the memory on the PCI bus, the ISA bus master is normally limited to accessing only regions of memory from zero to 16 megabytes on the PCI bus, due to the 24-bit addressing capability of the ISA bus master. This renders a large portion of the 32-bit memory map inaccessible to ISA bus masters. Furthermore, some operating systems allocate the lower 16 megabytes of memory for purposes other than ISA bus masters.
An arrangement that attempts to solve this problem sets the most significant bit of a 32-bit PCI address high, using external circuitry, when a master signal is detected on the ISA bus. This re-allocates the memory access to a specific 16 megabyte segment (or block) in a predefined region above the lowest 16 megabytes in the memory map. A disadvantage of this approach is the requirement of external circuitry, and inflexibility due to the limitation on reallocating the 16 byte memory block to the same location in the 4 gigabyte memory map.
There is a need for an arrangement that provides programmable reallocation of memory blocks within a memory map in a system that has first and second buses with different memory accessing limits.
This need is met by the invention claimed in claim 1.
The present invention has the advantage of not requiring external circuitry to provide accesses above the lower megabytes of memory addressable by the M-bit addresses. Instead, a number of bits stored in a register are merely concatenated with the M-bit address to form the N-bit memory address capable of accessing any location in memory. Also, the concatenation of a plurality of bits to the M-bit address removes the prior art limitation on the reallocation of a memory segment to only one location in the memory map.
In certain preferred embodiments, the register is programmable to respectively store specified values of the P bits in a storage location in the register. This feature permits dynamic reallocation of a memory segment to different locationβ in the memory map.
An embodiment of the present invention will now be deβcribed, by way of example, with reference to the accompanying drawings, in which:
Figure 1 is a perspective view of a computer system to which the present invention is applicable,
Figure 2 is a block diagram of the computer system of Figure 1 constructed in accordance with the prior art, Figure 3 is a block diagram of a memory map with a memory segment reallocated according to the prior art,
Figure 4 is a block diagram of a memory map with a memory segment reallocated according to the present embodiment,
Figure 5 is a block diagram of the computer system of Figure 1 constructed in accordance with the embodiment of the present invention, and
Figure 6 is a block diagram of a DMA controller constructed in accordance with an embodiment of the present invention.
With reference now to the Figures and in particular with reference to Figure 1, a conventional computer, or PC, designated 10, is of the type with which the invention has particular utility. Computer 10 which preferably, but not necessarily, is of a type utilizing an IBM personal computer or a similar system, includes a console housing 12 in which a circuit board containing the necessary circuitry including a microprocessor and BIOS chips, controllers, random access memory and other hardware are arranged. The computer alβo includes a video display 14 and a keyboard 16 connected to the housing 12 through cable 18. Mass storage media includes a hard disk drive within the housing and is non-accessible to the user, and user-accessible floppy disks, as well as, optionally, CD- ROM drives 20 and 22.
Figure 2 is a block diagram of a prior art arrangement of a computer system. A local bus 30, such as a peripheral controller interconnect (PCI) bus 30, has a PCI memory slave 40 coupled to the PCI bus 30. The computer system also has a second bus serving as an expansion bus 32. This expanβion bus 32 can be, for example, an industry standard architecture (ISA) bus. Although the ISA bus 32 is much slower than the PCI bus 30, the ISA bus 32 is useful since many currently available devices that can be coupled to the ISA bus 32 are not able to perform at a rate of speed commensurate with the speed of the PCI bus 30. The configuration of Figure 2 therefore provides a first bus 30 which allows the use of high-speed devices, and a second bus 32 which allows the use of lower-speed devices.
A bridge chip 34 provides an interface between the PCI bus 30 and the ISA bus 32. A plurality of ISA bus masters 36 and ISA memory slaves 38 are coupled to the ISA bus 32.
The bridge chip 34 provides an interface between the PCI bus 30 and the ISA bus 32. An ISA bus interface 42 in the bridge chip 34 translates ISA bus cycles into a system bus cycle for use by the bridge chip 34. A PCI bus interface 46 converts PCI bus cycles from the PCI bus 30 into system bus cycles for the bridge chip 34. A DMA controller circuit 50 provides DMA control of memory accesses within the system. The DMA controller circuit 50 provides a plurality of separate DMA channels over which memory accesses involving the individual ISA masters 36 are respectively communicated. The DMA controller circuit 50 also provides system arbitration for the ISA bus masters 36 when they desire to perform a DMA transfer.
As stated earlier, the addressing capability of the PCI bus 30 provides an addressing capability in memory of 4 gigabytes. Figure 3 is a map of the 4 gigabytes of memory and shows the reallocation of 16 megabytes of memory according to the prior art within the 4 gigabytes. Since the ISA bus master 36 can only generate 24-bit addresses, it is limited to addressing memory within a 16 megabyte segment. This is shown as the lower 16 megabytes of memory in Figure 3. It has been found desirable to reallocate the memory above this lower 16 megabyte segment. The prior art solution used external circuitry to set the most significant bit of a 32-bit PCI address high when a master signal was detected on the ISA bus 32. This reallocated the 16 megabytes of memory to a different location within the 4 gigabytes of memory aβ indicated in Figure 3. However, all accesses to the memory on the PCI bus 30 by the ISA bus masters 36 would be to this same reallocated segment.
By contrast, as seen in Figure 4, the present embodiment provides dynamic reallocation of the 16 megabyte memory segment to any specified 16 megabyte segment of memory within the 4 gigabytes of memory. Each of the separate ISA bus masters 36 can have a separate 16 megabyte segment of memory within the 4 gigabytes of memory. An exemplary allocation of 16 megabyte segments according to the present embodiment is depicted in the memory map of Figure 4.
For purposes of explanation, only certain elements of the system of the present embodiment according to Figure 2 are depicted in the block diagram of Figure 5. A single ISA bus master 36 is shown connected via the ISA bus 32 to the bridge chip 34. A single PCI memory slave 40 is coupled via the PCI bus 30 to the bridge chip 34.
The DMA controller circuit 50 located on the bridge chip 34 includes a high page register 66 which contains the high byte of the ISA bus master memory address (an exemplary embodiment of the DMA controller 50 will be described in more detail later with respect to Figures 5 and 6. ) When the DMA channel is placed into cascade mode, as is known in the art, this implies that a given DMA channel of the DMA controller circuit 50 will be used for system arbitration by the ISA bus master 36. When the DMA controller circuit 50 detects a DMA arbitration request on the cascade mode channel, DMA controller circuit 50 attempts to gain control of the system for the ISA bus master 36. Once control is given to the cascade mode channel, the DMA controller 50 loads the contents of the high page register for that specific channel into a DMA transfer counter 68. When the DMA controller circuit 50 asserts an acknowledge signal, the ISA bus master 36 will begin its transfers to and from the PCI 32-bit memory. The high byte contained in the transfer counter 68 is concatenated with the 24-bit ISA bus master address to form the full 32-bit PCI memory address.
The ISA bus master 36 operates in a conventional manner to address 16 megabytes. The accessing of memory above the 16 megabyte limit is transparent to the ISA bus masters 36, and is performed by the bridge chip 34 using the DMA controller 50 to concatenate a high byte to the ISA bus master address.
Before describing a specific embodiment of a DMA controller that can be used to provide the upper eight bits of the 32-bit PCI address, a brief description of DMA controllers in general is provided below. In a digital computer, a microprocessor operates on data stored in a main memory. Since there are practical size limitations on the main memory, bulk memory storage devices are provided in addition to and separately from the main memory. When the microprocessor wants to make use of data stored in bulk storage, for example, a hard disk, the data is moved from the hard disk into the main memory. This movement of blocks of memory inside the computer is a very time consuming process and would severely hamper the performance of the computer system if the microprocessor were to control the memory transfers itself.
In order to relieve the microprocessor from the chore of controlling the movement of blocks of memory inside the computer, a direct memory access (DMA) controller is used. The DMA controller receives information from the microprocessor as to the base location from where bytes are to be moved, the address to where these bytes should go, and the number of bytes to move. Once it has been programmed by the microprocessor, the DMA controller oversees the transfer of the memory data within the computer system. Normally, DMA operations are used to move data between input/output (I/O) devices and memory.
A commercially available DMA controller is the 8237 DMA controller manufactured by Intel. Each 8237 DMA controller provides four separate DMA channels which can be used independently for memory transfers. Certain well-known computer systems, such aβ the IBM PC/AT design, contain two 8237 DMA controllers. The DMA controller circuit 50 of Figure* 5 and 6 uses these conventional DMA controllers 60, 62. One channel of the first DMA controller 60 is used to cascade the second DMA controller 62, as is known in the prior art. The pair of DMA controllers 60, 62 therefore provide a total of seven DMA channels, with four channels provided by the first controller 60, and three channels provided by the second controller 62.
A number of different signals, such as the clock signal, etc., have not been shown in Figure 6 so as not to obscure the embodiment. However, one of ordinary skill in the art would recognize that these conventional signals would be used in practice.
The first and second DMA controllers 60, 62 produce sixteen (16) bits of the memory address to the PCI bus 30 when the DMA controllers 60, 62 act as bus masters. The DMA controller circuit 50 also has a low page register 64 and a high page register 66. The low page register 64 has been used in prior art designs (such as the IBM PC/AT) to furnish another eight (8) bits of memory addressing capability, to produce a total of twenty-four (24) bit addressing capability, or 16 megabytes. The present embodiment provides an additional eight bits of memory addressing capability for a total of thirty-two (32) bit addressing capability, or 4 gigabytes. These additional 8 bits are provided on the PCI bus 30 (concatenated with the lower 24 bits of the memory address) by the high page register 66 when an ISA bus master 36 gains control of a DMA channel. The contents of the high page register 66 can be different for each of the seven different DMA channels, so that the seven ISA bus masters 36 are able to access seven different 16 megabyte segments of memory within the 4 gigabytes of memory on the PCI bus 30. The high page register 66 is programmable, so that the allocation of a specific memory location for a 16 megabyte segment for an individual ISA bus master 36 can be changed.
The addition of a high page register to the existing design of a DMA controller circuit used in the IBM PC/AT computer system allows 32-bit addressing to a PCI bus, while using well-known and tested technology to provide the lower 24 bits of the memory addresses.

Claims

1. A computer system comprising:
a first bus having a memory addressing capacity of M bits;
a first bus master, coupled to the first bus, that generates M-bit addresses for memory accesses;
a second bus coupled to the first bus and having a memory addressing capacity of N bits, where N is greater than M;
a second bus memory target coupled to the second bus; and
a direct memory access (DMA) controller coupled to the first bus, the DMA controller having a register for storing high order P bits, where N = M + P, and logic for concatenating the high order P bits stored in the register with the M-bit address generated by the first bus master to form an N-bit address for addressing memory in the second bus memory target on the second bus.
2. The system of Claim 1, further comprising a plurality of first bus masters, wherein the DMA controller has a plurality of DMA channels over which memory addresses are communicated, each first bus master communicating over a different DMA channel, the register having a plurality of storage locations, each storage location corresponding to a different one of the DMA channels.
3. The system of Claim 2, wherein the register is programmable to respectively store specified values of the P bits in the individual storage locations.
4. The system of Claim 3, wherein the specified values of the P bits are different in each individual storage location, such that the N-bit addresses formed for the individual first bus masters are different to thereby access different blocks of memory in the second memory target.
5. The system of Claim 4, wherein the firβt bus is an industry standard architecture (ISA) bus, and the second bus is a peripheral component interconnect (PCI) bus.
6. The system of Claim 5, wherein M is 24, N is 32, and P is 8.
7. The system of Claim 6, wherein the DMA controller is a cascaded DMA controller.
8. A computer system comprising:
a first bus having a memory addressing capacity of M bits; a first bus master, coupled to the first bus, that generates M-bit addresses for memory accesses to X-bytes of memory;
a second bus coupled to the first bus and having a memory addressing capacity of N bits, where N is greater than M, for memory accesses to Y- bytes of memory, where Y is greater than X;
a second bus memory target coupled to the second bus; and
logic for programmably directing the first bus master to access X- byte size blocks of memory at any specified location within the Y-bytes of memory.
PCT/GB1995/002744 1994-11-30 1995-11-27 Bus-to-bus bridge WO1996017304A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PL95320022A PL320022A1 (en) 1994-11-30 1995-11-27 Computer system
EP95937979A EP0795159A1 (en) 1994-11-30 1995-11-27 Bus-to-bus bridge

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US35119194A 1994-11-30 1994-11-30
US08/351,191 1994-11-30

Publications (1)

Publication Number Publication Date
WO1996017304A1 true WO1996017304A1 (en) 1996-06-06

Family

ID=23379952

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1995/002744 WO1996017304A1 (en) 1994-11-30 1995-11-27 Bus-to-bus bridge

Country Status (8)

Country Link
EP (1) EP0795159A1 (en)
JP (1) JPH08235105A (en)
KR (1) KR960018940A (en)
CN (1) CN1151050A (en)
BR (1) BR9505209A (en)
CA (1) CA2160499A1 (en)
PL (1) PL320022A1 (en)
WO (1) WO1996017304A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0814408A2 (en) * 1996-06-18 1997-12-29 Matsushita Electric Industrial Co., Ltd. Bus bridge apparatus
WO1998011490A1 (en) * 1996-09-10 1998-03-19 Symbios, Inc. Address translation in computer bus bridge devices
EP0982661A1 (en) * 1998-08-27 2000-03-01 Xerox Corporation System for connecting a computer to a plurality of I/O means
WO2004027630A1 (en) * 2002-09-23 2004-04-01 Telefonaktiebolaget Lm Ericsson (Publ). Computer system and method for accessing external peripheral devices in a computer system
US9154285B2 (en) 2012-06-27 2015-10-06 Nxp B.V. Communications apparatus, system and method with error mitigation
US10284247B2 (en) 2013-06-10 2019-05-07 Nxp B.V. System and method for bit processing in a central network component

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6457077B1 (en) * 1999-06-10 2002-09-24 International Business Machines Corporation System for executing a current information transfer request even when current information transfer request exceeds current available capacity of a transit buffer
CN102331978A (en) * 2011-07-07 2012-01-25 曙光信息产业股份有限公司 DMA (Direct Memory Access) controller access implementation method for Loongson blade large-memory address devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0321157A2 (en) * 1987-12-15 1989-06-21 Advanced Micro Devices, Inc. Direct memory access apparatus and methods
EP0382358A2 (en) * 1989-02-07 1990-08-16 Compaq Computer Corporation Full address and odd boundary direct memory access controller
EP0391537A2 (en) * 1989-04-07 1990-10-10 Tektronix Inc. Lock converting bus-to-bus interface system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0321157A2 (en) * 1987-12-15 1989-06-21 Advanced Micro Devices, Inc. Direct memory access apparatus and methods
EP0382358A2 (en) * 1989-02-07 1990-08-16 Compaq Computer Corporation Full address and odd boundary direct memory access controller
EP0391537A2 (en) * 1989-04-07 1990-10-10 Tektronix Inc. Lock converting bus-to-bus interface system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
W. ANDREWS: "PCI promises solution to local-bus bottleneck", COMPUTER DESIGN, vol. 31, no. 8, TULSA OK USA, pages 36 - 40, XP000307561 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0814408A2 (en) * 1996-06-18 1997-12-29 Matsushita Electric Industrial Co., Ltd. Bus bridge apparatus
EP0814408A3 (en) * 1996-06-18 2002-03-27 Matsushita Electric Industrial Co., Ltd. Bus bridge apparatus
WO1998011490A1 (en) * 1996-09-10 1998-03-19 Symbios, Inc. Address translation in computer bus bridge devices
US5857080A (en) * 1996-09-10 1999-01-05 Lsi Logic Corporation Apparatus and method for address translation in bus bridge devices
US6189062B1 (en) 1996-09-10 2001-02-13 Lsi Logic Corporation Apparatus and method for address translation in bus bridge devices
EP0982661A1 (en) * 1998-08-27 2000-03-01 Xerox Corporation System for connecting a computer to a plurality of I/O means
WO2004027630A1 (en) * 2002-09-23 2004-04-01 Telefonaktiebolaget Lm Ericsson (Publ). Computer system and method for accessing external peripheral devices in a computer system
US9154285B2 (en) 2012-06-27 2015-10-06 Nxp B.V. Communications apparatus, system and method with error mitigation
US10284247B2 (en) 2013-06-10 2019-05-07 Nxp B.V. System and method for bit processing in a central network component

Also Published As

Publication number Publication date
CN1151050A (en) 1997-06-04
JPH08235105A (en) 1996-09-13
BR9505209A (en) 1997-09-16
KR960018940A (en) 1996-06-17
CA2160499A1 (en) 1996-05-31
EP0795159A1 (en) 1997-09-17
PL320022A1 (en) 1997-09-01

Similar Documents

Publication Publication Date Title
US5561820A (en) Bridge for interfacing buses in computer system with a direct memory access controller having dynamically configurable direct memory access channels
US5621902A (en) Computer system having a bridge between two buses with a direct memory access controller and an alternative memory access controller
US5542053A (en) Bridge interface between two buses of a computer system with a direct memory access controller programmed by a scatter/gather programmer
US5623697A (en) Bridge between two buses of a computer system with a direct memory access controller having a high address extension and a high count extension
US5642489A (en) Bridge between two buses of a computer system with a direct memory access controller with accessible registers to support power management
US4511964A (en) Dynamic physical memory mapping and management of independent programming environments
JP2633458B2 (en) DMA channel device and DMA channel conversion device
US5857083A (en) Bus interfacing device for interfacing a secondary peripheral bus with a system having a host CPU and a primary peripheral bus
EP0840234A2 (en) Programmable shared memory system and method
CA1305801C (en) Memory mapping unit
US4827406A (en) Memory allocation for multiple processors
US5060186A (en) High-capacity memory having extended addressing capacity in a multiprocessing system
JPS61211758A (en) Multiprocessor system
JPH076132A (en) Interface controller
CN100432970C (en) Streamlining ATA device initialization
EP0795159A1 (en) Bus-to-bus bridge
US5517624A (en) Multiplexed communication protocol between central and distributed peripherals in multiprocessor computer systems
US4964037A (en) Memory addressing arrangement
US5638527A (en) System and method for memory mapping
JPS63296158A (en) Information processor
EP1573557A2 (en) Operating memory components
US8219736B2 (en) Method and apparatus for a data bridge in a computer system
US5247631A (en) Programmable control of EMS page register addresses
EP0486258A1 (en) Unused address bit based wait state selection circuit
JP3579149B2 (en) Computer system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CZ HU PL RU

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: PV1997-1507

Country of ref document: CZ

WWE Wipo information: entry into national phase

Ref document number: 1995937979

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1995937979

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1995937979

Country of ref document: EP

WWR Wipo information: refused in national office

Ref document number: PV1997-1507

Country of ref document: CZ