NO176038B - Multi-bus microcomputer system with bus arbitrage - Google Patents

Multi-bus microcomputer system with bus arbitrage Download PDF

Info

Publication number
NO176038B
NO176038B NO891585A NO891585A NO176038B NO 176038 B NO176038 B NO 176038B NO 891585 A NO891585 A NO 891585A NO 891585 A NO891585 A NO 891585A NO 176038 B NO176038 B NO 176038B
Authority
NO
Norway
Prior art keywords
bus
signal
arbitrary
preempt
access
Prior art date
Application number
NO891585A
Other languages
Norwegian (no)
Other versions
NO891585D0 (en
NO176038C (en
NO891585L (en
Inventor
Philip Erna Milling
Patrick Maurice Bland
Mark Edward Dean
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of NO891585D0 publication Critical patent/NO891585D0/en
Publication of NO891585L publication Critical patent/NO891585L/en
Publication of NO176038B publication Critical patent/NO176038B/en
Publication of NO176038C publication Critical patent/NO176038C/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/28Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 for polarising
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/54Accessories
    • G03B21/56Projection screens
    • G03B21/60Projection screens characterised by the nature of the surface
    • G03B21/604Polarised screens
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Optics & Photonics (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Description

Foreliggende oppfinnelse angår bussarbitræring ved en multi-bussmikrodatamaskin av den art som angitt i innledningen til krav 1. The present invention relates to bus arbitration by a multi-bus microcomputer of the type stated in the introduction to claim 1.

Bakgrunnsinformasjon om 80386-mikroprosessoren, dens ka-rakteristikk og dens bruk ved mikrodatamaskinsystemer innbefattende hurtiglagerdelsystemer beskrevet i Intel korpora-sjonens publikasjon "Introduction to the 80386", april 1986 og i 80386 Hardware-referansemanualen (1986). Karakteri-stikkene og operasjonsytelsen til 82385-hurtiglagerstyreren er beskrevet i Intel Corporation *s publikasjon "82385 High Performance 32-Bit Cache Controller" (1987). Background information on the 80386 microprocessor, its characteristics, and its use in microcomputer systems including flash memory subsystems is described in the Intel Corporation publication "Introduction to the 80386", April 1986 and in the 80386 Hardware Reference Manual (1986). The characteristics and operational performance of the 82385 cache controller are described in Intel Corporation *s publication "82385 High Performance 32-Bit Cache Controller" (1987).

New Electronics, vol. 20 nr. 7, mars 1987, side 30-33, beskriver bruk av en 80386 prosessor og en 82385 hurtiglagerstyrer i et dobbelt bussmikrodatamaskinsystem. New Electronics, vol. 20 No. 7, March 1987, pages 30-33, describes the use of an 80386 processor and an 82385 flash memory controller in a dual bus microcomputer system.

Videre beskriver DK-165077 en anordning i et datasystem som omfatter flere prosessorer/delsystemer for å overvåke og gi tilgang til en buss, hvor lavere prioriterte prosessorer gis tilgang til bussen når den høyest prioriterte prosessoren ikke benytter bussen. Denne anordningen er av samme art som angitt i innledningen til krav 1. Furthermore, DK-165077 describes a device in a computer system that comprises several processors/subsystems to monitor and provide access to a bus, where lower priority processors are given access to the bus when the highest priority processor is not using the bus. This device is of the same type as stated in the introduction to claim 1.

Mikrodatamaskinsystemer som innbefatter et hurtiglagerdelsystem er arkitekturmessig svært forskjellig fra mikrodatamaskinsystemer uten hurtiglagerdelsystemer. Mikrodatamaskinsystemer med et hurtiglagerdelsystem opererer som dobbeltbussanordninger. Ved mikrodatamaskinsystemer med et hurtiglagerdelsystem er der nærmere bestemt en første buss (henvist til som CPU-lokalbussen) som innbyrdes forbinder CPU-hurtiglager og hurtiglagerstyreren. Andre anordninger er koblet til en annen buss (systembuss). Slike andre anordninger innbefatter f.eks. hovedlager, I/O-anordninger og hjelpeapparater. I tillegg til ovenfornevnte anordninger kan systembussen også være koblet til hurtiglagerstyreren. Hurtiglagerdelsystemet letter systembussen fra en større del av lageraksessen som ellers vil bli utført av systembussen uten hurtiglagerdelsystemet. Dvs. i den grad at CPU kan få informasjon fra hurtiglageret for den bestemte syklusen, krever ikke CPU'en aksess til systembussen. Andre anordninger kan følgelig i løpet av samme tidsperiode bruke systembussen for andre operasjoner. Dette er ventet å resultere i en betydelig reduksjon i systembuss-syklusene som virkelig blir anvendt av CPU'en. Hurtiglagerstyreren er vanligvis koblet til både systembussen og CPU-lokalbussen og en av funksjonene til hurtiglagerstyreren er å overvåke arbitrær-kontroll (supervisor) som ved enbuss-systemer har blitt overvåket av CPU'en. Microcomputer systems that include a high-speed storage subsystem are architecturally very different from microcomputer systems without high-speed storage subsystems. Microcomputer systems with a high-speed storage subsystem operate as dual-bus devices. In microcomputer systems with a cache subsystem, there is specifically a first bus (referred to as the CPU local bus) that interconnects the CPU cache and the cache controller. Other devices are connected to another bus (system bus). Such other devices include e.g. main storage, I/O devices and auxiliary devices. In addition to the above-mentioned devices, the system bus can also be connected to the quick storage controller. The fast storage subsystem relieves the system bus of a larger part of the storage access that would otherwise be performed by the system bus without the fast storage subsystem. That is to the extent that the CPU can obtain information from the cache for that particular cycle, the CPU does not require access to the system bus. Other devices can consequently use the system bus for other operations during the same time period. This is expected to result in a significant reduction in the system bus cycles actually used by the CPU. The cache controller is usually connected to both the system bus and the CPU local bus and one of the functions of the cache controller is to monitor arbitrary control (supervisor) which in single-bus systems has been monitored by the CPU.

En tilgjengelig hurtiglagerstyrer, 82385-hurtiglagerstyreren, har evnen til å operere i en mastermodus eller en slavemodus. Når 82385-hurtiglagerstyreren er drevet i mastermodusen og overvåker arbitraerkontrollen er der ikke lenger noen mekanisme for CPU'en for å kjempe om systembusskildene. An available flash memory controller, the 82385 flash memory controller, has the ability to operate in a master mode or a slave mode. When the 82385 RAM controller is operated in the master mode and oversees the arbiter control, there is no longer any mechanism for the CPU to contend for the system bus resources.

Det er følgelig et formål med foreliggende oppfinnelse å tilveiebringe en mekanisme hvor en CPU ved et multi-bussmikrodatamaskinsystem med et hurtiglagerstyreelement, som overvåker arbitraerkontrollen (overvåkning), kan aksessere systembusskilden fordelt av arbitrærmekanismen. It is therefore an object of the present invention to provide a mechanism where a CPU of a multi-bus microcomputer system with a fast storage control element, which monitors the arbitration control (monitoring), can access the system bus source distributed by the arbitrary mechanism.

Den arbitrære overvåkeren reagerer på arbitræranmodnings-signaler som er koblet felles fra flere anordninger. Når arbitrærovervåkningen gjenkjenner at en eller flere anordninger har anmodet om den felles kilden, signaliserer den begynnelsen av en arbitrærperiode ved å endre tilstanden til en leder (ARB/GRANT) som er aksesserbar for alle anmodende anordninger. Når de anmodende anordninger ser tilstanden til den endrede lederen for således å signalisere begynnelsen av en arbitrærperiode, genererer anordningene signaler som korresponderer til deres prioritetsnivåer og driver flere arbitrærledere dedikert til denne funksjon med de signalene. Forbindelsen mellom antall anordninger og arbitrære ledere er anordnet slik at lederne antar den prioritetsverdien til den høyeste prioritetskretsen som driver arbitrærlederne. Hver anordning kan derfor gjenkjenne, ved sammenligning av prioritetsverdien på arbitrærlederne med sin egen prioritetsverdi, om der er noen høyere prioritetsanordning som anmoder om aksess til bussen. Ved avslutningen av en forutbestemt arbitrærperiode endrer ARB/GRANT-lederen tilstand. Dette begynner tillatelseperioden i løpet hvilken den anmodende anordningen, hvis prioritetsverdi var prioritetsverdien på arbitrærlederne, antar styring av felles kilde for å starte en buss-syklus. The arbitrary monitor responds to arbitrary request signals that are connected in common from multiple devices. When the arbitrary monitor recognizes that one or more devices have requested the shared resource, it signals the beginning of an arbitrary period by changing the state of a leader (ARB/GRANT) accessible to all requesting devices. When the requesting devices see the state of the changed leader so as to signal the beginning of an arbitrary period, the devices generate signals corresponding to their priority levels and drive several arbitrary leaders dedicated to this function with those signals. The connection between the number of devices and arbitrary conductors is arranged so that the conductors assume the priority value of the highest priority circuit that drives the arbitrary conductors. Each device can therefore recognize, by comparing the priority value of the arbitrary conductors with its own priority value, whether there is any higher priority device requesting access to the bus. At the end of a predetermined arbitrary period, the ARB/GRANT manager changes state. This begins the grant period during which the requesting device, whose priority value was the priority value of the arbitrary conductors, assumes control of the common source to start a bus cycle.

Det er fremdeles en annen leder dedikert til et PREEMPT-signal som kan bli generert for å tvinge en anordning som har mottatt aksess til systemkilden for å avslutte dens aksess. En anordning som har mottatt aksess til systemkilden og bruker den kilden ved gjenkjenning av en påvist PREEMPT er således krevd til å starte en ordreavslutning av sin bruk av systemkilden. Når anordningen som således er preempted (fortømt) avsluttes sin bruk av felleskilde begynner den arbitrære overvåkeren en ny arbitrærperiode som beskrevet ovenfor. There is still another conductor dedicated to a PREEMPT signal that can be generated to force a device that has received access to the system resource to terminate its access. A device that has received access to the system source and uses that source upon recognition of a proven PREEMPT is thus required to initiate an order termination of its use of the system source. When the device which is thus preempted ends its use of the common source, the arbitrary monitor begins a new arbitrary period as described above.

Ved mikrodatamaskinsystem med et hurtiglagerdelsystem er CPU-periodene for aksessering av hurtiglager (og som således ikke krever aksess til systembussen) perioder med minimal varighet eller null venteperiodetilstander. Når CPU-perioder strekker seg forbi dette minimumet, signaliserer de CPU om krav for systembussen. CPU-perioder, lengre enn minimumsvarigheten, signaliserer således til CPU at det er behov for systembussen, felles kilden. In the case of a microcomputer system with a flash memory subsystem, the CPU periods for accessing flash memory (and thus not requiring access to the system bus) are periods of minimal duration or zero wait period states. When CPU periods extend beyond this minimum, they signal the CPU about demands for the system bus. CPU periods, longer than the minimum duration, thus signal to the CPU that there is a need for the system bus, the common source.

I samsvar med oppfinnelsen er CPU'en forsynt med innretning for å generere et PREEMPT-signal som vil bevirke enhver anordning, som har fått aksess til bussen igjennom arbi-træringsmekanismen, å avslutte den aksessen som allerede er beskrevet. Som senere beskrevet er CPU'ens generering av PREEMPT styrt ved detektering av en CPU-periode med varighet lengder enn nødvendig for en hurtiglageradresse. In accordance with the invention, the CPU is provided with means for generating a PREEMPT signal which will cause any device which has gained access to the bus through the arbitration mechanism to terminate the access already described. As described later, the CPU's generation of PREEMPT is controlled by detecting a CPU period with a duration longer than necessary for a fast storage address.

CPU'ens bruk av systemkilden er imidlertid anordnet for å spare så mye tid som mulig. Nærmere bestemt når en anordning som har fått aksess til bussen via en arbitræring gjenkjenner en PREEMPT og initierer en ordremessig avslutning av sin bussaksess, signaliserer den avslutningen av bruken til bussen. Arbitræringsovervåkeren reagerer på denne indika-sjonen ved å generere en ny arbitræringsperiode. Dersom CPU'en var anordningen som hadde generert PREEMPT for å kreve frigjøring av bussen, ville den reagere forskjellig ved begynnelsen av arbitrærperioden enn dersom en annen anordning anmoder for bussaksess. Ved begynnelsen av arbitræringsperioden anbringer hver av de andre anordningene, som anmoder om aksess på bussen, sin prioritetsverdi på arbitrærlederne. CPU'en entrer ikke inn i denne prosessen i det hele tatt; men ved begynnelsen av arbitræringsperioden begynner CPU'en virkelig bruken av bussen. However, the CPU's use of the system resource is arranged to save as much time as possible. Specifically, when a device that has been granted access to the bus via an arbitration ring recognizes a PREEMPT and initiates an orderly termination of its bus access, it signals the termination of use of the bus. The arbitration monitor responds to this indication by generating a new arbitration period. If the CPU was the device that had generated PREEMPT to request release of the bus, it would react differently at the start of the arbitrary period than if another device requests bus access. At the beginning of the arbitration period, each of the other devices requesting access to the bus places its priority value on the arbitrators. The CPU does not enter into this process at all; but at the beginning of the arbitration period the CPU really begins using the bus.

Ved en utførelse av oppfinnelsen som har blitt konstruert er den minimale arbitræringsperioden 300 nanosekunder. En null-ventetilstandsbussperiode er imidlertid mindre enn 300 nanosekunder. Alltid når CPU'en preempt og derved får aksess til systembussen, kan den følgelig fullføre en periode fullstendig med arbitræringsprosessen. In one embodiment of the invention that has been constructed, the minimum arbitration period is 300 nanoseconds. However, a zero wait state bus period is less than 300 nanoseconds. Whenever the CPU preempts and thereby gains access to the system bus, it can therefore complete a period completely with the arbitration process.

Ifølge foreliggende oppfinnelse er det tilveiebrakt et multi-bussmikrodatamaskinsystem av den art som angitt i innledningen og hvis karakteristiske trekk fremgår av krav 1. Ytterligere trekk ved oppfinnelsen fremgår av de øvrige uselvstendige kravene. According to the present invention, a multi-bus microcomputer system of the kind stated in the introduction and whose characteristic features appear in claim 1 is provided. Further features of the invention appear in the other independent claims.

I det påfølgende skal oppfinnelsen bli beskrevet nærmere med henvisning til tegningene, hvor: In what follows, the invention will be described in more detail with reference to the drawings, where:

Fig. 1 viser en total oversikt over en typisk mikrodatamaskinsystem som kan anvende foreliggende oppfinnelse . Fig. 2 viser et detaljert blokkdiagram av hovedkomponentene til en typisk mikrodatamaskinsystem som anvender foreliggende oppfinnelse. Fig. 3 viser hvorledes arbitraerovervåkeren og CPU er forbundet i samsvar med et mikrodatamaskinsystem av en-busstypen. Fig. 4 viser hvorledes arbitrærovervåkeren, CPU og hurtiglagerstyreren er forbundet sammen ifølge foreliggende oppf innelse. Fig. 5 viser anordningen forbundet med CPU for å generere et Fig. 1 shows a total overview of a typical microcomputer system that can use the present invention. Fig. 2 shows a detailed block diagram of the main components of a typical microcomputer system employing the present invention. Fig. 3 shows how the arbitration monitor and CPU are connected in accordance with a single-bus type microcomputer system. Fig. 4 shows how the arbitrary monitor, CPU and fast storage controller are connected together according to the present invention. Fig. 5 shows the device connected to the CPU to generate a

PREEMPT-signal. PREEMPT signal.

Fig. 6 viser logikken forbundet med CPU for å generere et signal CPUREQ som er anvendt for å generere et PREEMPT-signal ved hjelp av CPU. Fig. 7 viser et taktdiagram over flere arbitrær- og til-latelsesperioder, av hvilke en er gitt aksess til systembussen med en generisk anordning og en annen ved hvilke det er tilveiebrakt aksess til systembussen til CPU via et PREEMPT-signal. Fig. 8 viser forholdet mellom sentralarbitrærovervåkeren 335 og arbitrærinnretningen 336 forbundet med andre anordninger. Fig. 9 og 10 viser samlet et blokkdiagram av en arbitrærovervåker 335. Fig. 11 viser et tidsdiagram for å forklare operasjonen vist Fig. 6 shows the logic associated with the CPU to generate a signal CPUREQ which is used to generate a PREEMPT signal by means of the CPU. Fig. 7 shows a timing diagram of several arbitrary and permission periods, one of which is given access to the system bus with a generic device and another during which access to the system bus is provided to the CPU via a PREEMPT signal. Fig. 8 shows the relationship between the central arbitration tree monitor 335 and the arbitration device 336 connected to other devices. Figs. 9 and 10 collectively show a block diagram of an arbitrary monitor 335. Fig. 11 shows a timing diagram to explain the operation shown

på fig. 8. on fig. 8.

Fig. 1 viser et typisk mikrodatamaskinsystem ved hvilke foreliggende oppfinnelse kan bli anvendt. Mikrodatamaskinsystemet 10 innbefatter et antall komponenter som er forbundet sammen. Nærmere bestemt en systemenhet 30 koblet med og driver en monitor 20 (slik som en konvensjonell video-fremvisningsinnretning). Systemet 30 er også koblet med inngangsanordninger slik som et tastatur 40 og men mus 50. En utgangsanordning, slik som printeren 60, kan også bli forbundet med systemenheten 30. Systemenheten 30 kan innbefatte en eller flere diskdrivere, slik som diskdriver 70. Som vil bli beskrevet nedenfor, reagerer systemenheten 30 på inngangsanordninger slik som tastatur 40 og musen 50, og inngangs/utgangsanordninger slik som diskdriver 70 for å tilveiebringe signaler til drivutgangsanordningene slik som monitoren 20 og skriveren 60. Naturligvis vil andre og konvensjonelle komponenter kunne bli forbundet med systemenheten 30 for samvirke med denne. I samsvar med foreliggende oppfinnelse innbefatter mikrodatamaskinsystemet 10 (som vil bli nærmere beskrevet nedenfor) et hurtiglagerdelsystem slik at der er en CPU-lokalbuss som forbinder en prosessor, en hurtiglagerstyrer og et hurtiglager som selv er koblet via en buffer med en systembuss. Systembussen er innbyrdes forbundet med og samvirker med I/O-anordningene slik som tastatur 40, musen 50, diskdriveren 70, monitoren 20 og skriveren 60. I samsvar med foreliggende oppfinnelse innbefatter også systemenheten 30 en tredje buss innbefattende en Micro Channel arkitektur (Micro Channel er et varemerke tilhørende IBM) for forbindelse mellom systembussen og andre inngangs/utgangsanordninger. Fig. 1 shows a typical microcomputer system in which the present invention can be used. The microcomputer system 10 includes a number of components which are connected together. Specifically, a system unit 30 coupled with and operating a monitor 20 (such as a conventional video display device). The system 30 is also connected with input devices such as a keyboard 40 and mouse 50. An output device, such as the printer 60, may also be connected to the system unit 30. The system unit 30 may include one or more disk drives, such as disk drive 70. Which will be described below, system unit 30 responds to input devices such as keyboard 40 and mouse 50, and input/output devices such as disk drive 70 to provide signals to drive output devices such as monitor 20 and printer 60. Naturally, other and conventional components may be connected to system unit 30 for cooperation with this. In accordance with the present invention, the microcomputer system 10 (which will be described in more detail below) includes a fast storage subsystem so that there is a CPU local bus that connects a processor, a fast storage controller and a fast storage which is itself connected via a buffer with a system bus. The system bus is interconnected with and interacts with the I/O devices such as the keyboard 40, the mouse 50, the disk drive 70, the monitor 20 and the printer 60. In accordance with the present invention, the system unit 30 also includes a third bus including a Micro Channel architecture (Micro Channel is a trademark of IBM) for connection between the system bus and other input/output devices.

Fig. 2 viser et høynivåblokkdiagram over forskjellige komponenter til et dobbelt-bussmikrodatasystem. En CPU-lokalbuss 230 (som innbefatter data, adresse og styrekomponenter) sørger for forbindelse av en mikroprosessor 225 Fig. 2 shows a high-level block diagram of various components of a dual-bus microcomputer system. A CPU local bus 230 (which includes data, address and control components) provides connection of a microprocessor 225

(slik som en 80386-prosessor), en hurtiglagerstyrer 260 (som kan innbefatte en 82385-hurtiglagerstyrer) og et direktelager 255. Også koblet til CPU-lokalbussen 230 er en buffer 240. Bufferen 240 er selv forbundet med systembussen 250, som også innbefatter adresse, data og styrekomponenter. Systembussen 250 strekker seg mellom bufferen 240 og en ytterligere buffer 253. (such as an 80386 processor), a cache controller 260 (which may include an 82385 cache controller) and a direct store 255. Also connected to the CPU local bus 230 is a buffer 240. The buffer 240 is itself connected to the system bus 250, which also includes address, data and control components. The system bus 250 extends between the buffer 240 and a further buffer 253.

Systembussen 250 er også forbundet med en busstyrer og et tidselement 265 og en DMA-styrer 325. En arbitrærstyrebuss 340 kobler buss-styreren og tidselementet 265 og arbitrærovervåkeren 335. Hovedlageret er også forbundet med systembussen 250. Hovedlageret innbefatter et lagerstyreelement 351, en adressemultiplekser 352 og en databuffer 353. Disse elementene er koblet sammen med lagerelementer 36 via 364, som vist i fig. 2. The system bus 250 is also connected to a bus controller and a timing element 265 and a DMA controller 325. An arbitrary control bus 340 connects the bus controller and the timing element 265 and the arbitrary monitor 335. The main storage is also connected to the system bus 250. The main storage includes a storage control element 351, an address multiplexer 352 and a data buffer 353. These elements are connected together with storage elements 36 via 364, as shown in fig. 2.

En ytterligere buffer 267 er koblet mellom systembussen 250 og en planbuss 270. Planbussen 270 innbefatter adressedata og styrekomponenter henholdsvis. Koblet langs planbussen 270 er forskjellige I/O-adapter og andre komponenter, slik som fremvisningsadapter 275 (som anvendes for å drive monitoren 20), en klokke 280, et ytterligere direktelager 285, en RS 232-adapter (anvendt for serielle I/O-operasjoner), en skriveradapter 295 (som kan bli anvendt for å drive skriveren 60), en takter 300, en diskettadapter 305 (som samvirker med diskdriveren 70), en avbrudds-styrer 310 og et leselager 315. Bufferen 253 tilveiebringer et grensesnitt mellom systembussen 250 og en valgbuss slik som Micro Channel-bussen 320 som er representert av Micro Channel-soklene. Anordninger slik som lager 331 kan være koblet til bussen 320. A further buffer 267 is connected between the system bus 250 and a plan bus 270. The plan bus 270 includes address data and control components respectively. Connected along the plane bus 270 are various I/O adapters and other components, such as a display adapter 275 (used to drive the monitor 20), a clock 280, an additional direct storage 285, an RS 232 adapter (used for serial I/O operations), a printer adapter 295 (which may be used to drive the printer 60), a clock 300, a floppy disk adapter 305 (interoperating with the disk drive 70), an interrupt controller 310, and a read buffer 315. The buffer 253 provides an interface between the system bus 250 and an option bus such as the Micro Channel bus 320 represented by the Micro Channel sockets. Devices such as bearing 331 may be connected to bus 320.

Fig. 8-11 er nyttig for å beskrive arbitrærmekanismen. Med henvisning til fig. 8 skal forholdet mellom arbitrærovervåkeren 335 og en lokal arbitrærenhet 336, som representerer alle lokale arbitrærenheter, bli beskrevet. Når en anordning ønsker aksess med systembussen 250 for å overføre data, vil generelt en lokal arbitrærenhet 336 motta et anmodningssignal fra en bestemt anordning, til hvilke arbitrærenheten er i forhold til. Anmodningssignalet blir omformet til et PREEMPT-signal som blir generert av lokalarbitræren og sendt til arbitrærovervåkeren 335 og hver av de lokale arbitrærene over PREEMPT-linjene til arbitrærbussen. Det skal bemerkes at ved den spesielle utførelsesformen av oppfinnelsen at PREEMPT-linjene er ført sammen via ELLER-porter og er således irrelevant med arbitrærovervåkeren 335 som spesiell anordning genererer anmodningen. Arbitrærovervåkeren 335 genererer ARB/GRANT-signalet ved et egnet tidspunkt da bestemt av HLDA og +REFRESH-lagersignalet fra en oppfriskningsstyrer (ikke vist) som skulle være velkjent for fagmannen på området, som en reaksjon på et /PREEMPT-signal fra en eller flere av lokalarbitrærene 336. HLDA er et signal til paret HLDA og HRQ (eller HOLD) som ved en-buss-systemet ble utvekslet mellom arbitrærovervåkeren 335 og CPU'en. Ved dobbelt-buss-systemer er disse signaler mellom arbitrærovervåkeren og hurtiglagerstyreren, vist ved henvisningstallet 260 på fig. 2. Fig. 8-11 is useful for describing the arbitrary mechanism. With reference to fig. 8, the relationship between the arbitrary monitor 335 and a local arbitrary unit 336, which represents all local arbitrary units, shall be described. When a device wants access to the system bus 250 to transfer data, generally a local arbitrary unit 336 will receive a request signal from a particular device, to which the arbitrary unit is in relation. The request signal is transformed into a PREEMPT signal which is generated by the local arbiter and sent to the arbitrary monitor 335 and each of the local arbiters over the PREEMPT lines of the arbitrary bus. It should be noted that in the particular embodiment of the invention that the PREEMPT lines are connected via OR gates and are thus irrelevant to the arbitrary monitor 335 as a special device generating the request. Arbitrary monitor 335 generates the ARB/GRANT signal at a suitable time then determined by HLDA and the +REFRESH storage signal from a refresh controller (not shown) which should be well known to those skilled in the art, in response to a /PREEMPT signal from one or more of the local arbitrators 336. HLDA is a signal to the pair HLDA and HRQ (or HOLD) which, in the one-bus system, was exchanged between the arbitrary monitor 335 and the CPU. In the case of dual-bus systems, these are signals between the arbitrary monitor and the fast storage controller, shown at reference numeral 260 in FIG. 2.

Når således en av anordningene ønsker å anmode om bruk av systembussen 250, genereres et anmodningssignal til den korresponderende lokale arbitrærinnretningen 336 som. så genererer et /PREEMPT-signal over /PREEMPT-linjen til arbitrærbussen. Ved et egnet tidspunkt når bussen blir tilgjengelig, da bestemt av HOLD og +REFRESH-signalet fra oppfriskningsstyreren, genererer arbitrærovervåkeren 335 +ARB-tilstanden til ARB/GRANT-signalet over arbitrærbussen til hver en av lokalarbitrærinnretningene 336. Som reaksjon på +ARB-tilstanden driver hver lokalarbitrærinnretning 336 som ønsker aksess med systembussen 250 sitt prioritetsnivå til respektive linjer ARB0-ARB3 på arbitrærbussen. Hver av lokalarbitrærinnretningene som ønsker aksess med systembussen 250 sammenligner sin designerte prioritetsnivå med prioritetsnivået til arbitrærbussen og går selv ut av anmodningen for bussen i tilfelle av at prioritetsnivået er lavere enn det som er blitt drevet på arbitrærbussen. Ved slutten av arbitrærperioden forblir således kun den av lokalarbitrærinnretningene som har høyest prioritetsnivå i løpet av arbitrærsyklusen fremdeles for anmodning om bussen og får således kontroll over bussen når GRANT-tilstanden er mottatt fra arbitrærovervåkeren 335 over ARB/GRANT-linjen. Thus, when one of the devices wishes to request use of the system bus 250, a request signal is generated to the corresponding local arbitrary device 336 which. then generates a /PREEMPT signal across the /PREEMPT line of the arbitrary bus. At an appropriate time when the bus becomes available, then determined by the HOLD and +REFRESH signal from the refresh controller, the arbitrary monitor 335 generates the +ARB state of the ARB/GRANT signal over the arbitrary bus to each of the local arbitrator devices 336. In response to the +ARB state drives each local arbitration device 336 that wants access with the system bus 250 its priority level to respective lines ARB0-ARB3 on the arbitrary bus. Each of the local arbiter devices seeking access to the system bus 250 compares its designated priority level with the priority level of the arbitrary bus and itself exits the request for the bus in the event that the priority level is lower than that which has been driven on the arbitrary bus. Thus, at the end of the arbitrary period, only the local arbiter device that has the highest priority level during the arbitrary cycle remains to request the bus and thus gains control of the bus when the GRANT state is received from the arbitrary monitor 335 over the ARB/GRANT line.

Fig. 9 og 10 viser nærmere en krets for beskrivelse av arbitrærovervåkeren 335. Arbitrærovervåkeren 335 innbefatter en modifisert Johnson-ringtidskjede innbefattende tellere 31 til 34 og ELLER-porten 35, ELLER-port 36, NOG-port 37, inverter 38 og ELLER-port 39. Antas det at bussen begynner ved en hviletilstand med CPU 225 "innehavende" bussen, men ikke brukende den, vil kretsoperasjonen bli beskrevet heretter i forbindelse med tidsdiagrammet på fig. 11. Den ovenfornevnte tilstanden er ARB/GRANT aktiv lav og arbitrær-prioritetsnivået ARBO til ARB3 ville alle ha en verdi lik en. Den modifiserte Johnson-ringtidskjeden blir så holdt tilbakestilt av +HLDA-signalet via ELLER-porten 36 og NOG-porten 37. Når en anordning må aksess med bussen blir /PREEMPT-signalet aktivert. Som vist på fig. 10 resulterer /PREEMPT-signalet som blir aktivt i at utgangen til porten blir positiv, som representerer en PR0CESS0R HOLD REQUEST (+PR0C HRQ)-signal. +ARB0 til +ARB3-signalet og et +GRANT-signal blir også ført til Eller-porten på fig. 10 for å sikre at SPU 225 ikke vil interferere med bussoverføringer ved andre anordninger. +PR0C HRQ-signalet resulterer i en deaktivering +HLDA som resulterer i tilbakestillingssignalet (utgang fra ELLER-porten 36) som blir fjernet fra tellere 31 til 34. Det skal bemerkes at innganger -SO, -Sl, -CMD og-BURST må være inaktiv for at +HLDA skal fjerne tilbakestil-lingssignalene fra ovenfornevnte tellere 31 til 34, som vist på fig. 11. -SO-signalet representerer WRITE-syklusen, og Figs. 9 and 10 show in more detail a circuit for describing the arbitrary monitor 335. The arbitrary monitor 335 includes a modified Johnson ring timing chain including counters 31 to 34 and the OR gate 35, OR gate 36, ENOUGH gate 37, inverter 38 and OR gate 39. Assuming that the bus begins at an idle state with the CPU 225 "owning" the bus but not using it, the circuit operation will be described hereinafter in connection with the timing diagram of FIG. 11. The above state is ARB/GRANT active low and the arbitrary-priority level ARBO to ARB3 would all have a value equal to one. The modified Johnson ring timing chain is then kept reset by the +HLDA signal via the OR gate 36 and the NOT gate 37. When a device needs to access the bus the /PREEMPT signal is activated. As shown in fig. 10, the /PREEMPT signal becoming active results in the output of the gate going positive, representing a PR0CESS0R HOLD REQUEST (+PR0C HRQ) signal. The +ARB0 to +ARB3 signal and a +GRANT signal are also fed to the Or gate of fig. 10 to ensure that the SPU 225 will not interfere with bus transmissions by other devices. The +PR0C HRQ signal results in a disable +HLDA which results in the reset signal (output of OR gate 36) being removed from counters 31 to 34. It should be noted that inputs -SO, -Sl, -CMD and -BURST must be inactive in order for +HLDA to remove the reset signals from the above-mentioned counters 31 to 34, as shown in fig. 11. The -SO signal represents the WRITE cycle, and

-Sl-signalet representerer READ-syklusen. -CDM-signalet er generert av den løpende bussmaster en bestemt tidsperiode etter -SO eller -Sl. I løpet av READ-syklusen instruerer-CMD slaveanordningen å anbringe READ-data på bussen og i The -Sl signal represents the READ cycle. The -CDM signal is generated by the running bus master a certain time period after -SO or -Sl. During the READ cycle, CMD instructs the slave device to place READ data on the bus and i

løpet av WRITE-sykluser blir -CMD aktivert for gyldiggjøring av WRITE-data. during WRITE cycles, -CMD is enabled to validate WRITE data.

Ved den neste (20 MHz) klokkepulsen, etter at +HLDA er deaktivert, blir tellerens 31 utgang satt til å bevirke utgangen til ELLER-porten 39 og bli høy (+ARB), som indikerer en arbitrærtidsperiode. ELLER-porten 39 sin utgang forblir høy inntil utgangen til teller 33 blir lav en tid etter at utgangen til teller 34 har blitt høy. Denne etablerer en 300 nanosekund tidspuls for ARB/GRANT-signalet. Utgangen for teller 34 forblir satt inntil anordningen begynner en buss-syklus ved enten aktivering av -SO eller -Sl. Utgangen blir så tilbakestilt, og tellerne 31 til 34 er klar til å begynne tidtagingen ved slutten av den løpende buss-syklusen. Dersom ingen anordning anmoder om buss-service, returnerer bussen til hviletilstanden og styringen blir returnert til prosessoren. HLDA blir reaktivert og bussen er nå tilgjengelig for prosessoroperasjoner. On the next (20 MHz) clock pulse, after +HLDA is disabled, the counter 31 output is set to cause the output of OR gate 39 to go high (+ARB), indicating an arbitrary time period. The OR gate 39's output remains high until the output of counter 33 goes low some time after the output of counter 34 has gone high. This establishes a 300 nanosecond time pulse for the ARB/GRANT signal. The output for counter 34 remains set until the device begins a bus cycle by either activating -SO or -S1. The output is then reset and counters 31 to 34 are ready to begin timing at the end of the current bus cycle. If no device requests bus service, the bus returns to the idle state and control is returned to the processor. HLDA is reactivated and the bus is now available for processor operations.

Fig. 3 viser samvirke mellom en 80386 CPU, slik som mikroprosessoren 225, og arbitrærovervåkeren 335 ved et en-bussmikrodatamaskinsystem. Utgangssignalet ARB/GRANT/ fra overvåkeren er signalet som definerer om arbitrærmekanismen er i arbitrærtilstanden (i løpet av hvilke anordningene anmoder om aksess til systemkilden å anbringe deres prioritetsnivå på arbitrærlederne) eller i en tillatelsesfase (hvor anordningen som får aksess til felleskilden kan anvende den kilden for utelukkelse av andre anordninger som har anmodet om aksess). Et annet inngangssignal til arbitrærovervåkeren 335 er PREEMPT-signalet som allerede har blitt beskrevet. Inngangen til arbitrærovervåkeren 335 representert av ARB0-3 er arbitrærlederen som i løpet av arbitrærfasen drives av anordninger som anmoder om aksess for deres egne prioritetsnivåer. Inngangs/utgangsforbindelsene på venstre side av arbitrærovervåkeren 335 viser sin forbindelse med 80386-prosessoren ved et typisk en-bussmikrodatamaskinsystem. Signalene HLDA og HRQ (noen ganger henvist til som HOLD) er Fig. 3 shows the interaction between an 80386 CPU, such as the microprocessor 225, and the arbitrary monitor 335 in a one-bus microcomputer system. The output signal ARB/GRANT/ from the supervisor is the signal that defines whether the arbitrary mechanism is in the arbitrary state (during which the devices request access to the system resource to place their priority level on the arbitrary leaders) or in a permission phase (where the device that gets access to the shared resource can use that resource for excluding other devices that have requested access). Another input signal to the arbitrary monitor 335 is the PREEMPT signal which has already been described. The input to the arbitrary supervisor 335 represented by ARB0-3 is the arbitrary manager which during the arbitrary phase is operated by devices requesting access for their own priority levels. The input/output connections on the left side of the arbitrary monitor 335 show their connection with the 80386 processor of a typical one-bus microcomputer system. The signals HLDA and HRQ (sometimes referred to as HOLD) are

"håndhilsemekanismer" hvorved arbitrærovervåkeren 335 kan anmode om aksess til systemkilden for å utelukke 80386-prosessoren (HRQ). Når 80386-prosessoren kvitterer (HLDA) så kan arbitrærovervåkeren 335 gi aksess til kilden. Ved en-bussmikrodatamaskinsystemer kan ikke CPU'en fortømme (PREEMPT) for sin egen del. Dette medfører uønsket potensial for CPTJ'en som skal se etter felleskilden av en anordning som er tillatt å løsrive seg. Fig. 4 viser et blokkdiagram over valgte innbyrdes for-bindelser ved et dobbelt-bussmikrodatamaskinsystem som anvender 80386 CPU og en 82385 hurtiglagerstyrer. Inngangs/utgangsforbindelsene på den høyre siden av arbitrærovervåkeren 335 på fig. 4 er identisk med de på fig. 3 og vil ikke bli beskrevet igjen. Det viktige punktet vist på fig. 4 er at overvåkeren til arbitrærovervåkeren 335 nå er utført av 82385-hurtiglagerstyreren siden den er det element til hvilke HRQ- og HLDA-signal ene er tilført. Ved fravær av andre anordninger kunne 80386 CPU bli forhindret i bruk av felleskilden. Foreliggende oppfinnelse tilveiebringer den andre mekanismen og gjør slik at det i en stor grad uten å forstyrre andre anordningers aksess til felleskilden. Fig. 5 og 6 viser sammen hvorledes signalet CPREEMPT, og dets forutgående CPUREQ, genereres. "handshake mechanisms" by which the arbitrary monitor 335 can request access to the system resource to exclude the 80386 processor (HRQ). When the 80386 processor acknowledges (HLDA) then the arbitrary monitor 335 can grant access to the source. In single-bus microcomputer systems, the CPU cannot preempt (PREEMPT) for its own part. This entails unwanted potential for the CPTJ to look for the common source of a device that is allowed to detach. Fig. 4 shows a block diagram of selected interconnections of a dual-bus microcomputer system using the 80386 CPU and an 82385 flash memory controller. The input/output connections on the right side of the arbitrary monitor 335 in FIG. 4 is identical to those in fig. 3 and will not be described again. The important point shown in fig. 4 is that the monitor of the arbitrary monitor 335 is now performed by the 82385 flash controller since it is the element to which the HRQ and HLDA signals are applied. In the absence of other devices, the 80386 CPU could be prevented from using the common source. The present invention provides the second mechanism and does so to a large extent without interfering with other devices' access to the common source. Fig. 5 and 6 together show how the signal CPREEMPT, and its predecessor CPUREQ, are generated.

Med henvisning til fig. 6 kan logikken der bli betraktet som del av hurtiglagerstyreren 260. Logikken er anordnet for å generere signalet CPUREQ som kan bli betraktet som et styresignal ført til styredelen til bufferen 240. Styre-signalet CPUREQ er utviklet fra inngangssignalene vist til venstre innbefattende /BUSYCYC 386, READYI, CLK, RESET og /(/M/10 & A31). Det siste signalet er den dekoderte adressen til koprosessoren. Signalene BUSYCYC 386, READYI og /(/M/10 & A31) er aktive lave signaler slik at f.eks. når flip-flop'en 601 blir satt (ved hjelp av et høyt inngangssignal ved sin D-inngang), blir dens utgang høy og CPUREQ-signalet blir lavt (aktiv). I tillegg til flip-flop'en 601 innbefatter logikken på fig. 6 en ELLER-port 601, tre OG-porter 603-605 og invertere 606-608. With reference to fig. 6, the logic there can be considered as part of the flash storage controller 260. The logic is arranged to generate the signal CPUREQ which can be considered as a control signal passed to the control part of the buffer 240. The control signal CPUREQ is developed from the input signals shown to the left including /BUSYCYC 386, READY, CLK, RESET and /(/M/10 & A31). The last signal is the decoded address of the coprocessor. The signals BUSYCYC 386, READYI and /(/M/10 & A31) are active low signals so that e.g. when flip-flop 601 is set (by a high input signal at its D input), its output goes high and the CPUREQ signal goes low (active). In addition to the flip-flop 601, the logic of FIG. 6 an OR gate 601, three AND gates 603-605 and inverters 606-608.

Inngangene til 0G-porten 603 detekterer en 80386-prosessor-periode som strekker seg forbi null-ventetilstanden og som ikke er ved samme tidspunkt en periode bestemt for koprosessoren. Så snart tilstanden er detektert blir flip-flop'en 601 satt, og kan kun bli tilbakestilt ved et klokke-tidspunkt CLK2 når tilstanden er avsluttet. Portene 604 og 605 er anordnet for å tilbakestille flip-flop'en 601 når CLK blir høy og READYI (aktiv) lav. Denne tilstand forekommer når en CPU-bussperiode er fullført. The inputs to the 0G gate 603 detect an 80386 processor period that extends past the zero wait state and that is not at the same time a period designated for the coprocessor. As soon as the condition is detected, the flip-flop 601 is set, and can only be reset at a clock time CLK2 when the condition has ended. Gates 604 and 605 are arranged to reset flip-flop 601 when CLK goes high and READY (active) goes low. This condition occurs when a CPU bus period has completed.

En CPU-lokalbussperiode som strekker seg forbi null-ventetilstanden (og som er også ikke en koprosessordedikert periode) er en periode som krever aksess til systembussen. CPUREQ blir følgelig under disse omstendighetene aktiv, dvs. blir lav. Effekten av dette signalet er vist på fig. 5. A CPU local bus period that extends past the zero wait state (and which is also not a coprocessor dedicated period) is a period that requires access to the system bus. Accordingly, under these circumstances, CPUREQ becomes active, i.e. goes low. The effect of this signal is shown in fig. 5.

Fig. 5 viser logikk som er forbundet med systembussen 250. Som vist på fig. 5 har styreelementet til bufferen 240 et utgangssignal CPUREQ (som er drevet av samme signal vist på fig. 6). CPUREQ-signalet er et inngangs signal til en port 501 hvis utgangssignal /CPREEMPT er i virkeligheten et PREEMPT-signal generert av 80386-prosessoren. Som vist på fig. 5 blir signalet /CPREEMPT koblet til PREEMPT-lederen som er en av inngangene til arbitrærovervåkeren 335 (jf. fig. 3 eller 4). Signalet /CPREEMPT genereres av logikken vist på fig. 5 innbefattende portene 501-503. Et andre inngangssignal til porten 501 er utgangssignalet til porten 503, en av hvis inngahgssignaler er ARB/GRANT-signalet (identisk med utgangssignalet til arbitrærovervåkeren 335). Det andre inngangssignalet er ENCPUPREEMPT. Sistnevnte er et utgangssignal til 80386-prosessoren. Når inaktiv vil dette signalet sperre /CPREEMPT-signalet fra å bli aktivt. Når signalet ENCPUPREEMPT er inaktiv kan ikke 80386-prosessoren utføre Fig. 5 shows logic connected to the system bus 250. As shown in Fig. 5, the control element of the buffer 240 has an output signal CPUREQ (which is driven by the same signal shown in Fig. 6). The CPUREQ signal is an input signal to a gate 501 whose output signal /CPREEMPT is actually a PREEMPT signal generated by the 80386 processor. As shown in fig. 5, the signal /CPREEMPT is connected to the PREEMPT conductor which is one of the inputs to the arbitrary monitor 335 (cf. Fig. 3 or 4). The signal /CPREEMPT is generated by the logic shown in fig. 5 including ports 501-503. A second input signal to gate 501 is the output signal to gate 503, one of whose inputs is the ARB/GRANT signal (identical to the output signal of arbitrary monitor 335). The second input signal is ENCPUPREEMPT. The latter is an output signal to the 80386 processor. When inactive, this signal will inhibit the /CPREEMPT signal from becoming active. When the ENCPUPREEMPT signal is inactive the 80386 processor cannot execute

PREEMPT. ENCPUPREEMPT-signalet kan "bli styrt ved å bruke en innstillbar bryter eller en software-bryter avhengig av kravet til andre systemanordninger og/eller software. Under normale forhold vil ENCPUPREEMPT bli aktiv, som således klargjør 80386-prosessoren for PREEMPT. Når ARB/GRANT/ indikerer arbitrærprosessen er i en tillatelsefase (og ENCPUPREEMPT er aktiv) så vil utgangen til porten 503 bli aktiv. En aktiv utgang til porten 503 lagt sammen med en aktiv CPUREQ vil muliggjøre frembringelse av en aktiv /CPREEMPT. Porten 503 vil forhindre generering av et aktivt /CPREEMPT-signal i løpet av arbitrærfasen, og tillater kun et aktivt /CPREEMPT-signal i løpet av tillatelsesfasen til arbitrærprosessen. Porten 502 blir anvendt for å overvåke tilstanden til arbitrærlederne og vil forhindre generering av et aktivt /CPREEMPT-signal dersom alle lederne er (aktiv) høye, som indikerer at andre anordninger ikke er i arbitrærfasen for bussen, dvs. CPU'en har felleskilden. PREEMPT. The ENCPUPREEMPT signal may "be controlled using a tunable switch or a software switch depending on the requirement of other system devices and/or software. Under normal conditions, ENCPUPREEMPT will become active, thus preparing the 80386 processor for PREEMPT. When ARB/GRANT / indicates the arbitrary process is in an enable phase (and ENCPUPREEMPT is active) then the output to gate 503 will become active. An active output to gate 503 added together with an active CPUREQ will enable generation of an active /CPREEMPT. Gate 503 will prevent the generation of a active /CPREEMPT signal during the arbitrary phase, and only allows an active /CPREEMPT signal during the permit phase of the arbitrary process.Port 502 is used to monitor the state of the arbitrary conductors and will prevent the generation of an active /CPREEMPT signal if all the conductors are (actively) high, indicating that other devices are not in the arbitrary phase of the bus, i.e. the CPU has the common source.

Ved hjelp av logikken vist på fig. 5 og 6, for perioden på CPU-lokalbussen som ikke er dedikert til koprosessoren og som strekker seg forbi en minimumsvarighet (null-ventetilstanden), kan følge CPU'en utføre PREEMPT, og vil utføre PREEMPT dersom arbitrærmekanismen er i sin tillatelsesfase. Effekten av denne PREEMPT-utførelsen vil nå bli beskrevet i forbindelse med fig. 7A-7E. Using the logic shown in fig. 5 and 6, for the period on the CPU local bus that is not dedicated to the coprocessor and that extends past a minimum duration (the zero wait state), the following CPU may perform PREEMPT, and will perform PREEMPT if the arbitrary mechanism is in its permit phase. The effect of this PREEMPT execution will now be described in connection with fig. 7A-7E.

Fig. 7A-7E viser: Fig. 7A-7E show:

1) bruk av systembussen ved hjelp av en løsrivningsanordning (a-d) (burst-anordning), 2) PREEMPTING av den anordningen ved hjelp av en typisk anordning ved bruk av PREEMPT-signalet (b-h), 3) utspørring av bussen ved hjelp av CPU via bruk av /CPREEMPT-signalet (k-o), og 4) samtidig med bruk av bussen ved hjelp av CPU, arbitraering for bruk av bussen av en annen anordning (m). 1) use of the system bus using a burst device (a-d), 2) PREEMPTING that device using a typical device using the PREEMPT signal (b-h), 3) polling the bus using the CPU via use of the /CPREEMPT signal (k-o), and 4) concurrently with the use of the bus by the CPU, arbitrating for use of the bus by another device (m).

