WO1996017304A1 - Bus-to-bus bridge - Google Patents
Bus-to-bus bridge Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/404—Coupling between buses using bus bridges with address mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/0623—Address 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
Description
Claims
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)
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)
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)
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 |
-
1995
- 1995-10-13 CA CA002160499A patent/CA2160499A1/en not_active Abandoned
- 1995-11-17 CN CN95119635A patent/CN1151050A/en active Pending
- 1995-11-17 BR BR9505209A patent/BR9505209A/en not_active Application Discontinuation
- 1995-11-27 WO PCT/GB1995/002744 patent/WO1996017304A1/en not_active Application Discontinuation
- 1995-11-27 PL PL95320022A patent/PL320022A1/en unknown
- 1995-11-27 EP EP95937979A patent/EP0795159A1/en not_active Withdrawn
- 1995-11-28 JP JP7308852A patent/JPH08235105A/en active Pending
- 1995-11-29 KR KR1019950044780A patent/KR960018940A/en not_active Application Discontinuation
Patent Citations (3)
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)
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)
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 |