NL8800715A - Computersysteem met directe geheugeninvoer. - Google Patents

Computersysteem met directe geheugeninvoer. Download PDF

Info

Publication number
NL8800715A
NL8800715A NL8800715A NL8800715A NL8800715A NL 8800715 A NL8800715 A NL 8800715A NL 8800715 A NL8800715 A NL 8800715A NL 8800715 A NL8800715 A NL 8800715A NL 8800715 A NL8800715 A NL 8800715A
Authority
NL
Netherlands
Prior art keywords
arbitration
dgi
data
channel
peripheral
Prior art date
Application number
NL8800715A
Other languages
English (en)
Other versions
NL185106C (nl
NL185106B (nl
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 NL8800715A publication Critical patent/NL8800715A/nl
Publication of NL185106B publication Critical patent/NL185106B/nl
Application granted granted Critical
Publication of NL185106C publication Critical patent/NL185106C/nl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • 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
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

International Business Machines Corporation
Armonk, New York, Verenigde Staten van Amerika.
£ κ
Jt.
Computersysteem met directe geheugeninvoer.
De uitvinding heeft betrekking op een computersysteem met een besturingseenheid voor directe geheugeninvoer (D6I) waarmee randapparaten waarvan het aantal groter is dan het aantal fysieke DGI-kanalen DGI-gegevensoverdracht kunnen uitvoeren.
5 Vele bekende computersystemen gebruiken DGI-kanalen om randapparaten gegevens te laten overdragen, primair naar en van het hoofdgeheugen zonder de gang door de centrale verwerkingseenheid (CVE). Het voorbijgaan aan de CVE heeft natuurlijk het voordeel van vergrote snelheden van gegevensoverdracht en verbeterde algehele efficiëntie van het systeem, omdat de CVE 10 vrij is om andere taken uit te voeren gedurende de gegevensoverdracht.
De meest voorkomende praktijk is heden ten dage om een fysiek DGI-kanaal te Verschaffen voor ieder randapparaat waaraan toegang op basis van DGI wordt verleend. Een voorbeeld van een computersysteem dat zo'n inrichting gebruikt is de IBM Persoonlijke Computer.
15 Het aantal randapparaten dat een gebruiker aan een computersysteem kan bevestigen is echter toegenomen; de verwachting is dat dat zo nog wel zal doorgaan. Zo zijn er, bij voorbeeld, onlangs beschikbaar geworden: optische schijflezers, toegevoegde communicatieapparaten, harde bestanden (oftewel "hard files"), apparaten voor reserve bestanden op magneetband, 20 afdrukeenheden met hoge snelheden, enz.; deze kunnen allen op voordelige wijze gebruik maken van toegang op basis van DGI.
Aan de andere kant is het toevoegen van verdere DGI-kanalen kostbaar waar het betreft systeemapparatuur, ruimte op de circuitkaarten en ruimte op de hoofdlijnen. Er is overwogen om DGI-kanalen te laten delen oftewel 25 gemeenschappelijk te laten gebruiken door randapparaten met de beperking van onverenigbaar bedrijf. Het delen van DGI-kanalen komt, bij voorbeeld, voor in de IBM XT en AT computersystemen. De hierbij toegepaste kanalenstelsels vereisen uitgebreide wijzigingen in het besturingssysteem aangezien aanvullende subroutines zijn vereist ten einde de randapparaten 30 die met ieder DGI-kanaal zijn verbonden te verhinderen om gelijktijdig in bedrijf te zijn. Er wordt ook beduidend beslag gelegd op het prestatie- .8800715 BC9-86-Q10 * 2 α vermogen als de besturingseenheden voor de bestanden niet voldoende "intelligent" zijn om overlappende opzoekbewerkingen mogelijk te maken. In zekere situaties hebben wij met een samengesteld probleem te maken, bij voorbeeld als een voorziening voor een lokaal netwerk (LAN) en een 5 besturingseenheid voor een bestand hetzelfde DGI-niveau delen en een functieroutine voor een LAN-bestand zich heen en weer moet verplaatsen tussen de twee apparaten.
Het Amerikaanse octrooischrift A-3.925.766 van Bardotti e.a. maakt een computersysteem bekend waarin randapparaten prioriteitsniveaus krijgen 10 toegewezen, en waarin verzoeken om toegang ten einde met een geheugen te communiceren worden geselecteerd volgens de prioriteitsniveaus. De toewijzingen van de prioriteitsniveaus kunnen worden gewijzigd op grond van de oorzaken van het genereren van de verzoeksignalen of op grond van de specifieke laadvoorwaarden van de centrale verwerkingseenheid. Er 15 worden echter geen DGI-paden verschaft.
In het Amerikaanse octrooischrift A-4.400.771 van Suzuki e.a. wordt een systeem met een multiverwerkingseenheid getoond waarin elk van de meervoudige verwerkingseenheden toegang kunnen krijgen tot een enkelvoudig geheugen. Een programmeerbaar registercircuit slaat de prioriteitsinforma-20 tie op die graduele prioriteit voor geheugeninvoer karakteriseert voor elk van de verwerkingseenheden. De prioriteitsinformatie kan met de hand worden gewijzigd, door middel van een extern circuit, of door middel van ten minste één van de verwerkingseenheden. Het octrooi van Suzuki e.a. maakt geen gebruik van toegang op basis van DGI tot een geheugen vanuit 25 meervoudige randapparaten.
Het Amerikaanse octrooischrift A-4.257.095 van Nadir is om didactische redenen van belang op grond van technieken met betrekking tot hoofdlijnarbitrage.
De volgende Amerikaanse octrooischriften worden vermeld voor algemene 30 achtergrondsdidaktiek met betrekking tot computersystemen die DGI-besturingseenheden gebruiken: 4.371.932 van Dinwiddie Jr. e.a., 4.419.728 vein Larson, 4.538.224 van Peterson, 4.556.962 van Brewer e.a. en 4.584.703 van Hallberg.
. 880 07 1 5 BC9-86-010
A
3
De uitvinding beoogt een computersysteem te verschaffen dat gebruik maakt van een DGI-besturingseenheid en waarin randapparaten, groter in aantal dan de fysieke DGI-kanalen die in het systeem worden verschaft, de DGI-kanalen kunnen delen zonder de boven besproken problemen bij de 5 benaderingen op basis van de bekende stand van de techniek tegen te komen.
Volgens de uitvinding kan een computersysteem een apparaat voor veel-kanaals directe géheugeninvoer (DGI-apparaat) en koppelingsmiddelen om een aantal randapparaten aan het DGI-apparaat te koppelen bevatten, waardoor de koppelingsmiddelen in staat zijn om een aantal randapparaten, groter 10 dan het aantal DGI-kanalen, aan het DGI-apparaat te koppelen, waarbij ten minste één kanaal wordt gedeeld door randapparaten via een arbitrage-circuit, en waarbij arbitragegegevens van de randapparaten worden vergeleken met arbitragegegevens die in het arbitragecircuit zijn geprogrammeerd ten einde de actuele (Engels "current") toegang tot een 15 gedeeld kanaal te bepalen.
Voorts kan volgens de uitvinding ieder randapparaat een arbitragecircuit omvatten om de arbitragegegevens te bevatten, waarbij het arbitrageregister is gekoppeld voor het invoeren van gegevens vanuit de centrale verwerkingseenheid (CVE) van het systeem.
20 Ook kan volgens de uitvinding ten minste één kanaal een toepassings gericht kanaal zijn dat is gekoppeld aan een enkel randapparaat, waarin voor het, of voor ieder, toepassingsgericht kanaal het arbitragecircuit arbitragegegevens uit het gekoppelde randapparaat vergelijkt met vooraf ingestelde arbitragegegevens ten einde toegang tot het toepassingsgerichte 25 kanaal te bepalen.
Bovendien kunnen volgens de uitvinding de vooraf ingestelde arbitragegegevens worden bepaald door schakelmiddelen in het arbitragecircuit.
Eveneens kan volgens de uitvinding het arbitragecircuit voor het, of 30 ieder, gedeeld kanaal registermiddelen omvatten om arbitragegegevens van de CVE van het systeem te ontvangen en vergelijkingscircuitmiddelen om gegevens van de registermiddelen te vergelijken met de arbitragegevens van de randapparaten die het kanaal delen om een vergelijkingsuitvoer te verschaffen als de vergeleken gegevens gelijk zijn.
•k .
4
Bovendien kan volgens de uitvinding de vergelijkingsuitvoer invoer van een DGX-verzoek naar het DGI-apparaat verschaffen.
De uitvinding heeft voorts betrekking op een werkwijze voor het koppelen van een aantal randapparaten aan een apparaat voor veelkanaals 5 directe geheugeninvoer (DGI-apparaat) van een computer, waarbij een DGI-kanaal via een arbitragecircuit met meerdere randapparaten wordt verbonden, en waarbij het arbitragecircuit arbitragegegevens uit de randapparaten vergelijkt met vergelijkingsarbitragegegevens en op grond van de resultaten van die vergelijking de actuele (Engels "current") toegang tot 10 het gemeenschappelijk DGI-kanaal bepaalt.
Ook heeft de uitvinding betrekking op een werkwijze waarbij de vergelijkingsarbitragegegevens geprogrammeerd zijn in het arbitragecircuit.
De uitvinding heeft voorts betrekking op een werkwijze, waarbij de arbitragegegevens van een randapparaat worden opgeslagen in een arbitrage-15 register in het randapparaat, en waarbij het arbitrageregister gegevens vanuit de centrale verwerkingseenheid (CVE) van het systeem ontvangt wanneer het randapparaat is aangesloten.
Verder heeft de uitvinding betrekking op een werkwijze, waarbij een toepassingsgericht DGI-kanaal is verbonden met slechts één randapparaat, 20 en waarbij het arbitragecircuit de arbitragegegevens uit het verbonden randapparaat vergelijkt met vooraf ingestelde arbitragegegevens en op grond van het resultaat van die vergelijking bepaalt of toegang via het DGI-kanaal kan woren verkregen.
Bovendien heeft de uitvinding betrekking op een werkwijze, waarbij de 25 arbitragegegevens in het arbitragecircuit worden ingesteld door middel van schakelmiddelen.
Eveneens heeft de uitvinding betrekking op een werkwijze, waarbij registermiddelen van het arbitragecircuit voor een gedeeld DGI-kanaal arbitragegegevens vanuit de centrale verwerkingseenheid (CVE) ontvangen en 30 waarbij deze arbitragegegevens worden vergeleken met arbitragegegevens vanuit de randapparaten die het kanaal delen, waarna, als de vergeleken gegevens overeenstemmen, vergelijkingsuitvoer wordt gegeven.
. 8 8 0 07 1 5 BC9-86-010 * 5
Ook heeft de uitvinding betrekking op een werkwijze, waarbij de vergelijkingsuitvoer de invoer van een DGI-verzoek naar het DGI-apparaat omvat.
Bij wijze van voorbeeld wordt nu een uitvoering van de uitvinding 5 beschreven, met verwijzing naar de tekening.
Fig. 1 is een blokdiagram dat een computersysteem toont dat gebruik maakt van de uitvinding.
Fig. 2 is een conceptueel diagram dat wordt gebruikt om de werking van de uitvinding te verklaren.
10 Fig. 3 is een diagram van de logica dat uitgebreid een arbitrage-circuit afbeeldt dat in randapparaten van het computersysteem van fig. 1 wordt verschaft.
Fig. 4 is een diagram dat details van één van de hoofdlijnen in het computersysteem van fig. 1 toont.
15 Fig. 5 is een gedetailleerd diagram van de logica van een centraal arbitragebesturingscircuit dat wordt gebruikt in het computersysteem volgens de uitvinding.
Fig. 6 is een gedetailleerd diagram van de logica van een DGI-besturingscircuit dat in de uitvinding wordt gebruikt.
20 Met verwijzing naar allereerst fig. 1 van de tekening, wordt een blokdiagram van een computersysteem getoond waarin de uitvinding ten voordele wordt gebruikt.
Een CVE communiceert met hoofdgeheugen 15, hoofdlijnbesturingseenheid 16 en math, co-verwerkingseenheid 14 via systeemhoofdlijn 26.
25 Communicatie tussen de CVE en de ermee verbonden randapparaten vindt plaats door een hoofdlijnbesturingseenheid 16, waarbij laatstgenoemde is gekoppeld aan de randapparaten door een groepshoofdlijn 25. In dit voorbeeld omvatten de randapparaten een hulpgéheugen 17, twee communicatie-apparaten 18 en 19, een hard bestand ("hard file") 20, een optische 30 schijf 21 en twee diskettes 23. Andere randapparaten kunnen natuurlijk evengoed worden gebruikt wanneer de behoeften van het systeem dit vereisen. De randapparaten zijn generiek voorgesteld door het DGI-hulp-apparaat 24.
.8800715 BC9-86-010 > 6
Een DGI-besturingseenheid 12 wordt verschaft om op z'n minst voor geselecteerde apparaten van de randapparaten directe geheugeninvoer mogelijk te maken. Zoals verderop meer gedetailleerd wordt uiteengezet, is voor dit doel de groepshoofdlijn, of ten minste een gedeelte daarvan, naar 5 DGI-besturingseenheid 12 afgetakt. Ieder randapparaat waarvoor toegang op DGI-basis mogelijk is wordt voorzien van een arbitragecircuit 24, en ieder randapparaat met een arbitragecircuit krijgt een arbitrageniveau oftewel een prioriteitsniveau toegewezen. Zoals ook weer verderop meer gedetailleerd wordt uiteengezet, is een centraal arbitragebesturingscircuit 11 10 verbonden met de DGI-besturingseenheid om tussen randapparaten die gelijktijdig om toegang op basis van DGI verzoeken te arbitreren en de DGI-besturingseenheid mede te delen welk randapparaat toegang moet krijgen.
In het computersysteem dat de uitvinding belichaamt is het aantal 15 randapparaten waarvoor toegang op basis van DGI mogelijk is groter dan het aantal fysieke DGI-kanalen dat in het systeem wordt verschaft. In overeenstemming met de uitvinding krijgen sommige van deze apparaten hun eigen toepassingsgerichte DGI-kanaal toegewezen, terwijl andere de overgebleven DGI-kanalen delen. Op de gedeelde (programmeerbare) kanalen vindt toegang 20 plaats op volgorde van vooraf toegewezen prioriteit.
In het voorbeeld wordt verondersteld dat er acht fysieke DGI-kanalen zijn, met de nummers 0 tot 7. Verder wordt verondersteld dat de kanalen 0 en 4 worden gedeeld en dat de overblijvende kanalen 1-3 en 5-7 zijn toegewezen aan individuele randapparaten.
25 Met verwijzing naar fig. 2, een conceptueel plaatje dat wordt gebruikt om de principes van de uitvinding uiteen te zetten, wordt een vergelijker verschaft met twee reeksen invoer. Eén reeks is samengesteld uit vier lijnen uit een hoofdlijn ARBIJN (ARBitrage 1IJN). De waarde op de ARBIJN is indicatief voor het randapparaat dat dat op dat moment om een 30 DGI-kanaal verzoekt en dat het hoogste arbitrageniveau (of prioriteitsniveau) heeft. Als het randapparaat er eentje is dat één van de toepassingsgerichte kanalen 1-3 of 5-7 heeft, wordt rechtstreeks toegang verleend tot dat kanaal. Als evenwel het randapparaat er eentje is dat een programmeerbaar DGI-kanaal (de kanalen 0 en 4) moet delen, dan wordt 35 alleen toegang verleend als zijn prioriteitsniveau overeenkomt met één van de waarden die zijn vastgelegd in de registers 6 en 7. Deze werkwijze .8800715 BC9-86-010 φ * 7 wordt verderop onder verwijzing naar de figuren 3-6 meer gedetailleerd uiteengezet.
Fig. 3 is een diagram van de logica van één van de arbitrage-circuits 28 die worden gebruikt in elk van de randapparaten waaraan 5 toegang op basis van DGI wordt verleend. Het arbitrageniveau dat aan het randapparaat is toegewezen wordt gezet in een register 70, verderop vermeld als het kanaalprioriteitstoewijzingsregister. Dit kan worden gedaan door één van een aantal welbekende technieken te gebruiken. Bij voorkeur adresseert de CVE het randapparaat via een vooraf toegewezen 10 poort zodat het arbitrageniveau door middel van programmatuur kan worden ingesteld. Dit kan, al naar elang wenselijk is, worden gedaan door BIOS ("Basic Input-Output System", oftewel elementair invoer/uitvoer-systeem), POST ("Power-On Self Test", oftewel zelftest bij opschakelen) bij opnieuw instellen, het besturingssysteem of het toepassingsprogramma. Anders is 15 het mogelijk om de kanaalprioriteitstoewijzingswaarde in te voeren met schakelapparatuur.
Het actuele arbitragecircuit is geïmplementeerd samen met een arbiter 72. Dit circuit, met inbegrip van de verscheidene signalen zoals getoond in fig. 3, is openbaar gemaakt en gedetailleerd besproken in 20 American National Standard/IEEE Standard No. ANSI/IEEE Std 696-1983, gepubliceerd door het Institute of Electrical and Electronics Engineers,
Inc., van 13 juni 1983. In het algemeen is ieder apparaat dat is opgenomen in het stelsel van de arbitrage voorzien van zo'n circuit, en de circuits zijn onderling verbonden via een ARBIJN. De ARBIJN in het getoonde voor-25 beeld heeft vier gegevenslijnen TMAO - TMA3, die 16 verschillende arbitrageniveaus mogelijk maken. Er kan echter ieder gewenst aantal gegevenslijnen worden gebruikt. Gedurende een arbitrageperiode zoals aangegeven door de besturingssignalen pHLDA en HOLD zenden alle apparaten die besturing willen verkrijgen via de hoofdlijn (nl. die apparaten waar-30 voor het IWANT signaal in de hoge ("1") toestand is gezet) hun arbitrageniveaus (of prioriteitsniveaus) naar de ARBIJN. Dit gebeurt in het voorbeeld van fig. 3 wanneer het signaal /APRIO (waarbij "/" een "lage-waarheids"-signaal aanduidt) naar de hoge ("1") toestand gaat. De waarde die dan in register 70 wordt vastgehouden wordt gesluisd door de 35 EN-poorten 71 naar arbiter 72 en daarvandaan naar de ARBIJN-lijnen TMAO - TMA3. Aan het einde van de arbitrageperiode zal de waarde op de ARBIJN-lijnen TMAO - TMA3 de waarde zijn van het arbitrageniveau van het .8800715 BC9-86-010 v 8 apparaat dat het hoogste niveau heeft. De golfvormen van de verschillende signalen die hier zijn genoemd worden in detail getoond in de aangehaalde ANSl/IEEE-standaard.
In de hier besproken voorkeursuitvoering vormt de ARBIJN een onder-5 deel van de groepshoofdlijn 25 die de randapparaten aan de hoofdlijnbesturingseenheid 16 koppelt en daarvandaan aan de CVE 10. De relatie van de ARBIJN tot de algehele groepshoofdlijn 25 is afgeheeld in fig. 4.
De details van het centrale arbitragebesturingscircuit 11 en de DGI-besturingseenheid 12 worden, respectievelijk, getoond in fig. 5 en 6, 10 getoond, waar nu naar zal worden verwezen.
Zoals getoond in fig. 5, worden de signalen HOLD en pHLDA van de ARBIJN gebruikt om een signaal /ARBTIJD te genereren. /ARBTIJD is in de "0"-toestand gedurende de tijd dat arbitrage plaats moet vinden tussen de randapparaten die concurreren om een DGI-kanaal. Hij blijft lang genoeg in 15 de "0"-toestand om de signalen op de ARBIJN voorwaarden voor stationaire toestand te laten bereiken, d.w.z. voldoende lang voor het afwerken van de arbitrage. Om /ARBTIJD te genereren wordt pHLDA omgekeerd door een teken-omkeerder 61 en vervolgens samen met HOLD aangebracht op de respectieve invoeren van een exclusief-OF-poortschakeling 62. Een door een enkele 20 triggerimpulsie gestuurde multivibrator 63 (in de tekening aangeduid als "MONO-VIBR."), met een uitvoerpulsperiode die langer is dan de arbitrage-tijd op de ARBIJN, wordt getriggerd door de oplopende rand van de uitvoer-puls van de exclusief-OF-poortschakeling 62. De uitvoer van de door een enkele triggerimpulsie gestuurde multivibrator wordt geOFt met de uitvoer 25 van de exclusief-OF-poortschakeling 62 door middel van een OF-poortschakeling 64 om op deze wijze /ARBTIJD te genereren. Er zijn natuurlijk andere opstellingen mogelijk om /ARBTIJD te genereren. Bij één benadering worden DGI-verzoeksignalen van ieder apparaat samen geOFt en de geOFte uitvoer wordt toegepast om een pulssignaal van geëigende lengte te genereren. In 30 ieder geval is het voornaamste vereiste dat /ARBTIJD in de "0"-toestand wordt gezet teneinde de tijdsperioden te definiëren wanneer arbitrage op de ARBIJN plaats moet vinden.
Een vergelijkingslogica 40 wordt verschaft voor ieder van de programmeerbare fysieke DGI-kanalen in het systeem, en een vergelijkingslogica 49 35 wordt verschaft voor ieder van de vaste kanalen. Iedere vergelijkings- .8800715 BC9-86-010 4 9 logica 40 voor de programmeerbare DGI-kanalen (de kanalen 0 en 4 in dit voorbeeld) omvat een register 41, waarnaar wordt verwezen als het DGI-kanaaltoewijzingsregister, dat door de CVE met een DGI-kanaaltoewij-zing wordt geladen. De vergelijkingslogica's 49, dus die voor de vaste 5 kanalen, zijn identiek met de vergelijkingslogica's 40, behalve dat register 40 wordt vervangen door een serie schakelaars waarmee de kanaal-toewijzing met de hand wordt ingesteld. Van ieder van de vergelijkingslogica's 40 en 49 wordt er slechts één enkele in detail getoond, aangezien de andere vergelijkingslogica's 40 en 49 identiek zijn en hun invoer-10 signalen dezelfde zijn.
De uitvoeren van de registers 41 voor de programmeerbare kanalen (vergelijkingslogica's 40) en de uitvoeren van de schakelaars voor de vaste kanalen (vergelijkingslogica's 49) worden vergeleken met de signalen TMAfl - TMA3 door een serie exclusief-OF-poortschakelingen 42, waarvan de 15 uitvoeren worden aangebracht op invoeren van een NIET-OE-poortschakeling 43.
Als er overeenstemming wordt bereikt tussen de kanaaltoewijzing en de waarde die door ΤΜΑ0 - TMA3 wordt weergegeven aan het einde van de arbitrageperiode, d.w.z. als de corresponderende signalen dan in de identieke toestanden zijn, zal de uitvoer van de NlET-OF-poortschakeling 43 20 (COMPARE 0 - COMPARE 7) in de "l"-toestand zijn. Natuurlijk kan slechts één NIET-OF-poortschakeling 43 tegelijkertijd een actieve uitvoer hebben.
Wij verwijzen nu verder naar fig. 6. Aan het einde van de arbitrage-tijd, wanneer /ARBTIJD terugkeert naar het "1"-niveau, zal een "1" afkomstig van het ene van de signalen COMPARE 0 - COMPARE 7 dat in de 25 "1"-toestand is worden gezet in één van de twee signaalbuffers 51 van de DGI-besturingseenheid 12. De andere signalen COMPARE 0 - COMPARE 7 zullen in de "0,,-toestand zijn, en derhalve zal een "0" worden gezet in de corresponderende posities van de signaalbuffers 51.
De uitvoeren van de signaalbuffers 51 worden gezet op corresponderen-30 de DGI-verzoekinvoeren (DREQ0 - DREQ3) van twee cascade-geschakelde DGI-besturingseenheden 52 in de vorm van geïntegreerde schakelingen. In de hier besproken uitvoering zijn de geïntegreerde schakelingen 52 elk een programmeerbare DGI-besturingseenheid van het type 8237, gefabriceerd door Intel Corporation. De DGI-besturingseenheden 52 in de vorm van 35 geïntegreerde schakelingen zijn cascade-geschakeld met NIET-0F-poort-schakelingen 53. De CVE kan één van de Intel iAPX serie-86 microproces- .8800715 BC9-86-010 y
V
10 soren zijn, zoals de 8088, 8086 of 80286. Voor details betr. de verbindingen tussen de twee DGI-besturingseenheden in de vorm van geïntegreerde schakelingen en de CVE wordt u verwezen naar het Intel Microsystem Components Handbook van 1985, biz. 2-57 tot 2-71.
5 In overeenstemming met het bovenstaande krijgt een randapparaat met een toepassingsgerichte DGI-kanaaltoewijzing, wanneer dat eenmaal de slag om de ARBIJN wint, dan ook gegarandeerd onmiddellijk het gebruik van een DGI-kanaal. Een randapparaat dat een DGI-kanaal deelt krijgt, als het de slag om de ARBIJN wint, slechts onmiddellijk het gebruik van het 10 DGI-kanaal als zijn kanaalprioriteitstoewijzingswaarde zoals die in zijn kanaalprioriteitstoewijzingsregister 70 wordt bewaard overeenstemt met één van de reeks DGI-kanaaltoewijzingswaarden die in één van de twee registers 41 zijn gezet. Natuurlijk kunnen de BIOS, het besturingssysteem of toepassingsprogramma's steeds weer de kanaaltoewijzingswaarden 15 herprogrammeren die in de kanaaltoewijzingsregisters 41 van de twee programmeerbare kanaalvergelijkingslogica's 40 zijn gezet ten einde te verzekeren dat alle randapparaten die toegang behoeven uiteindelijk gebruik van een DGI-kanaal krijgen. Vele verschillende programmeerstelsels kunnen worden geïmplementeerd om de waarden die zijn opgeslagen in de 20 DGI-kanaaltoewijzingsregisters 41 en de kanaalprioriteitstoewijzings-registers 70 voor de arbitragecircuits te besturen, afhankelijk van de geldende toepassing. In een eenvoudig voorbeeld is de reeks waarden in de prioriteitstoewijzingsregisters 70 vast en de reeks DGI-kanaaltoewijzings-registers 41 krijgt bij toerbeurt ten minste een aantal van de waarden in 25 de prioriteitstoewijzingsregisters 70 om op deze wijze aan elk randapparaat dat is verbonden met één van de programmeerbare DGI-kanalen een kans te geven het gebruik vein een DGI-kanaal te verkrijgen. Als "intelligente" randapparaten die hun eigen besturingseenheid hebben worden gebruikt, kunnen meer complexe stelsels worden geïmplementeerd. Als bij 30 voorbeeld een randapparaat dat aan een programmeerbaar DGI-kanaal is toegewezen toegang verlangt, kan het randapparaat het besturingssysteem of BIOS onderzoeken op beschikbaarheid van één van de programmeerbare kanalen. Als een kanaal beschikbaar is, kan zijn nummer dan worden gezet in de registers 70 en 41 om toegang te garanderen.
35 Aangezien echter de selectie van het programmeerstelsel buiten het bestek van de uitvinding valt en op het terrein van de gebruiker ligt, worden verdere voorbeelden hier niet besproken.
.8800715 BC9-86-010 11
Uiteraard zijn er ook andere toepassingen van de uitvinding mogelijk. Zo kunnen, bij voorbeeld, programmeerbare DGI-kanalen die worden verschaft door het gebruik van de uitvinding worden gebruikt als reserve-kanalen voor bepaalde toepassingsgerichte kanalen, die daarbij verbeterde betrouw-5 baarheid van het systeem verschaffen.
.8800715 BC9-86-010

Claims (13)

1. Computersysteem dat een apparaat voor veelkanaals directe geheugen-invoer (DGI-apparaat) (12) en koppelingsmiddelen om een aantal rand-apparaten (17 tot 24) aan het DGI-apparaat te koppelen bevat, gekenmerkt doordat de koppelingsmiddelen in staat zijn om een aantal randapparaten, 5 groter dan het aantal DGI-kanalen, aan het DGI-apparaat te koppelen, waarbij ten minste één kanaal wordt gedeeld door randapparaten via een arbitragecircuit (11), waarbij arbitragegegevens van de randapparaten worden vergeleken met arbitragegegevens die in het arbitragecircuit zijn geprogrammeerd ten einde de actuele (Engels "current") toegang tot een 10 gedeeld kanaal te bepalen.
2. Computersysteem volgens conclusie 1, waarin ieder randapparaat een arbitrageregister (70) omvat om de arbitragegegevens te bevatten, en waarbij het arbitrageregister is gekoppeld voor het invoeren van gegevens vanuit de centrale verwerkingseenheid (CVE) (10) van het systeem.
3. Computersysteem volgens conclusie 1 of 2, waarin ten minste één kanaal een toepassingsgericht kanaal is dat is gekoppeld aan een enkel randapparaat, en waarin voor het, of voor ieder, toepassingsgericht kanaal het arbitragecircuit arbitragegegevens uit het gekoppelde randapparaat vergelijkt met vooraf ingestelde arbitragegegevens ten einde toegang tot 20 het toepassingsgerichte kanaal te bepalen.
4. Computersysteem volgens conclusie 3, waarin de vooraf ingestelde arbitragegegevens worden bepaald door schakelmiddelen in het arbitragecircuit.
5. Computersysteem volgens één der voorgaande conclusies, waarin voor 25 het, of voor ieder, gedeeld kanaal het arbitragecircuit registermiddelen (41) omvat om arbitragegegevens van de centrale verwerkingseenheid (CVE) van het systeem te ontvangen en vergelijkingscircuitmiddelen (42, 43) om gegevens van de registermiddelen te vergelijken met de arbitragegegevens van de randapparaten die het kanaal delen om een vergelijkingsuitvoer te 30 verschaffen als de vergeleken gegevens gelijk zijn.
6. Computersysteem volgens conclusie 5, waarin de vergelijkingsuitvoer invoer van een DGI-verzoek naar het DGI-apparaat verschaft. .8800715 BC9-86-010 *>
7. Werkwijze voor het koppelen van een aantal randapparaten aan een apparaat voor veelkanaals directe geheugeninvoer (DGI-apparaat) van een computer, met het kenmerk, dat een DGI-kanaal via een arbitragecircuit met meerdere randapparaten wordt verbonden, waarbij het arbitragecircuit 5 arbitragegegevens uit de randapparaten vergelijkt met vergelijkings-arbitragegegevens en op grond van de resultaten van die vergelijking de actuele (Engels ‘'current") toegang tot het gemeenschappelijk DGI-kanaal bepaalt.
8. Werkwijze volgens conclusie 7, waarbij de vergelijkingsarbitra-10 gegegevens geprogrammeerd zijn in het arbitragecircuit.
9. Werkwijze volgens conclusie 7 of 8, waarbij de arbitragegegevens van een randapparaat worden opgeslagen in een arbitrageregister in het rand-apparaat, en waarbij het arbitrageregister gegevens vanuit de centrale verwerkingseenheid (CVE) van het systeem ontvangt wanneer het randapparaat 15 is aangesloten.
10. Werkwijze volgens één der conclusies 7 tot 9, waarbij een toepassingsgericht DGI-kanaal is verbonden met slechts één randapparaat, waarbij het arbitragecircuit de arbitragegegevens uit het verbonden randapparaat vergelijkt met vooraf ingestelde arbitragegegevens en op grond 20 van het resultaat van die vergelijking bepaalt of toegang via het DGI-kanaal kan woren verkregen.
11. Werkwijze volgens conclusie 10, waarbij de arbitragegegevens in het arbitragecircuit worden ingesteld door middel van schakelmiddelen.
12. Werkwijze volgens één der conclusies 7-11, waarbij registermiddelen 25 van het arbitragecircuit voor een gedeeld DGI-kanaal arbitragegegevens vanuit de centrale verwerkingseenheid (CVE) ontvangen en waarbij deze arbitragegegevens worden vergeleken met arbitragegegevens vanuit de randapparaten die het kanaal delen, waarna, als de vergeleken gegevens overeenstemmen, vergelijkingsuitvoer wordt gegeven.
13. Werkwijze volgens conclusie 12, waarbij de vergelijkingsuitvoer de invoer van een DGI-verzoek naar het DGI-apparaat omvat. .8800715 BC9-86-010
NLAANVRAGE8800715,A 1987-03-27 1988-03-23 Computersysteem met directe geheugeninvoer. NL185106C (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US3078687 1987-03-27
US07/030,786 US4901234A (en) 1987-03-27 1987-03-27 Computer system having programmable DMA control

Publications (3)

Publication Number Publication Date
NL8800715A true NL8800715A (nl) 1988-10-17
NL185106B NL185106B (nl) 1989-08-16
NL185106C NL185106C (nl) 1990-01-16

Family

ID=21856024

Family Applications (1)

Application Number Title Priority Date Filing Date
NLAANVRAGE8800715,A NL185106C (nl) 1987-03-27 1988-03-23 Computersysteem met directe geheugeninvoer.

Country Status (17)

Country Link
US (1) US4901234A (nl)
EP (1) EP0288607B1 (nl)
JP (1) JPS63244158A (nl)
KR (1) KR950008227B1 (nl)
CN (1) CN1013068B (nl)
AR (1) AR240681A1 (nl)
AT (1) ATE81220T1 (nl)
BE (1) BE1000819A3 (nl)
DE (3) DE3782045T2 (nl)
ES (1) ES2035027T3 (nl)
FR (1) FR2613095A1 (nl)
GB (1) GB2202977B (nl)
GR (1) GR3006676T3 (nl)
HK (2) HK33692A (nl)
IT (1) IT1216132B (nl)
NL (1) NL185106C (nl)
SG (1) SG13092G (nl)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185864A (en) * 1989-06-16 1993-02-09 International Business Machines Corporation Interrupt handling for a computing system with logical devices and interrupt reset
US5307468A (en) * 1989-08-23 1994-04-26 Digital Equipment Corporation Data processing system and method for controlling the latter as well as a CPU board
DE3928481C2 (de) * 1989-08-29 1994-09-22 Diehl Gmbh & Co Prioritätsorientiertes dezentrales Busvergabesystem
EP0453863A2 (en) * 1990-04-27 1991-10-30 National Semiconductor Corporation Methods and apparatus for implementing a media access control/host system interface
US5974015A (en) * 1990-05-14 1999-10-26 Casio Computer Co., Ltd. Digital recorder
US5519684A (en) * 1990-05-14 1996-05-21 Casio Computer Co., Ltd. Digital recorder for processing in parallel data stored in multiple tracks
ATE137038T1 (de) * 1990-08-31 1996-05-15 Advanced Micro Devices Inc Übertragungssteuerungssystem für einen rechner und peripheriegeräte
US5581530A (en) * 1990-09-06 1996-12-03 Casio Computer Co., Ltd. Digital recorder for processing of parallel data stored in multiple tracks and using cross-fade processing
JPH0727507B2 (ja) * 1991-02-19 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション チャネル選択アービトレーション
US5530901A (en) * 1991-11-28 1996-06-25 Ricoh Company, Ltd. Data Transmission processing system having DMA channels running cyclically to execute data transmission from host to memory and from memory to processing unit successively
US6026443A (en) * 1992-12-22 2000-02-15 Sun Microsystems, Inc. Multi-virtual DMA channels, multi-bandwidth groups, host based cellification and reassembly, and asynchronous transfer mode network interface
US5640598A (en) * 1994-07-12 1997-06-17 Mitsubishi Denki Kabushiki Kaisha Data transfer processing system
US5495614A (en) * 1994-12-14 1996-02-27 International Business Machines Corporation Interface control process between using programs and shared hardware facilities
JP3320233B2 (ja) * 1995-02-06 2002-09-03 キヤノン株式会社 記録装置
US5664197A (en) * 1995-04-21 1997-09-02 Intel Corporation Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller
US5761534A (en) * 1996-05-20 1998-06-02 Cray Research, Inc. System for arbitrating packetized data from the network to the peripheral resources and prioritizing the dispatching of packets onto the network
US6154793A (en) * 1997-04-30 2000-11-28 Zilog, Inc. DMA with dynamically assigned channels, flexible block boundary notification and recording, type code checking and updating, commands, and status reporting
US6092137A (en) * 1997-11-26 2000-07-18 Industrial Technology Research Institute Fair data bus arbitration system which assigns adjustable priority values to competing sources
US6473780B1 (en) * 1998-04-01 2002-10-29 Intel Corporation Scheduling of direct memory access
US6260081B1 (en) * 1998-11-24 2001-07-10 Advanced Micro Devices, Inc. Direct memory access engine for supporting multiple virtual direct memory access channels
US7089344B1 (en) * 2000-06-09 2006-08-08 Motorola, Inc. Integrated processor platform supporting wireless handheld multi-media devices
JP2003006003A (ja) * 2001-06-18 2003-01-10 Mitsubishi Electric Corp Dmaコントローラおよび半導体集積回路
JP4245852B2 (ja) * 2002-03-19 2009-04-02 富士通マイクロエレクトロニクス株式会社 ダイレクトメモリアクセス装置
US7062582B1 (en) 2003-03-14 2006-06-13 Marvell International Ltd. Method and apparatus for bus arbitration dynamic priority based on waiting period
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
US7240129B2 (en) * 2004-02-25 2007-07-03 Analog Devices, Inc. DMA controller having programmable channel priority
US7533195B2 (en) * 2004-02-25 2009-05-12 Analog Devices, Inc. DMA controller for digital signal processors
US7130982B2 (en) * 2004-03-31 2006-10-31 International Business Machines Corporation Logical memory tags for redirected DMA operations
US8006001B2 (en) * 2004-09-22 2011-08-23 Lsi Corporation Method and apparatus for manipulating direct memory access transfers
US7386642B2 (en) * 2005-01-28 2008-06-10 Sony Computer Entertainment Inc. IO direct memory access system and method
US7680972B2 (en) * 2005-02-04 2010-03-16 Sony Computer Entertainment Inc. Micro interrupt handler
JP2006216042A (ja) * 2005-02-04 2006-08-17 Sony Computer Entertainment Inc 割り込み処理のためのシステムおよび方法
US7483422B2 (en) * 2005-02-10 2009-01-27 International Business Machines Corporation Data processing system, method and interconnect fabric for selective link information allocation in a data processing system
US7395361B2 (en) * 2005-08-19 2008-07-01 Qualcomm Incorporated Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth
WO2007023975A1 (ja) * 2005-08-22 2007-03-01 Ssd Company Limited マルチプロセッサ、ダイレクトメモリアクセスコントローラ、及びシリアルデータ送受信装置
JP4499008B2 (ja) * 2005-09-15 2010-07-07 富士通マイクロエレクトロニクス株式会社 Dma転送システム
US7689732B2 (en) * 2006-02-24 2010-03-30 Via Technologies, Inc. Method for improving flexibility of arbitration of direct memory access (DMA) engines requesting access to shared DMA channels
CN106294233B (zh) * 2015-06-29 2019-05-03 华为技术有限公司 一种直接内存访问的传输控制方法及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE622921A (nl) * 1961-10-06
US3766526A (en) * 1972-10-10 1973-10-16 Atomic Energy Commission Multi-microprogrammed input-output processor
IT971304B (it) * 1972-11-29 1974-04-30 Honeywell Inf Systems Sistema di accesso a priorita variabile dinamicamente
US4075691A (en) * 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4400771A (en) * 1975-12-04 1983-08-23 Tokyo Shibaura Electric Co., Ltd. Multi-processor system with programmable memory-access priority control
US4090238A (en) * 1976-10-04 1978-05-16 Rca Corporation Priority vectored interrupt using direct memory access
US4257095A (en) * 1978-06-30 1981-03-17 Intel Corporation System bus arbitration, circuitry and methodology
US4437157A (en) * 1978-07-20 1984-03-13 Sperry Corporation Dynamic subchannel allocation
CA1132265A (en) * 1978-12-26 1982-09-21 Minoru Inoshita Direct memory access revolving priority apparatus
US4558412A (en) * 1978-12-26 1985-12-10 Honeywell Information Systems Inc. Direct memory access revolving priority apparatus
US4281381A (en) * 1979-05-14 1981-07-28 Bell Telephone Laboratories, Incorporated Distributed first-come first-served bus allocation apparatus
US4371932A (en) * 1979-07-30 1983-02-01 International Business Machines Corp. I/O Controller for transferring data between a host processor and multiple I/O units
US4516199A (en) * 1979-10-11 1985-05-07 Nanodata Computer Corporation Data processing system
IT1209338B (it) * 1980-07-24 1989-07-16 Sits Soc It Telecom Siemens Disposizione circuitale per il trasferimento di dati tra la memoria di un elaboratore elettronico e le unita' di interfaccia delle periferiche ad esso collegate.
JPS58223833A (ja) * 1982-06-23 1983-12-26 Fujitsu Ltd ダイレクト・メモリ・アクセス制御方式
US4528626A (en) * 1984-03-19 1985-07-09 International Business Machines Corporation Microcomputer system with bus control means for peripheral processing devices
US4688166A (en) * 1984-08-03 1987-08-18 Motorola Computer Systems, Inc. Direct memory access controller supporting multiple input/output controllers and memory units
JPS61131153A (ja) * 1984-11-30 1986-06-18 Toshiba Corp Dma転送制御方式
JPS61133461A (ja) * 1984-12-04 1986-06-20 Fujitsu Ltd Dma転送制御方式
US4847750A (en) * 1986-02-13 1989-07-11 Intelligent Instrumentation, Inc. Peripheral DMA controller for data acquisition system

Also Published As

Publication number Publication date
GB8728927D0 (en) 1988-01-27
JPH0467224B2 (nl) 1992-10-27
DE3810231C2 (nl) 1989-10-26
BE1000819A3 (fr) 1989-04-11
DE3782045D1 (de) 1992-11-05
IT8819827A0 (it) 1988-03-18
DE3782045T2 (de) 1993-04-15
GB2202977B (en) 1991-07-24
KR950008227B1 (ko) 1995-07-26
CN88100962A (zh) 1988-12-14
AR240681A1 (es) 1990-08-31
NL185106C (nl) 1990-01-16
DE8804104U1 (nl) 1988-06-30
GR3006676T3 (nl) 1993-06-30
ES2035027T3 (es) 1993-04-16
IT1216132B (it) 1990-02-22
CN1013068B (zh) 1991-07-03
GB2202977A (en) 1988-10-05
ATE81220T1 (de) 1992-10-15
FR2613095A1 (fr) 1988-09-30
HK1000295A1 (en) 1998-02-20
JPS63244158A (ja) 1988-10-11
EP0288607B1 (en) 1992-09-30
SG13092G (en) 1992-04-16
EP0288607A1 (en) 1988-11-02
NL185106B (nl) 1989-08-16
HK33692A (en) 1992-05-15
KR880011675A (ko) 1988-10-29
DE3810231A1 (de) 1988-10-06
US4901234A (en) 1990-02-13

Similar Documents

Publication Publication Date Title
NL8800715A (nl) Computersysteem met directe geheugeninvoer.
US4920486A (en) Distributed arbitration apparatus and method for shared bus
US4972313A (en) Bus access control for a multi-host system using successively decremented arbitration delay periods to allocate bus access among the hosts
US4621342A (en) Arbitration circuitry for deciding access requests from a multiplicity of components
KR100385871B1 (ko) 인터럽트 제어기
EP0343770B1 (en) Multi-bus microcomputer system with bus arbitration
EP0383475A2 (en) Shared resource arbitration
US5239651A (en) Method of and apparatus for arbitration based on the availability of resources
US4374414A (en) Arbitration controller providing for access of a common resource by a duplex plurality of central processing units
GB1392231A (en) Switching system
US4374413A (en) Arbitration controller providing for access of a common resource by a plurality of central processing units
WO1980002608A1 (en) Distributed first-come first-served bus allocation apparatus
US4236203A (en) System providing multiple fetch bus cycle operation
US4611275A (en) Time sharing device for access to a main memory through to a single bus connected between a central computer and a plurality of peripheral computers
NL8120044A (nl) Stelsel voor snelle overbrenging van berichten tussen computers.
US5241661A (en) DMA access arbitration device in which CPU can arbitrate on behalf of attachment having no arbiter
US4901226A (en) Inter and intra priority resolution network for an asynchronous bus system
US5038274A (en) Interrupt servicing and command acknowledgement system using distributed arbitration apparatus and shared bus
US5931931A (en) Method for bus arbitration in a multiprocessor system
US4376975A (en) Arbitration controller providing for access of a common resource by a plurality of central processing units
US5241629A (en) Method and apparatus for a high performance round robin distributed bus priority network
US4774660A (en) Increased bandwidth for multi-processor access of a common resource
US4894769A (en) Increased bandwith for multi-processor access of a common resource
US4773037A (en) Increased bandwidth for multi-processor access of a common resource
EP0283580B1 (en) Computer system with direct memory access channel arbitration

Legal Events

Date Code Title Description
A1C A request for examination has been filed
V1 Lapsed because of non-payment of the annual fee