For illustrasjonens skyld antas det at en burst-modus-anordning har fått styring av bussen som vist (a) på fig. 7D. Når en annen anordning langs systembussen bekrefter PREEMPT (b), fullfører burst-anordningen som er i styring sin overføring som vist (c) på fig. 7C. Ved fullføring av den løpende overføringen fjerner burst-anordningen som gir avkall på styringen av systembussen sitt burst-signal fra burst-linjen som vist ved (d) på fig. 7D. Denne burst-anordningen vil ikke delta i den neste arbitrærperioden. Arbitrærovervåkeren 335 anbringer så ARB/GRANT/ til ARB-tilstanden (e) på fig. 7A. Den samme overgangen representerer begynnelsen av en annen arbitrærperiode og arbitræringen for systembussen begynner ved (f) på fig. 7B. Etter at ARB/GRANT-signalet blir lavt, blir styring av systembussen gitt til den nye anordningen som vist ved (g) på fig. 7A. Den nye anordningen som har fått styring av systembussen fjerner så PREEMPT-signalet som reaksjon på GRANT-signalet som vist ved (h) på fig. 7E. For the sake of illustration, it is assumed that a burst mode device has been given control of the bus as shown (a) in fig. 7D. When another device along the system bus asserts PREEMPT (b), the burst device in control completes its transmission as shown (c) in FIG. 7C. Upon completion of the ongoing transfer, the burst device relinquishing control of the system bus removes its burst signal from the burst line as shown at (d) in FIG. 7D. This burst device will not participate in the next arbitrary period. The arbitrary monitor 335 then applies ARB/GRANT/ to the ARB state (e) of FIG. 7A. The same transition represents the beginning of another arbitrary period and the system bus arbitration begins at (f) in FIG. 7B. After the ARB/GRANT signal goes low, control of the system bus is given to the new device as shown at (g) in FIG. 7A. The new device which has been controlled by the system bus then removes the PREEMPT signal in response to the GRANT signal as shown at (h) in fig. 7E.

En gang senere, ved eksempelet på fig. 7A-7E og basert på tilstander reflektert på CPU-lokalbussen 230, vil CPU. bekrefte /CPREEMPT-signalet som er reflektert i PREEMPT (k) på fig. 7E. Som allerede nevnt vil dette resultere i en ny arbitrærperiode som begynner som vist (1) på fig. 7A. Arbitrærperioden, som vist på fig. 7A, strekker seg fra (1-o). I løpet av arbitrærperioden anvender CPU systembussen og ved begynnelsen av den perioden debekrefter CPU sitt PREEMPT-signal (n) på fig. 7E. I løpet av CPU'ens bruk av systembussen kan andre anordninger anmode om aksess til systembussen arbitrær for den kildebegynnelsen ved (m) på fig. 7B. Ved slutten av CPU-perioden, når den har fullført bruk av systembussen (o), har en ny arbitrærperiode blitt fullført slik at umiddelbart deretter kan en ytterligere anordning (om noen anmoder om aksess til systembussen) anvende den kilden i den varigheten som begynner ved (o) på fig. 7A. Sometime later, in the example of fig. 7A-7E and based on states reflected on the CPU local bus 230, the CPU will. confirm the /CPREEMPT signal reflected in PREEMPT (k) in fig. 7E. As already mentioned, this will result in a new arbitrary period that begins as shown (1) in fig. 7A. The arbitrary period, as shown in fig. 7A, extends from (1-o). During the arbitrary period the CPU uses the system bus and at the beginning of that period the CPU deasserts its PREEMPT signal (n) in fig. 7E. During the CPU's use of the system bus, other devices may request access to the system bus arbitrarily for that source beginning at (m) in FIG. 7B. At the end of the CPU period, when it has finished using the system bus (o), a new arbitrary period has been completed so that immediately thereafter a further device (if any requests access to the system bus) can use that resource for the duration beginning at (o) in fig. 7A.

/CPREEMPT-signalet er kun aktiv når en CPU-bussperiode strekker seg forbi en forutbestemt varighet (forbi null-ventetilstanden, f.eks.). I løpet av arbitrærfasen (ARB-/GRANT/høy), er CPU-hurtiglagerstyreenheten 260 frigjort fra holdestanden av overvåkeren 335 som frafaller HRQ og er tillatt å kjøre en eller flere perioder. The /CPREEMPT signal is active only when a CPU bus period extends past a predetermined duration (past the zero wait state, for example). During the arbitrary phase (ARB/GRANT/high), the CPU cache controller 260 is released from the hold state by the watchdog 335 which waives the HRQ and is allowed to run for one or more periods.

Fullføringen av en CPU-periode, tillatt å bruke systembussen ved bruk av PREEMPT-mekanismen, er detektert av READYI aktiv med CLK høy. Ved hjelp av logikken på fig. 6, og under disse tilstander, blir flip-flop'en 601 tilbakestilt og CPUREQ blir inaktiv. The completion of a CPU period, allowed to use the system bus using the PREEMPT mechanism, is detected by READY active with CLK high. Using the logic of fig. 6, and under these conditions, the flip-flop 601 is reset and CPUREQ becomes inactive.

De logiske ligningene som har blitt henvist til ovenfor er vist nedenfor. I denne sammenheng er følgende symboler antydet med betydningen: The logic equations that have been referred to above are shown below. In this context, the following symbols are indicated with their meaning:

Ved de foregående logiske ligningene er følgende signaler beskrevet eller henvist til i de siterte Intelpublikasjonene: In the preceding logic equations, the following signals are described or referred to in the cited Intel publications:

ADS ADS

BADS BATHROOMS

BRDYEN THE BRIDGE

BREADY BREADY

(BW/R) henvist til som BW/R idet parentesene er anvendt for (BW/R) referred to as BW/R where the brackets are used for

å indikere at hele uttrykket er et signal. to indicate that the entire expression is a signal.

CLK CLK

READY0 READY0

RESET RESET

WBS WBS

(W/R) henvist vanligvis til som W/R idet parentesene er anvendt for å indikere at hele uttrykket er et signal. (W/R) is usually referred to as W/R as the parentheses are used to indicate that the entire expression is a signal.

ADS, når aktiv indikerer en gyldig adresse på CPU-lokalbussen 230. BADS, når aktiv indikerer en gyldig adresse på systembussen 250. BRDYEN er et utgangssignal til 82385-hurtiglagerstyreren som er forutgående for READY-signalene. BREADY er et klarsignal fra systembussen 250 til CPU-lokalbussen 230. BW/R definerer en systembuss 250 skrive eller lese. CLK er et prosessorklokkesignal som er i fase med prosessoren 225. READY0 er et annet utgangssignal til 82385-hurtiglagerstyreren i linjen til klarsignalene. RESET er tilbake-stilling. WBS indikerer tilstanden til skrivebufferen. ADS, when active indicates a valid address on CPU local bus 230. BADS, when active indicates a valid address on system bus 250. BRDYEN is an output signal to the 82385 RAM controller that precedes the READY signals. BREADY is a ready signal from the system bus 250 to the CPU local bus 230. BW/R defines a system bus 250 write or read. CLK is a processor clock signal that is in phase with the processor 225. READY0 is another output signal to the 82385 latch controller in the ready signal line. RESET is back position. The WBS indicates the state of the write buffer.

(W/R) er det konvensjonelle skrive eller lesesignalet for CPU-lokalbussen 230. (W/R) is the conventional write or read signal for the CPU local bus 230.

Ligningene (l)-(ll) definerer: The equations (l)-(ll) define:

BREADY385 BREADY385

BT2 BT2

BUFWREND BUFWREND

BUSCYC385 BUSCYC385

BUSCYC386 BUSCYC386

CPUNA CPUNA

LEAB LEAB

MISSI MISS

PIPECYC385 PIPECYC385

PIPECYC386 PIPECYC386

CPUREADY CPUREADY

uttrykt i definerte signaler, idet signalene beskriver eller henviser til de siterte Intelpublikasjonene og NCA, NACACHE, READY0387 og RDY387PAL. expressed in defined signals, the signals describing or referring to the cited Intel publications and NCA, NACACHE, READY0387 and RDY387PAL.

BREADY385 er et signal som BREADY som er en utførelsesform modifisert for å tilpasse et 64K-hurtiglager. I tilfelle av et 32K-hurtiglager (som anbefalt av fremstilleren) kan BREADY bli anvendt i stedet for BREADY385. BREADY385 is a signal like BREADY which is an embodiment modified to accommodate a 64K flash store. In the case of a 32K flash drive (as recommended by the manufacturer), BREADY can be used instead of BREADY385.

BT2 viser tilstanden til systembussen 250. Tilstanden BT2 er en tilstand definert i de siterte Intelpublikasjonene. BT2 shows the state of the system bus 250. The state BT2 is a state defined in the cited Intel publications.

BUFWREND utgjør slutten av en buffret skriveperiode. BUFWREND constitutes the end of a buffered write period.

BUSCYC385 viser også tilstanden til systembussen 250. Den er høy for busstilstandene BTI, BT1, BT1P og lav for busstilstandene BT2, BT2P og BT2I (igjen er disse busstilstandene henvist til i de siterte Intelpublikasjonene). BUSCYC385 also shows the state of system bus 250. It is high for bus states BTI, BT1, BT1P and low for bus states BT2, BT2P and BT2I (again these bus states are referenced in the cited Intel publications).

BUSCYC386 er høy i løpet av CPU-lokalbussens 230 tilstander TI, Tl, T1P, T2I og lav i løpet av T2. Den er også lav for T2P med mindre T2I forekommer først. BUSCYC386 is high during CPU local bus 230 states TI, Tl, T1P, T2I and low during T2. It is also low for T2P unless T2I occurs first.

CPUNA er et signal til 80386-prosessoren som tillater parallellført operasjon. CPUNA is a signal to the 80386 processor that allows parallel operation.

LEAB er holdekretsklargjøring (inn i buffer 240) for posterte skrivinger. LEAB is holding circuit preparation (into buffer 240) for posted writes.

MISSI er aktiv som definerer den første perioden i en dobbeltperiode for å håndtere 64 bitlesninger til hurtiglagerbare anordninger. MISSI is active which defines the first period of a double period to handle 64 bit reads to fast storage devices.

PIPECYC385 er aktiv i løpet av BT1P (som er en busstilstand henvist til i de siterte Intelpublikasjonene). PIPECYC385 is active during BT1P (which is a bus state referred to in the cited Intel publications).

PIPECYC386 er lav i løpet av tilstanden T1P til CPU-lokalbussen 230. PIPECYC386 is low during the T1P state of the CPU local bus 230.

CPUREADY er klarinngangen til 80386-prosessoren. CPUREADY is the ready input to the 80386 processor.

NCA er et signal dannet ved dekodering av adressekomponenten på CPU-lokalbussen 230 for å reflektere, når aktiv, en ikke-lagerbar aksess. Hurtiglagerbarheten er bestemt av en merkekomponent (A31 til A17) og programmerbar informasjon som definerer hva hvilke merker (om noen) henviser til hurtiglagerbare som motsatt til ikke-hurtiglagerbare adresser. The NCA is a signal formed by decoding the address component on the CPU local bus 230 to reflect, when active, a non-storable access. The cacheability is determined by a tag component (A31 through A17) and programmable information that defines which tags (if any) refer to cacheable as opposed to non-cacheable addresses.

NACACHE er et signal lignende BNA-signalet. BNA er et systemgenerert signal som anmoder om neste adresse fra CPU-lokalbussen 230, og er henvist til i de siterte Intel-publikasj onene . NACACHE atskiller seg fra BNA kun med hensyn . til det faktum at BNA er dannet for 32K-hurtiglager mens NACACHE er dannet for et 64K-hurtiglager. Så lengde som hurtiglageret er 32K, som nevnt i Intelpublikasjonene, kunne NACACHE-signalet henvist til her bli erstatte av BNA-signalet. NACACHE is a signal similar to the BNA signal. BNA is a system-generated signal that requests the next address from the CPU local bus 230 and is referenced in the cited Intel publications. NACACHE differs from BNA only with regard to . to the fact that BNA is formed for 32K cache while NACACHE is formed for a 64K cache. As long as the cache is 32K, as mentioned in the Intel publications, the NACACHE signal referred to here could be replaced by the BNA signal.

READY0387 er klarutgangssignalet til 80387-matte-koprosessoren. READY0387 is the ready output signal of the 80387 math coprocessor.

RDY387PAL er et utgang til ekstern logikk anvendt i tilfelle av at en 80387-matte-koprosessor ikke er installert for å forhindre at fraværet av matte-koprosessoren virker for-styrrende inn på systemoperasjonene. The RDY387PAL is an output to external logic used in the event that an 80387 math coprocessor is not installed to prevent the absence of the math coprocessor from interfering with system operations.

Det skal bemerkes at ved bruk av foreliggende oppfinnelse ved et dobbelt-bussmikrodatamaskinsystem som anvender en 80386-prosessor og en 82385-hurtiglagerstyrer, er prosessoren betinget tillatt å PREEMPTE for bruk av systembussen under bestemte forhold. Nærmere bestemt for lokalbussperioder som strekker seg over en forutbestemt varighet kan prosessoren hevde /CPREEMPT betinget at der er andre brukere som anmoder om aksess til kilden og PREEMPT-valget har blitt klargjort (ENC-PUPREEMPT). Når PREEMPT'en blir effektiv (som signali-sert til prosessoren av arbitrærovervåkeren) forekommer imidlertid de to tilfellene samtidig. Det første tilfellet er at prosessoren aksesserer systembussen. Denne aksessen vil ikke forstyrre andre potensielle bussbrukere siden andre anmodende brukere er i arbitrærfasen i løpet av prosessorens aksessperiode. Samtidig med aksessen til systembussen av prosessoren kan således andre brukere arbitrære for aksess til tilgangsfasen som følger prosessorens bruk av bussen. Ved bruk av oppfinnelsen er prosessoren således klargjort til bruk av systembussen selv om andre anordninger anmoder samtidig om aksess for bussen. Ved overlapping av prosessorens bruk av bussen med arbi trærf asen (entret inn av andre anordninger), blir bussanvendelsen og effektiviteten øket. It should be noted that when using the present invention with a dual bus microcomputer system using an 80386 processor and an 82385 RAM controller, the processor is conditionally allowed to PREEMPTE for use of the system bus under certain conditions. Specifically, for local bus periods that extend over a predetermined duration, the processor may assert /CPREEMPT provided that there are other users requesting access to the source and the PREEMPT option has been made ready (ENC-PUPREEMPT). However, when the PREEMPT becomes effective (as signaled to the processor by the arbitrary monitor) the two cases occur simultaneously. The first case is that the processor accesses the system bus. This access will not interfere with other potential bus users since other requesting users are in the arbitrary phase during the processor's access period. Simultaneously with the access to the system bus by the processor, other users can thus arbitrarily access the access phase that follows the processor's use of the bus. When using the invention, the processor is thus prepared for use of the system bus even if other devices request access to the bus at the same time. By overlapping the processor's use of the bus with the arbi tree phase (entered by other devices), bus usage and efficiency are increased.

Claims (6)

1. Multi-bussmikrodatamaskinsystem innbefattende en prosessor (225) og et hurtiglagerdelsystem (260) forbundet sammen ved hjelp av en CPU-lokalbuss (230), et direktelager (255), en systembuss (250) og flere andre funksjonsenheter (275, 280, 285, 290, 295, 300, 305, 310, 315) forbundet sammen ved hjelp av systembussen (250), og innretninger (240) som kobler CPU-lokalbussen (230) og systembussen (250), karakterisert ved at systembussen (250) innbefatter flere ledere dedikert til arbitraeraksess til systembussen (250 ) ved hjelp av minst noen av de andre funksjonsenhetene, idet en av lederne fører et PREEMPT-signal til enhver funksjonsenhet med aksess til systembussen for å begrense varigheten av aksessen som reaksjon på mottakelse av PREEMPT-signalet, og at en PREEMPT-signalkilde (501, 502, 503) med innganger som reagerer på en CPU-lokalbussyklus som strekker seg forbi en minimumsvarighet for å bekrefte et PREEMPT-signal på systembussen (250).1. Multi-bus microcomputer system including a processor (225) and a flash storage subsystem (260) connected together by a CPU local bus (230), a direct storage (255), a system bus (250) and several other functional units (275, 280, 285, 290, 295, 300, 305, 310, 315) connected together by means of the system bus (250), and devices (240) which connect the CPU local bus (230) and the system bus (250), characterized in that the system bus (250) includes several conductors dedicated to arbitration access to the system bus (250 ) by means of at least some of the other functional units, wherein one of the conductors carries a PREEMPT signal to any functional unit with access to the system bus to limit the duration of the access in response to receipt of the PREEMPT signal, and that a PREEMPT signal source (501, 502, 503) having inputs responsive to a CPU local bus cycle extending beyond a minimum duration to assert a PREEMPT signal on the system bus (250). 2 . Multi-bussmikrodatamaskinsystem ifølge krav 1, karakterisert ved en arbi traerovervåker (335) innbefattende en kilde for arbitrærtillatelsesignal (ARB/GRANT), innretning som reagerer på PREEMPT-signalet for å preparere for en arbitraerfase, innretning for å starte en arbitraerf ase som reaksjon på et signal som representerer avslutningen av en løpende bussbrukers bruk av bussen, og innretning (HRQ) for å signalisere en ny arbitraerfase til prosessoren.2. The multi-bus microcomputer system of claim 1, characterized by an arbitration monitor (335) including a source of an arbitrary grant signal (ARB/GRANT), means responsive to the PREEMPT signal to prepare for an arbitration phase, means for initiating an arbitration phase in response to a signal representing the termination of a running bus user's use of the bus, and means (HRQ) for signaling a new arbitration phase to the processor. 3. Multi-bussmikrodatamaskinsystem ifølge krav 2, karakterisert ved at prosessoren reagerer på signalisering (HRQ) fra arbitrærovervåkeren (335) som representerer en ny arbitraerf ase mens PREEMPT-signalet er påstått å umiddelbart aksessere systembussen (250).3. Multi-bus microcomputer system according to claim 2, characterized in that the processor responds to signaling (HRQ) from the arbitrary monitor (335) representing a new arbitrary ase while the PREEMPT signal is asserted to immediately access the system bus (250). 4. Multi-bussmikrodatamaskinsystem ifølge et av de foregående krav, karakterisert ved at PREEMPT-signalkilden (501, 502, 503) reagerer ytterligere på et programmerbart signal (ENCPUPREEMPT) for å tillate frembringelse av PREEMPT-signalet i en tilstand av det programmerbare signalet og for å sperre frembringelse av PREEMPT-signalet når det programmerbare signalet er i en ytterligere tilstand.4. Multi-bus microcomputer system according to any one of the preceding claims, characterized in that the PREEMPT signal source (501, 502, 503) is further responsive to a programmable signal (ENCPUPREEMPT) to allow generation of the PREEMPT signal in a state of the programmable signal and to inhibit generation of the PREEMPT signal when the programmable signal is in a further state. 5. Multi-bussmikrodatamaskinsystem ifølge et av de foregående krav, karakterisert ved en valgbuss (320) koblet med systembussen (250) og innretningen for kobling til CPU-lokalbussen (230), hvorved anordningen koblet med valgbussen kan arbitrære fra aksess til systembussen og reagerer på PREEMPT-signal fra PREEMPT-signalkilden for å avslutte en bussaksess som reaksjon på mottagelse av PREEMPT-signalet .5. Multi-bus microcomputer system according to one of the preceding claims, characterized by a selection bus (320) coupled with the system bus (250) and the device for coupling to the CPU local bus (230), whereby the device coupled with the selection bus can arbitrarily from access to the system bus and is responsive to PREEMPT signal from the PREEMPT signal source to terminate a bus access in response to receiving the PREEMPT signal. 6. Multi-bussmikrodatamaskinsystem ifølge krav 1, karakterisert ved at flere ledere innbefatter en arbitrærtillatelseleder som bærer et arbitrærtillatelsesignal for å etablere en arbitrærfase for arbitræring av aksess blant flere anordninger når signalet er i en tilstand og en tillatelsefase for bruk av systembussen av den anordningen som får arbitrærfasen, og at CPU innbefatter en innretning for å aksessere systembussen i arbitrærfasen umiddelbart fulgt av PREEMPT-signalet.6. Multi-bus microcomputer system according to claim 1, characterized in that several conductors include an arbitrary permission conductor carrying an arbitrary permission signal to establish an arbitrary phase for arbitrating access among several devices when the signal is in a state and a permission phase for use of the system bus by the device receiving the arbitrary phase , and that the CPU includes a device for accessing the system bus in the arbitrary phase immediately followed by the PREEMPT signal.
NO891585A 1988-05-26 1989-04-18 Multi-bus microcomputer system with bus arbitrage NO176038C (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/198,895 US5129090A (en) 1988-05-26 1988-05-26 System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration

Publications (4)

Publication Number Publication Date
NO891585D0 NO891585D0 (en) 1989-04-18
NO891585L NO891585L (en) 1989-11-27
NO176038B true NO176038B (en) 1994-10-10
NO176038C NO176038C (en) 1995-01-18

Family

ID=22735319

Family Applications (1)

Application Number Title Priority Date Filing Date
NO891585A NO176038C (en) 1988-05-26 1989-04-18 Multi-bus microcomputer system with bus arbitrage

Country Status (23)

Country Link
US (1) US5129090A (en)
EP (1) EP0343770B1 (en)
JP (1) JPH0623970B2 (en)
CN (1) CN1010808B (en)
AT (1) ATE123162T1 (en)
AU (1) AU611287B2 (en)
BE (1) BE1002405A4 (en)
BR (1) BR8902388A (en)
CA (1) CA1317682C (en)
DE (2) DE68922784T2 (en)
DK (1) DK189889A (en)
ES (1) ES2072895T3 (en)
FI (1) FI96145C (en)
FR (1) FR2632096B1 (en)
GB (1) GB2219176A (en)
HK (1) HK23696A (en)
IT (1) IT1230191B (en)
MX (1) MX171578B (en)
MY (1) MY111733A (en)
NL (1) NL8901282A (en)
NO (1) NO176038C (en)
NZ (1) NZ228785A (en)
SE (1) SE8901306L (en)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5034883A (en) * 1987-05-01 1991-07-23 Digital Equipment Corporation Lockhead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers
US5111424A (en) * 1987-05-01 1992-05-05 Digital Equipment Corporation Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfer
FR2642246B1 (en) * 1988-12-30 1991-04-05 Cit Alcatel METHOD FOR RELEASING A MULTIBUS MULTIPROCESSOR SYSTEM
KR930002316B1 (en) * 1989-05-10 1993-03-29 미쯔비시덴끼 가부시끼가이샤 Multiprocessor type time varying image encoding system and image processor
US5293493A (en) * 1989-10-27 1994-03-08 International Business Machines Corporation Preemption control for central processor with cache
CA2038012A1 (en) * 1990-03-14 1991-09-15 Hideki Shimizu Oxide superconductor lamination and method of manufacturing the same
US5086427A (en) * 1990-04-09 1992-02-04 Unisys Corporation Clocked logic circuitry preventing double driving on shared data bus
JP4733219B2 (en) * 1990-06-04 2011-07-27 株式会社日立製作所 Data processing apparatus and data processing method
KR950004202B1 (en) * 1990-06-14 1995-04-27 인터내셔날 비지네스 머신즈 코포레이션 Apparatus and method for assembly of direct access storage device with a personal computer
EP0472274A1 (en) * 1990-08-24 1992-02-26 International Business Machines Corporation Data processing apparatus having connectors to receive system components
GB9019001D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station including a direct memory access controller and interfacing means to microchannel means
ATE137038T1 (en) * 1990-08-31 1996-05-15 Advanced Micro Devices Inc TRANSMISSION CONTROL SYSTEM FOR A COMPUTER AND PERIPHERAL DEVICES
DE69123665T2 (en) * 1990-08-31 1997-07-10 Advanced Micro Devices Inc Integrated digital processing device
GB9019022D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station or similar data processing system including interfacing means to microchannel means
GB9018993D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station interfacing means having burst mode capability
GB9018991D0 (en) * 1990-08-31 1990-10-17 Ncr Co Work station with timing independant interface units
US5218681A (en) * 1990-08-31 1993-06-08 Advanced Micro Devices, Inc. Apparatus for controlling access to a data bus
JPH04141757A (en) * 1990-10-03 1992-05-15 Fujitsu Ltd Bus control system
US5195089A (en) * 1990-12-31 1993-03-16 Sun Microsystems, Inc. Apparatus and method for a synchronous, high speed, packet-switched bus
US5249297A (en) * 1991-04-29 1993-09-28 Hewlett-Packard Company Methods and apparatus for carrying out transactions in a computer system
US5537600A (en) * 1991-05-28 1996-07-16 International Business Machines Corporation Personal computer with alternate system controller
EP0516323A1 (en) * 1991-05-28 1992-12-02 International Business Machines Corporation Personal computer systems
US5392417A (en) * 1991-06-05 1995-02-21 Intel Corporation Processor cycle tracking in a controller for two-way set associative cache
CA2067599A1 (en) * 1991-06-10 1992-12-11 Bruce Alan Smith Personal computer with riser connector for alternate master
US5255373A (en) * 1991-08-07 1993-10-19 Hewlett-Packard Company Decreasing average time to access a computer bus by eliminating arbitration delay when the bus is idle
US5630163A (en) * 1991-08-09 1997-05-13 Vadem Corporation Computer having a single bus supporting multiple bus architectures operating with different bus parameters
US5581731A (en) * 1991-08-30 1996-12-03 King; Edward C. Method and apparatus for managing video data for faster access by selectively caching video data
CA2068010C (en) * 1991-08-30 1996-10-22 Robert Chih-Tsin Eng Alternate master bursting data rate management techniques for use in computer systems having dual bus architecture
US5430860A (en) * 1991-09-17 1995-07-04 International Business Machines Inc. Mechanism for efficiently releasing memory lock, after allowing completion of current atomic sequence
JPH05210977A (en) * 1991-10-15 1993-08-20 Internatl Business Mach Corp <Ibm> Memory-refreshing controller
US5301282A (en) * 1991-10-15 1994-04-05 International Business Machines Corp. Controlling bus allocation using arbitration hold
US5371872A (en) * 1991-10-28 1994-12-06 International Business Machines Corporation Method and apparatus for controlling operation of a cache memory during an interrupt
US5237695A (en) * 1991-11-01 1993-08-17 Hewlett-Packard Company Bus contention resolution method for network devices on a computer network having network segments connected by an interconnection medium over an extended distance
US5548762A (en) * 1992-01-30 1996-08-20 Digital Equipment Corporation Implementation efficient interrupt select mechanism
US5555382A (en) * 1992-04-24 1996-09-10 Digital Equipment Corporation Intelligent snoopy bus arbiter
US5420985A (en) * 1992-07-28 1995-05-30 Texas Instruments Inc. Bus arbiter system and method utilizing hardware and software which is capable of operation in distributed mode or central mode
US5471585A (en) * 1992-09-17 1995-11-28 International Business Machines Corp. Personal computer system with input/output controller having serial/parallel ports and a feedback line indicating readiness of the ports
JP3057934B2 (en) * 1992-10-30 2000-07-04 日本電気株式会社 Shared bus arbitration mechanism
US5699540A (en) * 1992-11-16 1997-12-16 Intel Corporation Pseudo-concurrent access to a cached shared resource
US5500946A (en) * 1992-11-25 1996-03-19 Texas Instruments Incorporated Integrated dual bus controller
CA2116826C (en) * 1993-03-11 1998-11-24 Timothy J. Sullivan Data processing system using a non-multiplexed, asynchronous address/data bus system
US5528765A (en) * 1993-03-15 1996-06-18 R. C. Baker & Associates Ltd. SCSI bus extension system for controlling individual arbitration on interlinked SCSI bus segments
JP3474646B2 (en) * 1994-09-01 2003-12-08 富士通株式会社 Input / output control device and input / output control method
KR0155269B1 (en) * 1995-01-16 1998-11-16 김광호 Bus arbitrating method and its apparatus
US5692211A (en) * 1995-09-11 1997-11-25 Advanced Micro Devices, Inc. Computer system and method having a dedicated multimedia engine and including separate command and data paths
US5845097A (en) * 1996-06-03 1998-12-01 Samsung Electronics Co., Ltd. Bus recovery apparatus and method of recovery in a multi-master bus system
US6560712B1 (en) * 1999-11-16 2003-05-06 Motorola, Inc. Bus arbitration in low power system
US6842813B1 (en) 2000-06-12 2005-01-11 Intel Corporation Method and apparatus for single wire signaling of request types in a computer system having a point to point half duplex interconnect
US6877052B1 (en) * 2000-09-29 2005-04-05 Intel Corporation System and method for improved half-duplex bus performance
US7007122B2 (en) * 2002-11-27 2006-02-28 Lsi Logic Corporation Method for pre-emptive arbitration
US7107375B2 (en) * 2003-05-13 2006-09-12 Lsi Logic Corporation Method for improving selection performance by using an arbitration elimination scheme in a SCSI topology
US7543093B2 (en) 2004-08-30 2009-06-02 Shanghai Magima Digital Information Co., Ltd. Method and system for stream burst data transfer
DE102008000031B4 (en) * 2008-01-10 2014-07-10 Koenig & Bauer Aktiengesellschaft Method for controlling an arrangement of printing forms arranged on forming cylinders of a printing machine

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4481580A (en) * 1979-11-19 1984-11-06 Sperry Corporation Distributed data transfer control for parallel processor architectures
US4402040A (en) * 1980-09-24 1983-08-30 Raytheon Company Distributed bus arbitration method and apparatus
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
EP0066766B1 (en) * 1981-06-05 1988-08-10 International Business Machines Corporation I/o controller with a dynamically adjustable cache memory
US4451883A (en) * 1981-12-01 1984-05-29 Honeywell Information Systems Inc. Bus sourcing and shifter control of a central processing unit
US4578782A (en) * 1983-08-26 1986-03-25 Motorola, Inc. Asynchronous memory refresh arbitration circuit
US4631660A (en) * 1983-08-30 1986-12-23 Amdahl Corporation Addressing system for an associative cache memory
US4742454A (en) * 1983-08-30 1988-05-03 Amdahl Corporation Apparatus for buffer control bypass
US4701844A (en) * 1984-03-30 1987-10-20 Motorola Computer Systems, Inc. Dual cache for independent prefetch and execution units
JPS61117650A (en) * 1984-11-13 1986-06-05 Nec Corp Bus control system
US4941088A (en) * 1985-02-05 1990-07-10 Digital Equipment Corporation Split bus multiprocessing system with data transfer between main memory and caches using interleaving of sub-operations on sub-busses
US4794523A (en) * 1985-09-30 1988-12-27 Manolito Adan Cache memory architecture for microcomputer speed-up board
US4949301A (en) * 1986-03-06 1990-08-14 Advanced Micro Devices, Inc. Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
US4811215A (en) * 1986-12-12 1989-03-07 Intergraph Corporation Instruction execution accelerator for a pipelined digital machine with virtual memory

Also Published As

Publication number Publication date
DE68922784D1 (en) 1995-06-29
NL8901282A (en) 1989-12-18
JPH0218657A (en) 1990-01-22
FI891786A (en) 1989-11-27
BE1002405A4 (en) 1991-01-29
NO891585D0 (en) 1989-04-18
DE68922784T2 (en) 1995-11-30
SE8901306L (en) 1989-11-27
FI891786A0 (en) 1989-04-14
BR8902388A (en) 1990-01-16
IT1230191B (en) 1991-10-18
NO176038C (en) 1995-01-18
JPH0623970B2 (en) 1994-03-30
HK23696A (en) 1996-02-16
AU3409789A (en) 1989-11-30
EP0343770B1 (en) 1995-05-24
FR2632096B1 (en) 1991-09-20
AU611287B2 (en) 1991-06-06
DK189889D0 (en) 1989-04-19
EP0343770A2 (en) 1989-11-29
DE3909948C2 (en) 1990-05-31
NZ228785A (en) 1991-04-26
EP0343770A3 (en) 1990-11-22
ATE123162T1 (en) 1995-06-15
IT8920626A0 (en) 1989-05-24
CA1317682C (en) 1993-05-11
SE8901306D0 (en) 1989-04-11
MX171578B (en) 1993-11-08
NO891585L (en) 1989-11-27
DK189889A (en) 1989-11-27
CN1037982A (en) 1989-12-13
FI96145B (en) 1996-01-31
US5129090A (en) 1992-07-07
DE3909948A1 (en) 1989-11-30
ES2072895T3 (en) 1995-08-01
FI96145C (en) 1996-05-10
FR2632096A1 (en) 1989-12-01
MY111733A (en) 2000-12-30
GB2219176A (en) 1989-11-29
GB8904919D0 (en) 1989-04-12
CN1010808B (en) 1990-12-12

Similar Documents

Publication Publication Date Title
NO176038B (en) Multi-bus microcomputer system with bus arbitrage
US5740376A (en) Signaling protocol for a peripheral component interconnect
US5613075A (en) Method and apparatus for providing deterministic read access to main memory in a computer system
US4270167A (en) Apparatus and method for cooperative and concurrent coprocessing of digital information
EP0581335B1 (en) Data processing system having units competing for access to shared resources and arbitration unit responsive to the status of the shared resources
US5935233A (en) Computer system with a switch interconnector for computer devices
US5426740A (en) Signaling protocol for concurrent bus access in a multiprocessor system
US6490642B1 (en) Locked read/write on separate address/data bus using write barrier
US5850530A (en) Method and apparatus for improving bus efficiency by enabling arbitration based upon availability of completion data
US6141715A (en) Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction
US5590299A (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
JPH09190406A (en) Direct memory access controller and transmission system using the same
JPH08263430A (en) Method for omission of bus turnaround cycle and computer system
CN116028413A (en) Bus arbiter, bus arbitration method, device and medium
US5933612A (en) Deadlock avoidance in a split-bus computer system
JPH0683763A (en) Method and system for converting central arbiter into slave arbiter
JPH06324988A (en) Data processing system using asynchronous multiplexed address / data bus system
US5905878A (en) Method for controlling access to a computer bus
JP3195489B2 (en) External storage control device and bus switching control method
US5455912A (en) High speed/low overhead bus arbitration apparatus and method for arbitrating a system bus
US5454082A (en) System for preventing an unselected controller from transferring data via a first bus while concurrently permitting it to transfer data via a second bus
US5878239A (en) Method and apparatus for processing a target retry from a PCI target device to an ISA master devise using a PCI/ISA bridge
JP2979771B2 (en) Information processing apparatus and bus control method thereof
KR930001586B1 (en) Microcomputer system