Post on 05-May-2020
Eindhoven University of Technology
MASTER
Opbouw van een netwerk van gedistribueerde processoren
Wormmeester, E.J.
Award date:1982
Link to publication
DisclaimerThis document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Studenttheses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the documentas presented in the repository. The required complexity or quality of research of student theses may vary by program, and the requiredminimum study period may vary in duration.
General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.
• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain
APDELllfG DER ELEK'l'ROTECBHIEX
'l'ECBNISCBE BOGESCBOOL
EINDHOVEN
Vakgroep Digitale Systemen .
L:~1-1NISCHt: HOGESCHOOl.
EINDliOVI..N
I- STUDlE81BLlOTHEEK ft.___E_LE_-K_l_·A_O_T_E__'-C~i'.,..;i"~j..E!<~.~~I~~U;'.
.opbouw van een netwerk van
gedistribueerde p~ocessoren.
door E.J.Wormmeester.
Rapport van het afstudeerwerk
uitgevoerd van febr.~981 tim mei 1982
in opdracht van prof.ir.A.Beetman
onder ~eiding van ir.B.H.J.H.Dortmans
en ir.J.Xemper.
- 2 -
De afdeling der elektrotechniek van de technische hoge
school Eindhoven aanvaardt geen verantwoordelijkheid voor de
inhoud van dit rapport.
- 3 -
Samenvatting.
In dit verslag worden twee ontwerpen voor gedistribueerde
computer systemen beschreven. De ontwerpen verzorgen
zelfstandig de cOllllllunicatie tussen de a&ngesloten apparatuur
onderling, zodat "parallel processing" van jobs en tuu
.:>gelijk is.
Bet eerste ontwerp betreft een groot &ysteem _t zeer snel
le cOlllllunicatie (10 MBaud) op data niveau en snelle coamaunica
tie (1 MBaud) op cOlllmand niveau. De data co.lunicatie loopt
daarbij in de centrale over 88n non-blocking schalcelnetwerk,
zodat de verschillende data stromen elkaar niet vertragen.
Alle COlllDand cOllllllunicatie loopt in de centrale over een enkel
voudige coamunlcatie bus. Bierdoor kunnen cOlDllWll\d berichten wel
enigszins vertraagd worden.
Bet tweede ontwerp betreft een kleine.r &ysteem_ met snelle
data en command comaunicatie over een eokelvoudige verbinding
naar de centrale en een non-blocking schakelnetwerk in de cen
. trale. De data en cOlDlllAnd cOllllllWlicatie· lopen hierb~j dua over
dezelfde verbindingen.
In de bijlagen worden hardware realisaties behandeld voorl
I Serieele cOBllllunicatie van ..erdere zenders over een enkel
voudige bus,
II Serieele cOllllllunicatie (op 1 Mbaud) met galvanische ontkop
peling over een verbinding van eokele tiental1en meters,
III: Serieele cOllllDunicatie volgens BOLe-protocol <Wer een ..
trix.
Slotwoord.
Verklaring van de gebruikte afltortingen.
Literatuur.
Bijlage 11.II.J.
11.2
Bijlage III.
III.J.
111.2
111.3Bijlage IV.
Conclusies en
- 5 -
De line drivers I isolating receivers.
De line drivers.
De isolating receivers.
De Matrix Communication Controller.
De fla.g generator.
De transmitter aynchronisatie.
De bus interface logic.
De clock signalen.
aanbevelingen.
blz.
60
6J.
63
66
67
68
7J.
74
76
77
78
79
- 7 -
De voordelen van de nieuwe opze~ z1Jns
1. De CPO hoeft zich niet meer _~ alle cOlllDlunicatie bezig ~e
houden.
2. Er kunnen meerdere (gespeciaJ.iseerde) CPO- s worden toege
pa.s~.
3. Be~ sys~eem lean eenvoudig worden ui~gehreid.
4. Ui~val van een CPU leidt niet meer ~o~ het ui~valen van he~
hele syet....
om een opzet volgens figuur 0.2 te reaJ.iseren, is be~ nodig
&an elk apparaa~ ( device ) in~elligentie en buffers ~oe ~e
V08gen. Bet resul~aat biervan III08t zijn, da~ vanui~ de cen~raJ.e
heschouwd, alle apparatuur op dezelfde vijze wordt aangestuurd.
Voor de centrale hestaan er dus geen cardreaders, keyboards,
tape uni~8, diBks, CPU- s, beeldschexmen of pri.n~ers. De centra-
o[
0HMUNI[
ATI0N
[·fNTRf
.. -
Piguur 0.2
De nieuwe opbouw van het computer syateea.
- 8 -
le kent: alleen input: devices, st:orage devices, processor
devices en out:put: devices (zie lit:.4 hfd.6).
In de eerst:e vier hoofdst:ukken wordt: &en opzet: uit:gewerltt:,
die le1.dt: t:ot: een zeer snel en groot: &yst:e8ll. In de daarop
volgende hoofdst:ukken wordt: een ltleiner syst:e8ll uit:gewerltt:.
In de bijlagen worden de hardware realisat:ies van enkele
SPeciale serieele CODIIIlwUcat:ie cont:rollers besproken. Deze
cont:rollers zijn t:oegePa8t: in de &yst:eem ontwerpen.
Boofdstuk 1.
- 9 -
Opbouw van een intelligent netwerk.
•
Bet hier te bespreken ontwerp behandelt een netwerk dat
allerlei digitale apparatuur (device8) met elkaar verbindt.
Een device kan daarbij b.v. een cardreader. een printer of ean
disk-unit zijn. maar ook een volledig computersysteem al8 de
Burroughs-7700.
De device8 zelf kunnen alleen datgene, waarvoor ze zijn
ontworpen. Wij willen echter dat de devices met elkaar kunnen
co_uniceren. In ons netwerk wordt daarom aan ieder device
intelligentie en buffercapaciteit toegevoegd. ZO-n device met
extra intelligentie en buffercapaciteit noemen we in bet
vervolg een PIFO (Pully Independent Punctional. Onit ) ( zie
£iguur 1.1).
DanJtzij deze toevoegingen zijn de PIFO,- s te bes~houwen als
eenheden die bepaa1de taken geheel zelf8tandig kunnen
uitvoeren. Dit laat8te kan op verzoek worden gedaan (b.v. een
printopdracht voor een printer) maar ook op-' eigen' . ini.tiatief
(b.v. het lezen van kaarten door een cardreader). Voor een
verdere uitwerking hiervan wordt verwezen naar literatuur "
hfd.2 en 3.
Een opdracht die een device van een gebruiker ontvangt,
noemen we een job. Om een job door het totale 8ysteem te laten
uitvoeren, moeten de ver8chillende taken (task8) van ean
opdracht (job) met de bijbehorende gegeven8 (datapointers die
naar de benodigde datafile8 verwijzen) worden doorgegeven van
de ene PIFO naar de andere PIFO (zie ook lit." hfd.").
'\.
r - - -. - - - - - - -
buffersDevice
)J p·s
FIFU
figuur 1.1
Componenten van een FIFO.
-tL--data
I-rl--- command
J
- 10 -
Voor het verwerken van een job wordt deze eerst
onderverdeeld in een jObdescription, taskdescriptions,
da.tapointers en datafiles (zie ~it." hfd.1 en 2). De eerste
drie zijn hoofdzakelijk korte berichten; de datafi~es zul~en
veelaJ. . lange berichten Z1Jn. Voor deze twee soorten
berichtenstromen zijn twee aparte verbindingen ontworpen.
De jobdescription, de taskdescriptions en de datapointers
worden over de ·command· verbindingen doorgegeven van de PIPO
naar zijn CIU (Command Interface Unit). De CIU· s staan dicht
bij elkaar en in directe verbinding met elkaar via de command
lijnen (Deze lijnen worden in de rest van het versag de
. inter-cIU ~ijnen' genoeDld) . via het cODlllland netwerk in de
centrue hebben de PIPO· s dus een mogelijkheid tot cOllllllunicatie
met elkaar (zie figuur 1.2).
matrix kolom li'nen
FIFU FIFU
2 n
command li"nen
DIU1
--------------
FIFU
1
datamatrix
comma~netw.
figuur 1.2
B10kschema van de gekoppelde intelligente devices.
- 11 -
Voor het verzenden van de (grote) datafiles ataan aparte
"data" verbindingen tussen de PIPO" s ter beschiklc:ing. Deze
verbindingen laten een hoge baudrate toe en bezitten in de
centrale een matrix-structuur, waardoor de datatransporten
gelijktijdig en toch onafhankelijk van elkaar plaats kunnen
vinden. Deze matrix-structuur is gerealiseerd m.b.v. een DIU
(Data Interface Unit) en de matrix kolomlijnen (zie ook
hoofdstuk 4). De DIU vormt in feite een "passief" doorgeefluik,
dat in de gewenste stand gezet kan worden door de CIU.
In de volgende hoofdstukken wordt nader ingegaan op de
opbouw en de realisatie van de hier besproken blokken.
- 12 -
Boofdstuk 2. Opbouw van de CIU' s .
De COlllllal1d Interface Unit (CIU) is opgebouW'd vo1gens het
blokschema. van figuur 2 .1.
om ervoor te zorgen dat de verschillende onderdelen van de
CIO zovee1 mogelijk onafhanke1ijk kunnen werken, is gekozen
voor een opbouw met Io-Processoren ( lOP) in
remote-configuratie. Cit levert een opbouw voor de CIU' e
volgens figuur 2.2. Door deze keuze lean het gehee1 in blokken
worden onderverdeeld, die alleen via een Dlultimaster (eyste..... )
bus met elkaar zijn verbonden (zie Intel Hultibus
Specification; documentnwaber 9800683). !fede hierdoor is het
haalbaar en zelfs aantrekkelijk, om de verschillende blokken op
aparte prints te bouwen.
In de volgende paragrafen worden de verechillende blokken
behandeld.
r - -------I
0 matrixI I
contr.UI mul-
I command
Ibuffermemo t i
f
I bus pr: contr:
I commandI camm.
contr.I
I command
Iprocessor
Iin~er-C IU
I comm.contr.-_ •..- ~_.' ..
figuur 2.2--
Opbouw van de CIU.
figuur 2.1
B1okschema. van de CIU.
IIt
DIU I control1"1
II
com-I Vt ...
com- status mand
~mand 'II v
FIFUcomm. !'l...JIcommand ~
I ~ buffercontr: memo ~ pro-I ces-
I sor
I I IA ....
inter. inter- status -
~ CIUI'll 101
CIU~ command 1\...1'
Iij nen Icamm. buffercontr. N"1' memo ~
13 -
2.1 De Command Processor.
De Command Processor (CP) verricht de verwerkingstaken van
de CIa. De CP meet de ontvangen berichten interpreteren,
admi.nistreren en tevens de benodigde respons initia.liseren. Bet
samenstellen van nieuwe berichten, behoort ook tot de taak van
de CP. Voor het uitvoeren, doorgeven resp. ontvangen van
berichten staat de CP indirect in verbindinq met zijn DIU, zijn
PIFO en met de andere CIU· s •
De berichten van de CP naar de DIU bestaan louter uit
opdrachten een bePaalde verbinding te rea.liseren. Berichten van
en voor de FIFO lopen via een command buffer van en naar de
command communication controller. Berichten van en voor de
andere CIU· s lopen via een command buffer van en naar de
inter-eIU communication controller.
De cp-print bestaat uit de CPU met zijn clockgenerator, een
hoeveelheid geheugen, een timer, een interrupt controller en
een busseparator (zie figuur 2.3). De aangegeven geh~ugengroot-
-~--
,.------- -II I mclock gen.~
bus arb.u
8284I
8289I I IJl I I t
timer int. contr.I I iCPU I bus cont r. I
8253 8259I
8086 I 8288 I mI I aI
latch I I Sc
local bus T tI
~.. 8282I e
.----.. I I rlatch PROM
, IJ IRAM -;-J' transc.
8282 ¢b
""16k "" B k I -J; 8.286 u1 r 1 r I bus separator I s
---------.----. ao.-
decoders-
8205.- -
.....--figuur 2.3
Opbouw van de Command Processor.
- 14 -
te is slechts als ordegrootte indicatie bedoeld. De timer is
toegevoegd om mogelijk te malten dat de CPU wordt gewaarschuwd
als de respons op een door hem geinitialiseerd bericht te lang
op zich laat wachten. De interrupt: controller ia toegevoegd,
omdat de CPU zowel van de beide communicatie controllers als
van de timer een aeintje meet kunnen krijgen, dat een bericht
klaar staat resp. dat een bericht te lang op zich laat wachten.
De bU8separator best&&t uit een busarbiter (8289), een
buscontroller ( 8288 ), twee ( adres- )latches ( 8282 ) en 1:wee
(data-) transceivers (8286). Samen leveren zij de koppeling
tussen de 10ka1e bus en de multimaater bus.
Dankzij de busseparator k&n de CP vrijwel ongestoord een
programma afwerken. Alleen tijdens het ophalen/wegzetten van
gegevens uit/in het command buffer memory wordt de CP SOBIS iets
vertraagd, als andere controllers tegelijkertijd in dat geheu
gen willen werken. Aangezien de instructie fetch al~ijd in-- het
lokale geheugen plaats vindt, kan de multimaster bus vrijwel
zeker nooiteen bottle-neck gaan vonten.
Daar het gehele CIU~perating system (prograJllDa)bij de CP
zit, IIlOet er vrij veel ruiDrte voor PROM" s en RAM" s worden
gereserveerd op de CP-print.
2.2 De Command Communication Controller.
De Coamulnd Communication Controller (CCC) zorgt voor de
cOllllllunicatie· tUBsen de CIU en zijn PlFO. De contoller zorgt
daarbij voor l
Bet testeD/in stand houden van de verbinding
Bet doorgeven van berichten naar de l!'IFU
Bet ontvangen van berichten van de PlFO
Bet cOlDlDunicatie protocol.
De CCC dient hierbij zo veel mogelijk zelfstandig te werken.
Bet her~alen . ( of om herhaling vragen) van een verminkt
overgekomen bericht, behoort dus ook tot de ta8k· van deze
controller •. De vereiate .snelheid varLde_ berichten overdracht
uaaalc1: toegang tot het (command buffer) geheugen op mm.-basis
noodzakelijk. Al deze funeties tezamen kunnen worden
gerealiseerd m.b.v. een Bigh-level Data Link Controller (8274),
i~ combinatie met een Io-Processor (8089) (zie figuur 2.4).
- 15 -
-,--'"
,---------- II
II
I ine drivers clock gen. bus arb.~ ,IT
FIFU~ iso. rec. 8284 I 8289 ~ uI
JC JLI Ir- ,I
tim e rI tHOLe lOP I bus contr.~hl 8253 ~ I'~
,8274 8089 I 8288 I
I <; lo I I mT 1Il
I
G~ ~ ~ , I latcha
local bus l- I S
I . I 8282 ~t
I e.....---.. I
~latch PROM RAM ~ transc.r
J8282 '" 4 k '" 2 k I v _.8286 ~ b
i i 1 rI uI II bus separator t s
L - - - -- - - --decoder
.'--
8205 _l.--"""'figuur 2 .•
Opbouw van de COIIIID&ll<i C~un1cation Controller.
De co_unicatie tussen de CCC en de cOllllll&l1d processor vindt
.plaats via een geheugen (het ea-a.nd buffer metaOry).
De CCC-print bestaat uit 88n lOP met zijn clockgenerator,
88n HOLe controller, een timer, geheugen en een busseparator.
De print bevat tevens de line drivers en de isolating receivers
voor de verbindingen met de PlPO. De line drivers &ijn buffers
voor het sturen van een SO Ohm lijn. De isolating receivers zijn
opto-couplers ...t wat fase-herstel loqica era.heen. De t~r
heeft als taak, de processor een seintje te geven als respons
op een bericht aan de PlPU te lang op zich laat wachten. In het
lokale geheugen hoeven aIleen de cOIIlIIlunicatie subroutines
( start, .stop, herhaal, etc) te staan. Da.arom is er slechts. . .
weinig ru1mte voor RAM". en PROM"s gereserveerd op de
CCc-print. De aangegeven -geheugengrootte is weer als
ordegrootte indicatie bedoeld. De bU8seParator is analoog aan
die van de command processor.
-·1.6 -
2.3 De Inter-CIU Communication Controller.
De Inter-CIU C08llllunication COntroller (ICCC) zorgt: voor de
comaunicatie tussen deze CIU en de andere CIU"s. De controller
zorgt: daarbij voor:
Bet doorgeven van commando"s aan de andere CIU"s
Bet ontvangen van COllllD&ndo" s voor deze cm van andere
CIU"s
Bet comaunicatie protocol.
De leec dient bierbij zo veel moqelijk zelfstandig te
werken. Bet herba1en (of om herbaling vragen) van een veXDlinkt
overgekomen bericbt en bet bevestigen van een goede ontvangst.
beboren tot de taken die de leec onafhankelijk moet kunnen
verricbten. Gezien de vereiste snelheid van de - bericbten.
zullen deze op DM-basis in bet ( command buffer) gebeuqen
moeten worden gezet. Aangezien alle CIU"s in contact meeten
kunnen treden met alle andere CIU"s. kan er voor de
comeunicatie lijnen een matrixvoJ:8l worden gekozen. Bij de
verwachtte belaating van die verbinding. lijkt bet voorlopig
voldoende om een enkele enelle serieele lijn te realiseren.
Een parallelle data-bus verbinding zou bier ook kunnen. aaar
dan zouden er speciale lijnen en/of bardware nodig zijn voor
bet bepalen van de zender INtt de booqste prioriteit. Hocbten de
inter-CIU lijnen een bottle-neck van bet syatee. g&&n vor-en.
dan lijkt de aaatrixvormi.ge opzet (met variabel zendadres en
vast ontv&ngstadres) een betere keuze.
Voor de realisatie van de Icee is er beboefte aan &en enelle
serie~le cOD1Dlunicatie controller. die bericbten ontvangt: en
zendt over een gemeenscbappelijke lijn. De lijn meet
functioneren zonder een centrale contro1.ler. Deze zou bet
gedecentraliseerde karakter van bet bele oni:werp ( met de
daarbij beborende voordelen) namelijk weer teniet doen en
wa&rscbijnlijk de eerste bottle-neck gaan vormen bij bogere
belaatingsgraden van het gebele &ystee•.
Aangezien we geen eerieele communicatie O9ntroller behben
gevonden die aan al onze eisen voldoet, is biervoor een
controller ontworpen' en' gereaJ.iseerd-••b-.v. baais coaponenten
(zie biervoor bij lage I). De ICee kan nu worden gerealiseerd
•.b. v. een lOP (b. v. de 8089 va:n . Inte]. ) en voornoemde serie4Ue
communicatie controller (zie figuur 2.5).
- 17 -
---- .......
in t er- ._------ -.CIU I I
lijnen clock gen. t bus arb.I m
/' r-+-l u8284 I 8289 I I
I I
J J~ ..r;-- It
IS eria I ti mer lOP I bus contr. I I
l.........:) ..comm.contr. 8253 8089 I 8288 I Pm
T r T I I aI
I :L s,""
I Iat chlocal bus I I t
I 8282~ I
eI r
r----. I I
la tc h PROM RAM ~ transc. UI ..bI T
8282 ..... 4 k ..... 2 k I r 8286~I
U- '-- ----- -~ II
~ i 'f - - sI I-I bus separator I
---------- decoder - -
-8205 .... .-:....1.-
figuur 2.5
Opbouw van de Inter-eIO Communication Controller.
De Icee-print bevat dU8 een lOP I1118t zijn clockgenerator, de
8p8ciaal ontworpen 8erieele communicatie controller, geheugen,
een bU88eparator en een timer. De aangegeven geheugengrootte 18
weer al8 ordegrootte indicatie bedoeld. - De timer maaltt het
mogelijk om de prioriteit. van een bericht te verhogen al8 het
doorgeven ervan te lang gaat duren. De 8erieele cOBaunicatie
controller heeft namelijk al~ 8peciale eigen8chap, dat er
(zodra de 8erieele cOllllllunicatie lijn i8 'vrijgegeven door de
laat8te gebruiker) al8 eer8te een prioriteits ~e op de lijn
wordt gezet. Bet inter-eIO bericht met de hoog8te prioriteit
wordt daarna als eerste doorgegeven. De controllers met
berichten van lagere prioriteit g&an automati8ch van de lijn.
Dit alle8 wordt volledig hardware gereal;8eer~, want. software
matig was de gewen8te snelheid niet reali8eerbaar. In bijlaqe
I wordt een hardware reali8atie van zo'n-8erieele communicatie
controller beschreven. De tranBllli.ssie 8nelheid i8 zelf8 zo hoog
gedacht (ca. 2 Mbit/8ec), dat _~Et aanvoer en afvOftr van re8p.
naar het ( command buffer) geheugen op DIO\-basis JDOet
geschieden. Dit laat8te wordt verzorgd door de lOP (8089).
- 18 -
2.4 De matrix controller.
De matrix controller heeft a.l.s enige taak, h8't in de
opgedragen stand zetten van de DIU. Gezien de opzet van de DIU
(zie boofdstuk 4) is dat te realiseren met een enkele a-bits
latch. Deze laatste zet de IlUItiplexers van de DIU in de
gewenste stand. De gehele matrix controller bestaat uit een
latch met een adres-decodering ( zie figuur 2.6) . Bet is
duidelijk niet nodig hier een aparte print voor te reserveren.
Ret plaatsen van de matrix control~er op de ICee-print lijkt de
handigste keuze, want dat is de enige print van de CIU die ni8't
tevens voor de PlPO kan worden gebruikt (zie hoofdstuk :3) •
DIU
..........~~
Idecoder lowe t
i. . . . addr m
a5te
~ latch r....--- 74L5373
data brotU5
~~l.-o
figuur 2.6
Opbouw van de matrix controller. .
- 19 -
2.5 Bet command buffer memory.
Bet collllllal1d buffer memory moet een vrij groot geheugen zijn.
Alle binnengekomen, maar neg niet door de CP vezwerkte
berichten, moeten erin kunnen, terwijl ook voor de uitgaande
collllBal\do· 8 altijd ruimte beschilrbaar moet zijn. Gezien de
benodigde geheugenruimte is er gekozen voor dynaa1sche RAIl· s
met de daarbij benodigde dyn. RAIl controller, adres decoders en
data buffers (zie figuur 2.1).
-,...-"-
dyn.RAM MWTC mcontr. MRDC u
J
8202 addr t
I.-- I
J ~ mdyn. RAM a
I st·
64 k e"i ~ J ~
r
latch latch bu
8282 8282 s
1I J ~data
vI.--,
figuur 2.1
Opbouw van het coaaand buffer _lBOry.
- 20 -
2.6 De bus priority controller.
De bus priority controller moet er voor zorgen, dat er nooit
van meerdere kanten tegelijk op de aulti.auter bus wordt
gewerkt. Daartoe volstaat het gebruik van een priority encoder,
een decoder en een (10 HHz-) oscillator (zie figuur 2.8). De
rest van de benodigdheden zitten al in de busarbiters (8289).
De bus priority controller bevat dermate weinig componenten,
dat hij gemakkelijk op 88n van de andere prints Un worden
bijgev08gd.
..."..... ...
mpro encoder u
I74L5148 t
i
ma
decoder 5t
74L5138 er
boscilla t or '10MHz u
s74L5124 l,.....-~- .figuur 2.8
Opbouw van de bus priority controller.
- 21 -
Boofdst:uk 3. Opbouw van de PlFO.
De Fully Independent: Functional anit: (PI!V) is opgebouwd
volgena het: blokschema. van figuur 3.1. Ook bij de, PIPU' s is weer
gekozen voor een opzet: met: Io-Processoren in de
remot:e-configurat:ie. nit: levert een opbouw voor de PIPO volgens
figuur 3.2. De bericht:enat:rooa is nu als volgt: • Ben bericht:
vana.f de CIa koIlt binnen bij de COIIIIIand cOIaUnication
controller, die het: in bet: COGIID&nd buffer _.,ry zei: • De
C~ Procesaor (CP) wordt: gewaarschuwd, dat: er &en bericht
voor hell staat:. De CP l ..at: het bericht: en ziet b •v • dat er
------~
CIU
deIt--~vi
ce
devicecomm.can tr.
datacamm.
-c-on t.r.
commandcomm.can tr.
commandprocessor
data/comm.. buffer
memo
r-fs pr.contr.1t i
-.mul-
mas-
. t e r
L __
--------
~ databuffer
h memo
~ datarr-, buffer
memo
status d' dr;===:::::;:-'! eVlc e 1"-1.0_-'1 e-~ comm. vi-~ contr. ce
Sal'
I Ir..--_s_t_a....;t;..;:u;...s~_-J da t a I
"-" comm.~ DIU'I"'"'\; contr. I
I
i Iicom- ~ I
status com·mand roo mand I
u commandA...1' comm.~ CIUbuffer contr. I
ron mem.. ~ . _ I~ pro- - -
I II
.f II I
II
II
I1 ces-1
II
I
1- _
figuur 3.1
Blokschema. van de PIFO.
figuur 3.2
Opbouw van de PIPtJ.
- 22 -
om een nieuwe dataf1le wordt gevraagd. De CP zet een verzoek om
de da~1le in het command buffer aemory en meldt d1t &aD de
dev1ce COIIIaIUzUca:t10n controller. Deze laat8te g88ft het verzoek
door aan het dev1ce. Bet device zoekt de file en geeft he. door
&aD de device ClOIIIIIlun1cat10n controller, die h.. in het data
buffer DteJIIOry &et. Zodra het daar in zijn geheel 8taat, wordt
de CP gew&ar8chuw. Deze geeft via de cOllllBAnd cOlBulUcat10n
controller &an de CIU door, dat de file klaar staat. ZOdra de
CIU ..ldt dat de DItJ 1n de j uiste stand 8taat, wordt de data
co-.uzUcat10n controller toe8t..u.ng gegeven, de da~1le te
verzenden. OVer de DIU lijnea ontvangt de data ~cat10n
controller of een beve.-tig1ng van goede ontvangst of 88n
verzoek om herhal1ncj. Al.a de f1le goed overgeJcOBlen 1s, dan
wordt d1t ten8lotte doorgegeven &an de CIU. Andere ber1chten
leveren een 800rtgelijke berichtenatroom. Alle8 wordt vanaf de
COIUlUn1cat10n controller8 1n het datalco.-and buffer ...-oxy. -.
gezet, waarna de belanghebbende wordt gewaarschuwd dat er 1eta
voor hea klaar staat.
In de volgende paragrafen worden de verschillende blOkken
apart; behandeld.
3.1 De Command Proce880r.
De C~d ProceS80r (CP) verricht de verwerk1ngstaken van
de PIFO. De CP zorgt voor de 1nterpretat1e en de verwerk1ng van
de b1nnenkolaende ber1chten, texw1jl de CP tevena u1tgaande
ber1chten samenatelt. Voor het doorgeven van ber1chten staat de
CP via .en coa.a.nd cOllllDUn1cat10n controller 1n verb1nd1ng met:
z1jn CIU. De be~1chten van en naar het 4ev1ce lopen v1a een
device commun1cat10n controller.
De CP-pr1nt bevat een CPU ..t zijn clockgenerator, vrij veel
geheugen, een timer, een interrupt controller en 88n bus
separator. Bet geheugen II08t vr1j groot z1jn, want de CP ver
r1cht al. de verwerk1ngstaken van de PIFO. De aangegeven geheu
gengrootte 1s slecht8 al8 ordegrootte1.ndicat1e· bedoeld, de
fe1te11jk benod1gde geheugengrootte ilJ n9g onbeltend en zal af
hanke11jk z1jn van het 800rt dev1ce dat de PIPU vond:. De and_
- 23 -
re onderde1en verrichten dus &11een cOllllunicatie taken I De
timer is toegevoegd om de CP een seintje te kunnen geven als de
respons op een bericht te lang op zich 1aat wachten .- De
interrupt controller zorqt: ervoor dat de CP van iedere
cOllllunicatie controller of van de timer een seintje kan krijgen
dat een bericht k1aar staat resp. te lang op zich 1aat wachten.
De busseparator bestaat net &1s bij de CIU uit een busaxbiter
(8289), een buscontro11er (8288), tliee (adres-) latches (8282)
en een (data-) transceiver (8286). Deze busseParator maak1: weer
dat de CP zijn taken kan verrichten, zonder vee1 gehinderd t:e
worden door het tege1ijkertijd werken van de comnmicatie
controllers.
Aangezien de CP van de PlPU qua schema in niets verschi1t
1D8t: die van de CIU (zie hoofdstuk 2.1 figuur 2. 3 ), kan hiervoor
deze1fde print worden gebruikt. Bet enige verschi1 tU8sen de CP
van de PIPU en die van de CIU is het programma dat: in de PROM- s
staat.
3.2 De COmmand Communication Controller.
De Command COllllllunication COntroller ( CCC ) zorgt voor de
cOllllllunicatie tussen de PlPO en zijn CIU. De taken die deze
controller bi.nnen de PIPU BIOet verrichten, komen exact: overeen
met die, welke de CCC in de cm II08st verrichten (zie hoofdst:uk
2.2). Bet is dan ook vanze1fspreltend, dat voor de CCC in de PIPU
deze1fde print kan worden gebruikt a1s voor die in de cm.Piguur 2.4 toont de CCC i.n de tot nu toe bereikte mate van
detail.
-3•• 3 " De Device C01Dlllunication Controller.
De Device C01Dlllunication Controller (DeCC) zorgt voor de
communicatie tussen het device en de PlPU.Aangezien het device
bier een protocol voorschrij~, zu11en er ve1e ~n DeCC-8
nodig zijn. Daarmee is de DeCC het enige circuit binnen het sys
- 24 -
teem dat niet universeel toepasbaar is. Waarschijnlijk zal het
veelal nodig Z1]n om het PROM-programma van de device
controller in de PlPO en dat van de cOllllDilnd processor in de cmaf te laten hangen van het type device dat is aangesloten. Zen
universeel programma zou te veel geheugenruimte kosten. De
DeCC-print bevat in ieder geval een Io-Processor met zijn
clockgenerator, een timer, vat gebeugen, een busseparator en
een specifieke device link controller (zie figuur 3.3). Deze
laatste vorlrt de eigenlijke verbinding met bet device. Voor de
lOP kan (i. v . m. de koppeling naar de multi master bus) bet beste
een 8089 worden gekozen. De busseparator is weer betzelfde als
de vorige.
-'--
mi - - - - - - - -I
I I de viceu~
bus arb.I.r I clock gen.
I~ ft
-
8289I
8284t I
i• I r ~ JL ~
I I device~ bus contr. 1 lOP timer
-' link ~ ~m~ I
a 8288 I 8089 contr. 8253s I I T i i I
I ~II J ~t~ latche rr+- I local bus
8282 ::II .:..
1r ~r I
I I
Wl-.,
bI
transc.~ RAM PROM IatchIu 7 8286
5 0, . . . . . . . . 8282I , 1r i r~b~~s~e.a.!:~~r~1
L~decoder
I--
8205-- -
figuur 3.3
Opbouv van de Device Communication Controller.
- 25 -
3.4 De Data Communication Controller.
De Data Communication Controller (DeC) zorqt voor de snelle
data link van deze PIFO vla de DIO"s naar de DeC van een andere
PIFO. De data wordt hierbij niet qelezen of gelnterpreteerd.
Alleen het toevoegen van een CRC, het checken op CRC, het
lndelen In blokken en het nummeren van die blokken behoort tot
de taak van de DeC. Bet herhalen (of OIl herhalinq vraqen) van
een blok is tevens lets dat de DCC zelfstandiq doet. Bet
resultaat is, dat als de DeC wordt gevraagd een file te
verzenden, dit ook altijd correct wordt qeregeld door de DOC.
_.--~
---------,I Im I bus arb. I clock gen. line driversu IA ...
~DIUI~ 8289 I 8284 . ISO. ree.
It I
'----:L JL ~ CI
i II buscontr: lOP data link timerI... I
iLcontroller ~ ~I'" '8253m~T'" 8288 I 8089
a I I .. II
.I :
T5 IA I la tch ~ ., .t I local busI
e I.... 8282 ~l.... " ~ ~
Ir I
I --b~ transc. ~ PROM RAM la tch
I
u~ 8286 !:II "\# 4 k "\# 2 k 8282I
5 II .J i " i i
Ibus separator:---------decoder
1..- -I' 8205 ._l--l-
figuur 3.4
Opbouw van de Data Communication Controller.
- 26 -
De aanvrager (meestal de CP) hoeft zich dus geen zorgen te
maken om dat transport. Hi.j initialiseert het en ontvangt een
gereedmelding.
De DeC-print bevat een Io-Processor met zijn clockgenerator,
een timer, wat geheugen, een busseparator en een speciale
datalink controller met line drivers en isolating receivers
( zie figuur 3.4). De timer is weer toegevoegd om de top te
waarschuwen als een ontvangsthevestiging te lang op zich laat
wachten. De datalink controller moet zorg dragen voor het
toevoegen en ehecken op de CRC aangezien de IOP dat niet in het
vereiste t8lllPO (minstens 1.0 Mbitjs) lean. De linedriver moet een
50 Ohm lijn kunnen sturen, terwijl de isolating receiver
bestaat uit een opto-coupler met wat fase herstel logica
(eventueel hetzelfde schema als in de COIIIDtal1d CODIIRunication
COntroller). De IOP werkt hoof~zakelijk als ~-controller en
heeft dus slechts een geringe geheugenruimte (PRQII en RAIl)
nodig. De busseParator mag ondertussen als bekend worden
verondersteld.
3.5 Bet data/command buffer memory.
Bet data/command buffer memory moet een vrij groat geheugen
zijn. AIle binnenkomende en uitgaande commando's lopen via dit
geheugen, voordat ze worden doorgegeven. tn verband met de
grootte van het hier benodigde ~geheugen is er gekozen voor
dynamische RAM's met de daarbij behorende dynami.ache RAIl
controller, adres decoders en data buffers (zie figuur 2.7).
Aangezien dit geheugen in feite identiek is &an het c01llllUU\d
buffer memory van de CIO, kan hiervoor l')etzelfde type print
worden gebruikt.
- 27 -
3.6 De bus priority controller.
De bus priority controller beveiligt (net als die in de CIU)
het gebruik van de multimaster bus. Boeve1 hier vier
potentieele "masters" zijn i.p.v. drie, is hiervoor geen extra
electronica nodig. oak hier Jean worden volstaan met een
priority encoder, een decoder en een (10 MHz) oscillator (zie
figuur 2.8).
- 28 -
Boofdstuk 4. Opbouv van de DIU.
De Data Interface Unit (DIU) maakt het doorverbinden van de
ene PlPO na.ar de andere PlPO' s lI0gelijk (zie figuur 4.1). Dat
doorverbinden geschiedt in opdracht van de matrix controller in
de CIU en lDOet snel worden gerealiseerd. Gezien de korte
ma.x.iaum overschakeltijd, vallen toepassingen ID8t aechanisc:he
contacten (relais) af. Toepassing van thyristor-matrices (zie
lit. 3 v.a.blz.44) kosten een vrij aanzienlijke hoeveelheid
hardware en vallen af, JDede gezien de gewenste
gedecentraliseerde opzet.
Er is gekozen voor een opzet ID8t vaste zendlijnen en
multiplexers voor de ontvangstlijn selectie (zie figuur 4.2).
Omgekeerde opzet (vaste ontvangstlijnen en omschakelbare
zendlijnen) heeft als nadeel, dat er moet worden gewerJrt met
open-collector uitgangen en pull-up weerstanden. - Die -opzet
verlaagt de maximale data transportsnelheid, terwijl de
benodigde demultiplexers (b.v.de 74159) meer vermogen
consWfleren.
. In de volgende paragrafen worden de onderdelen van de DIU
afzonderlijk behandeld.
01 ... i .. n 01 ... i .. n
-
'\.
-;1;lin e driver s
iso. receivers
t
multiplexers
1 r!.L--". decoders
-
F
C
-------oit-
--.,...J 0 IUo -
FIF~I/
CIUo L--r----.--k----f4----1
-------.,FIFU. 1'----:--0(- ~--)!- { r- - - _- - 't- - -... , -_ .. ~- .... ---- I I
CIU. I'-_~ - II .. t----- .. --.-_
- --... I- - - ~OIUI ~ _- -__ ~ _ _ _
matrixkolomIij nen
matrixkola mIij nen
figuur 4.1
Blouchema. van de DIU.
figuur 4.2
Opbouw van de DIU.
- 29 -
4.1 De line drivers en de multiplexers.
De line drivers met isolating receivers, zijn drivers voor
een 50 Ohm lijn. De isolating receivers zijn uitgevoerd met
opto-couplers en wat faseherstel logica (zie bijlage II). Dit
gedeelte van de DIU is daa.rmee identiek aan de line drivers in
de data communication controller van de PlPU.
Voor de verbinding naar de PlPU zijn een data en een clock
signaal nodig. Deze twee signalen zijn voor alle transporten
verschillend en IIOeten dUB beide over de llatrix worden
getransporteerd. De PlPU krijgt een vast paa.r • zendlijnen' op
de llatrix. Deze lijnen worden bepa.a..ld door de bedrading op de
matrix kolOBllijnen print. Alle DIU-kaarten kunnen daa.rdoor
volkomen identiek zijn. Voor de 'ontvangst zijde' van de
verbinding met de matrix kolOBllijnen, is gebruik geaaakt van. -.
multiplexers. Bet control signaa.l vanuit de eIU bestaat uit een
8 bits adres. Dit adres wordt gedeeltelijk gedecodeerd en
gedeeltelijk direct verbonden met de multiplexers (zie figuur
4.3). Biermee kan elke gewenste verbinding binnen een f sec
worden gerealiseerd.
I .~-
r-- "multiplexers •...I
I 74L5251 II·0
J II
I deco-.
dersI
- ~ multi plexe rs 0
--' - 74L5251 J:II..
--, - ~,.....-
trix· rna74L5138 - · kolon - II
· lijnenII
- ·· "I} Il- multipl exers II
II
data 74L5251 I-'"~
clock .. -
... ' l
figu~_J: ..4. 3 _. __ ._
Opbouw van een matrix rij .
o1 , n.
- 30 -
Voor elke acht: verbindingen zij n t:wee mult:iplexers nodig (voor
dat:a resp. clock signaal). Een decoder kan maximaal 64
verbindi.ngen helpen select:eren.
4.2 De mat:rix kolomlijnen.
zoaJ.s in de vorige paragraaf al is aangegeven, best:aan de
mat:rix kolomlijnen uit: lijnparen. De mat:rix kolOll1ijnen print:
zorgt: ook voor de adres t:oewijzing van de DIU zender. De groot:t:e
van de mat:rix kan (in 8't:appen) worden aangeput: aan de g8W8nat:e
groot:t:e (door de 8-bit:s adres8ering begrenst: t:ot: maximaa] 256).
Een opzet: met: groeist:appen van 16 verbindingen lijkt: een
handige keuze. Een grot:er sy-st:eell lean dan worden opgezet:
vo1gena figuur 4.4.
jr············..H M ~I ~~I~ ~r········.....M ~I .. =3;....
I~ M M···············.~I ~=~c.
a.
figuur 4.4
St:rukt:uur van de mat:rix koloalijnen bij max.48 DIU"s.
Piguur 4.4 b en c t:onen de buffers die nodig zijn, zodra bet:
syst:eell grot:er dan 16 wordt:. De fan-out: van de DIU uit:gangen.. ~ . . .
naar de aat:rix laat: geen onbegrenade ongebufferde vergrot:ing
van bet: syst:eem t:oe. Het:- apart: willen -st:uren van bet: st:ukje
kabe1 (kort: houdenl Hoeft: nooit: Jlli8er dan SO em. t:e zijn) leidt:
- 3~ -
tot het kiezen van twee buffers achter elJcaar. Bet verschil in
riaetime en fa..lltime van een buffer, leidt tot de keuze van
inverting buffers •.De circuits van figuur 4.4.b en van 4.4.e
kunnen deaelfde zijn. De rechthoeltige gedeelten atellen een
printje voor met 32 buffers, een connector naar de matrixprint
en een verbinding voor de kabel naar het andere bufferprintje.
Piguur 4.4.b en 4.4.c zijn lIet dezelfde priritjea te
rea..lieeren. De matrix kolomlijnen print Jean er uitzien ale
getekend in figuur 4.5.
0...., 0 e-- ~ --0---00
~I0 0-- ~ --0----00...., 0- ---e-- --0----0
~l : 1~J
0- --0- ----0----0
011 011 ~--0- --0---0
20 1 I I I --0-- --0---0
0' o I I o-W-~
--0----0I 0' 0++ I
o I I I -0------0
o I I o I I o-W- --0--1--.!..~no I I -<> I I o-W. --o-W.
~ ~ ~ ~ ~datao clock
0 1 2 I n [figuur 4.5
Ontwerp van de matrix koloalijnen print.
[
01------(
01-----(
0----(
0----<oo
0...-----0...----<0------(
0----10..------(
0----(
Boofdstuk s.
- 32 -
Evaluatie.
Bet in de vorige hoofdstukken behandelde ontwerp bevat veel
meer hardware dan de bedoeling was. Maar IIli.j n mening is voor he't
realiseren en voldoende onders'teunen van een 10 Mbaud
da'tacommunica'tie weI degelijk zoveel hardware nodig. Zeker alB
de systeemopze't van P.v.d.Eijnden (li't.4) word't aangehouden
(aparte da'ta en command lijnen).
om di't aan te 'tonen is een simula'tie van he't systeem
overwogen. Oit de simulatie zou o.a. moeten blijken va't de
beze't'tingsgraden van de diversE!! processoren zijn (bij een
systeem me't meerdere PIPO" s ) . Bierui't zou o. a. de
noodzakelijkheid of de overbodigheid van de gekozen opze't met
remo'te processoren kunnen blijken. Made door 'tijdgebrek zijn we
nie't aan een simula'tie toegekomen.- --
Er zijn bovendien nag enkele nie't 'tot op componen'ten niveau
gespecificeerde segmen'ten in he't ontwerp. Di't be'treft met name
de "serial communication con'troller' - in de CIO, -de • line
drivers / isola'ting receivers" in CIU, DIO en PIFO, de
•da'ta-link con'troller' in de PIPO en de 'device-link
controller' in de PIFO (zie figuur 5.1).
Aan de eerste twee onderwerpen is aandacht bes'teed. De
resul1:a.'ten daarvan vind't u in bij lage I en II. Be't derde
onderwerp (de "da'ta-link controller' in de PIFO) 1s opgelos't,
zodra de nieuwe 10 Kbaud BDLC-controller (van In'tel-) op de
aarkt komt en zal 'tot die 'tijd vrij veel, s1mpele hardware of
enkele DLA'S vereisen. Be't vierde onderwerp is volledig device
afhankelijk en om die reden nag nie't nader bekeken.
Device
- --Idev. Ilink Icant. I----
FIFU
III.dr./lisa. r... - --
II. dr: / I
---"'iso.. r. 1___ .J
DIU
[IU
I ser.Icom.I cant.
figuur 5.1.' _.- -- - -- ---,--
Bet on'twerp, me't de vernoemde segmen'ten.
- 33 -
5.1 Naar een nieuwe sxsteem opzet.
Aangezien de hardware behoefte van het behandelde ontwerp
te groat was bevonden. was er behoefte aan een beoordeling van
de consequenties van een andere 8ysteelllOpzet. Dit laatste
vooral ten aanzien van een mogelijke hardware reductie. Deze
alternatieve systeemopzet kan op verschillende wijzen gebeuren.
Us aerste ward gedacht aan aan systeem. waarbij de data en
de cOJmD&nd link tussen de PIPO en het DIO-eIO pa.ar worden
samengevoegd tot een enkele varbinding (zie figuur 5.2.b) .
Verder is overwogen om de data-matrix ook te gebruilten voor
het doorsturen van de command8 (zie figuur 5.2.C).
matrixDIU kolom,. - - -'
I lijnenI. I -
Idevlce,I. FIFU- - __ I
[IU
a.
matrix,.---. kolomI1d . I lijnen
I eVlce l DIUI[/U1 FIFU inter- - __ I
CIU lijnen
b.~.. - - _.
II -
d . I ~---.
DIU I[/UI eVlce l ' ---:-J
I FIFU- - __ I..........
matrixkolomlijnen
c.
figuur 5.2
a. Aparte data en coaamand lijnen.
b. Alleen in de centra.le aparte data en· command lijnen.
c. Data. en COIlIIDa.nd cOllllllunicatie over de matrix:
- 34 -
Bet samenvoegen van de data en de cOllllllAnd link heeft als
voordeel, dat in de PIFO een communicatie-eontroller vervalt
(en daa.xaee oak de line-drivers, isolating receivers, etc in ~
PIFO en DIU). Wel JDOet er nu voor worden gezorgd, dat data en
commands kunnen worden onderscheiden. Door de gewijzigde
systeemopzet wordt het mogelijk OlD de splitsing van data en
commands van een job ("fork", zie lit.4 par.3.3.l) pas in de
"centrale" ~it te voeren. Uit ei.mulaties zal -.oeten blijken, of
het voordelig is, om dat te doen.
Bet tweede punt (het gebruik van de data-matrix voor de
cam.and c08llllunicatie ) vereist, dat de ma.trix cOIIaunicatie
controller een vaste ontvangstlijn ltrijqt (er is geen "CIU"
meer die vertelt op welke lijn BaOet worden geluieterd). OlD dan
tach met iedereen te kunnen communiceren, most de zendkant op
al de matrix kolomlijnen kunnen worden gezet (zie figuur 5.3).
o 1 .. i .-c. . n.
comm.~,
contr. ---.--select -
e--.
matrix kolom lijnen
figuur 5.3
Opbouw van ee~ aatrix rij.
Dit laatste heeft de volgende consequentiee.
Ten aerste moeten er nu open-colle~tor uitgangen worden
gebruikt naar de matrix, want er kunnen lIl8erdere zenders op een
zelfde lijn willen. Deze open-eollector,lijnen (met pull-up
weerstanden) hebben een lagen baudrate dan een lijn aan een
totem-pole uitgang, want de lijncapaciteit zal aanzienlijk
zijn, ~zien de benodigde bedradingelenqte van de matrix koloa
lijnen. Verder moet er hardware wordentoegevoegd,' die voorkOlllt
dat de zenders elkau_l,I__,berichten_v~EB1nken. Dit vereiet
bijvoorbeeld een mogelijkheid tot luisteren naar een lijn, voor
en tijdens het zenden op die lijn. Er zullen dus niet alleen
- 35 -
( open collector ) demultiplexers (b. v . 7U59 ), maar oak ( low
power) multiplexers nodiq zijn.
Bet clock siqnaal voor de ID&trix cOllllllunicatie kan nu
centraal worden opqewekt. DaarOlll kunnen de ID&trix clock-lijnen
worden vervanqen door een enkele clock-lijn.
Omdat nu zowel data als collB4llds over de matrix qaan, ID08ten
beiden onderscheidbaar worden. Dat verzwaart de taak van die
com.unicatie controller.
Verder is de s1mpele matrix uitbreidinq volqens fiquur 4.4
nu niet meer moqelijk, want de ..trix meet nu bidirectioneel
werken. Be1: uitbreiden van de matrix was overigens in bet oude
ontwerp, qezien een potentieele overbelastinq van de inter-eIU
lijnen, w&arschijnlijk toch al af te raden (tenzij een
inter-eIU ID&trix wordt toeqepast) • Danltzij de coaaand
communicatie over de datamatrix vervallen de aparte !nter-cIU
lijnen.
Op een rijtje qezet leveren de veranderinqen het volqende ops
Hadelen
Laqere data baudrate.
Busy detectie voor de
ma.trix kolOlll1ijnen.
'1'aakverzwarinq voor de
...trix cOlllllUnicatie
controller.
Matrix niet uitbreid
baar.
Voordelen
Veel minder hardware.
Inter-eIU lijnen vervallen.
Een coaBunication controller
verval.t •
Enkelvoudiqe ID&trix koloalijnen.
ZOWel bij het s&menvoeqen van data en command link tussen
PIFO en CIU-DIU, als bij het sturen van commands over de ma.trix,
meet onderscheid worden &angebracht tussen data en commands.
Dat zou l? v. kunnen met &en negende bit, of door dat gegeven in..- .
het eerste byte van elk block-transport te zetten.
'Een syateemopzet die -uitga.ande van de 1. Mbaud multi proto
col serial controller (8274 van Intell zie lit.6)- werkt met
- 36 -
een baudrate van slechts ~ Mbaud, heeft grote voordelen. De
IIm.-controller kan bij deze baudrate namelijk nog lokaal worden
geconfiqureerd. Verder worden de line drivers/isolating
receivers eenvoudiger of kan een veel grotere afstand worden
overbrugd.
Biermee vervalt de noodzaak tot het gebruiken van
remote-( 10- )processoren 1 Bet volgende rekenvoorbeeld toont dat
aan.
stel beide zenders en ontvangers z.1Jn aktief op ~ Mbaud
(b.v. matrix-link en PlPU-link zijn beide aktief). Er moeten
dan 4 x 1 Mbaud / 8 - 500 k bytes / sec met het geheugen worden
uitgewisseld. Een byte (via een IIm.-controller) ophalen uit het
geheugen, bezet de bus voor ongeveer ~ fS (bij de 8237
IIm.-controller). 500 kbytes/sec bezet de bus dus voor ongeveer
50'1 Biermee is ook direct duidelijk, waarODl in het oude
ontwerp (met een tienmaal zo hoge baudrate) het werken in de
local lRClde onhaalbaar was.
Een bus bezettin98graad van 50' alleen al voor de
IIm.-accessen lijkt oak een onduldbare situatie. Bierbij giogen
we er' echter vanuit, dat alle kanalen actief met data (of
cOlllllUlnd) transport bezig waren. Dat laatste is een situatie,
die maar weinig voorkomt (tenzij alle berichten automatisch
worden geechoed ) • DaarODl is een ontwerp met een local
IIm.-controller toch accepta:bel,· ondanks de vier 1 Hbaud
kanalen.
Boofdstuk 6.
- 37 -
Opbouw van sen intelligent netwerk (2).
Be"t intelligente netwerk II08t in staat zijn om allerlei
devices met elkaar te verbinden (zie hfd.~). Bij dit ontwerp
willen we weer een non-blocking cOlDlllUnicatie netwerk
realiseren. De keuze voor een aatrix struktuur in de centrale
blijft daaroDl gehandhaafd. In het ontwerp is een duplex ~. llbaud
data/COIIIID&nd link tussen device en centrale voorzien en tevens
coaau.nd cOlDllunicatie over de llla.trix.
Aan elk device wordt een controller toegevoegd, die in
verbinding staat met de centrale. In de centrale wordt gezorgd
voor de verbinding naar de CCU' s (COIlIIlunication Centre Unit- s)
van de andere devices (zie figuur 6.1).
De verbinding tussen de tJDC en de CCU overbrugt de a.fstand
tussen device en centrale en zorgt ( dankzij de_. isola.ting
receivers) tevens voor de ga~vanische ontkoppeling van device
en centrale ( ter voorkOllling van aardingsproblelD8n) . Delle
verbinding vereist 4 adere (liefst twee atg.schermde
aderparen) •
I""'-'m
Universal Communi-~ at
Device Device - L ~ cation W rController Centre i
0 0 Un i t 0[-II X
, • ·• · · k0. . ~ I
Dev .. U DC IC'" ...lI CCU ~ 0- mi i I ~
· · • I· - · ij• • • n
~e
7- ~ ~·n
Dev. UDC ~ C C U
" n "---,..
~
figuur 6.~
BlOkschema van het.intelligente-netwerk.
- 38 -
De overbrugbare afstand is afhankelijk van de baud-rate, de
kabelkwaliteit en de complexiteit van de toegepaste faseherstel
logica. Een paar honderd meter lijkt zonder veel moeite
overbrugbaar, zoals uit metingen is gebleken (zie bij lage II).
om het doorgeven van een command block over de matrix niet
te veel te vertragen, is het belangrijk, dat de maxjmum data
block lengte niet te groot wordt gekozen. A1s voor een maxi mum
block grootte van 256 byte wordt gekozen, dan zal het
overbrengen van zoO n block ruim 2 ms duren (256 x 8 / 1.000000
sec) •
Een command block wordt dan hoogstens 2,5 ms opgehouden door
data transport, mits de prioriteit van een command block altijd
hoger is, dan die van een data-block. Grotere vertraging van
command blocks kunnen alleen ontstaan, als meerdere ceo's
tegelijk een command block willen zenden naar een bepaalde CCO.
In de volgende hoofdstukken zijn de CCO en de ODC nader
uitgewerkt.
- 39 -
Boofdstuk 7. Opbouw van de CCO' s.
Een C01lllllunication Center Unit (ceo) heeft de volgende taken;
Bet communiceren met de andere CCO"S via de matrix.
Bet cOlllllluniceren met zijn mx:.Bet uitvoeren van de operating system taken.
Bet interpreteren van de ontvangen berichten.
De CCO is opgebouwd volgens het blokschema. van figuur 7 .1.
De CPU (8088) verricht de initialisatie- en de verwerki.ngs
taken.
VDC
".
',matrix kolom Iijnen "~ oJ
It.\
clockgen. \
\
8284 - . . - ...... ...-I
JlI
1 I..II -
RAM PROM CPU DMA line dr, I8088 8237-2 i sol. rec:• ..
!.. MPSC'
8274, ~ ...
Ir<i
~ la tch ti mer int.contr.ft- matrix-
r 8282 8253 8259 dr./rec~f0-
ri'decoder8205 -
fo-- - _"I ~ ... -----"?
figuur 7.1
Opbouw van een CCO;·-
-40-
De communicatie van en naar de UDC wordt verricht door de
Multi Protocol Serial Controller (8274) via de line drivers/
isolating receivers (zie bijlage II). Degekozen baudrate
( 1Mbaud) leidt tot de noodzaak van byte aanvoer op DHA basis.
Daarom is er een mm.-controller (8237-2) toegevoegd.
De communicatie tussen de CCU's onderling loopt over de
matrix kolomlijnen. Een matrix-rij bestaat uit multiplexers.
demultiplexers en hardware. die ervoor zorgt. dat een ceo niet
op een lijn gaat zenden als er al op die lijn wordt gezonden.
In bijlage III wordt zoo n matrix communication controller
beschreven.
De timer (8253) is toegevoegd om. ervoor te zorgen. dat de
CPU een seintje kan krijgen als de ontvangst bevestiging van
een verzonden bericht te lang uit blijft.
De interrupt controller (8259) zorgt voor het doorgeven van
de interrupts van de !lPSC. de timer en de matrix
driver/receiver naar de CPU.
De clockgenerator (8284) levert de 4Jmz clock signalen voor
de CPU. de DMA-controller en de HPSC (zie bijlage IV).
Bet geheugen dient voor de opslag van het ceo-programma en
de andere gegevens (files. pointers. etc.). De vereiate
geheugengrootte is nog niet bekend.
- 41 -
Boofdstuk 8. Opbouw van de tme" s.
Een Universal Device Controller (tme) heeft de volgende
taken:
Bet cOlDDluniceren met het device I volgens het (door het
device) voorgeschreven protocol..
Bet communiceren met zijn ceo.Bet (voor- )bewerken van de ontvangen berichten.
De UDC is opgebouwd volgens het blokschema van figuur 8.1.
De opbouw van en tme komt in hoge mate overeen met die van
een ceo (vergelijk fig. 7.1). In feite is de ceo te beschouwen
als een speciaal type tme , waarbij het "device" vordt gevormd
door de matrix kolomlijnen en de andere CCU" 8.
eeu
, .Devlce
- ~
\
clock gen. I
8284 ' I
- "". -\,
II1l 1,...
RAM PROM CPU DMA line dr:/.8088 8237-2 isol. rec.
~ ;:0
I.....
1... ., .. p ... MPSC
82744 ~ • -;.: v •
,', I ~,
,....... .. ... ..L la tch ti mer int.contr.~ devic e
r 8282 8253 8259 link ~...................... ':
con tr.~ ~
,I I I -
.--l I I
decoder I II I
8205 ,. _ _ .s _7_ _ _,
l- I
figuur 8.1.~--- --. - _. ----.-
Opbouw van een tme.
- 42 -
De ODe bestaat uit een verwerkingseenheid (CPO). geheugen
(RAM en PROM). communicatie componenten (OMA-controller. MPSe
en line drivers/isolating receivers). bus- en system-support
( latches. decoders. clockgenerator. timer en interrupt
controller) en een device link controller.
De device link controller (DeLe) mag gebruik maken van het
vrije kanaal van de MPSe of van twee ingangen van de
DMA-controller. Tevens staan de DeLe enkele ingangen van de
interrupt controller ter beschikking. Dankzij het nog vrije
kanaal van de MPse zijn een aantal serieele protocollen met
weinig extra hardware in de DeLe te realiseren.
De DeLe zal voor elk type device apart moeten worden
ontworpen. De software van de UOC moet oak worden aangepast aan
het type device. dat op de UOC is aangesloten. In feite zullen
de UOC"s dan ook niet algemeen uitwisselbaar zijn.
Aangezien er in de ODe weI een behoorlijk groot "universeel"
stuk zit. lijkt het interessant om dat universeIe gedeelte op
een aparte kaart te zetten. Bet universele gedeelte kan dan
bestaan uit een CPO (8088). een DMA-controller (8237-2). de
MPse (8274) met line drivers/isolating receivers. RAM. adres
latches en decoders. de timer (8253) en de interrupt control.ler
( 8259 ). De device afhankelijke componenten (DeLe en het
PROM-programma) kunnen dan op een aparte kaart worden gezet. Er
kan oak een print met het universele gedeelte worden ontworpen.
waarop ruimte is gereserveerd voor de DeLe.
Er kan zelfs worden gedacht aan een opzet. waarbij het
universele gedeelte van de ODe tevens wordt toegepast in de
eco' s. Bet "device" afhankelijke gedeelte van de eco bevat dan
de matrix driver/receiver en de PROM"s.
Een opzet als hierboven beschreven. resulteert in een
netwerk opbouw volgens figuur 8.2.
Device
~--------_.~ ------,:device link ~...~ univ :I t I ...
1"--""1 : controller: : proc. : ....e:-._-'j-r ~...,...-~ I " I ~. -
:+ program ;'f"': sect.:UDC
:~~i~~~~ ..;-~~-t~i~--: ~ m~trix• I' I
:proc.: :driver/rec.: • k II I I I - :(~ om:sect. "....~ + program:______ J ~
'._ CCU li~nen~
figuur 8.2
Netwerk opbouw bij toepassing van universeIe processor secti'es.
Bijlage I.
- 43 -
.Serieele communicatie van meerdere zenders op
een lijn.
Bij communicatie met meerdere zenders op een enkele lijn
ontstaat &1tijd een prableem, &1s meerdere zenders gelijktijdig
gebruik willen malten van die lijn. Bij lijnen, die grote
afstanden moeten overbruggen, is niet te voorkomen, dat
berichten elkaar dan verminken. De looptijd van het sign&&1
over de lijn wordt namelijk zo groot, dat een zender &1 een
tijdje op de lijn kan zenden, voordat hij merkt, dat een (veraf
gelegen) andere zender &1 begonnen was. Aangezien het botsen
van berichten (collision) in zulke systemen niet kan worden
voorkomen, zijn er complexe wachttijd algorithmen on1:worpen.
Deze moeten voorkomen dat de cOllllDunica.tie op de lljn gaat
stagneren als de belasting van de lijn toeneemt.
In ons ontwerp treedt het prableem van meerdere zenders op
_ een lijn &11een binnen de ,cOllllDunicatie centr&1e op. In het
eerste ontwerp is dat op de inter-eItJ· lijnen. In het tweede
ontwerp is dat op de matrix kolOllllijnen. In beide gev&11en is
de afstand tussen de zenders minder dan een meter. Bij de door
ons gedachte baudrate kan een zender dan altijd direct zien of
er een andere zender op de lijn zit.
Oitera.ard moeten de zenders m.b. v . een open-collector
uitgang op de lijn staa.n, anders zouden er defecten kunnen
ontstaan, zodra meerdere zenders gelijktijdig willen ga.a.n
zenden.
b7
-44-
1.1 Communicatie op de inter-CIO lijnen.
Voor de cOllllllunicatie op de inter-cIO lijnen is een protocol
ontworpen en een circuit gerealiseerd.
Bet protocol gaat uit van een data-lijn, een klok-lijn en
een byte synchronisatie-lijn. De open-collector uitgangen van
de zenders lUken, dat een "nul" op een lijn dOlllineert boven een
"een".
De byte synchronisatie-lijn wordt tijdens bet achtste bit
(b7) "nul" gemaakt, en is de rest van de tijd "een". Bet
protocol schrij ft voor, dat het achtste bit van elke byte "nul"
meet zijn, tenzij het het laatste byte betreft. Door deze twee
gegevens is het voor de zenders erg eenvoudig om te zien of de
lijn vrij is. Als de data-lijn "een" is tijdens de "nul" van b7
(due data? - 1), dan is de lij n vrij. In het andere geval is de
lijn bezet (zie figuur 1.1 r.
+ - - - - - - - -vrij - - - - - - - +---------bezet - - - - - - - - ..
data I LIITIJJrprloritY-byte+ adres-by t e+,e data-b yte+2e data·
data
~ - - - - - - - - be z e t - - 0- __ _+_________vr i j _ _ _ _ _ _ _ _ _ ...
JJJIIITDJ iii! [[( -!--data byte-+,aatste byte--1
figuur 1.1
Byte synchronisatie en data sig~alen.
'\,
Er kunnen lIl8erdere zenders wachten op het vrij komen van de
lijn. Zodra deze wordt vrijgegeven, zullen zij allen op de lijn
gaan zenden.De meeste zenders zullen echter al tijdens het
zenden van hun eerste byte van de lijn gaan. Als een zender
namelijk een "nul" aantreft op de lijn~ terwijl een ~een" was
bedoe1d, dan zal die zender onmiddell~j~_ophoudenmet zenden.
De zender die de "nul" had veroorzaakt, heeft van dit alles
niets gemerkt en gaat gewoon door met zenden.
N
N
START
lees adres-by te
meld nieuwe byte
lees volgende bIte'
iI:
- 45 -
N
y
N
N
y
START
zend priority- byte
zend volgende byte
vraag nieuwe byte
b.
- _._--figuur 1.2
a. P1ow-diagram voor het: ont:vanger prot:ocol.
b. P1ow-diagram voor het: zender pr.ot:oco1. , -
-46-
Bet eerste byte is het "prioriteits-byte" genoemd. Door h.t
domineren van de "nul" en het olUlliddellijk van de lijn gaan bij
een onterechte "nul", blijft de zender met de hoogste
prioriteit over. Er zijn 128 prioriteits niveaux (7 bits).
Alle berichten kOlll8n op de data-lijn te staan. Alle CIU"s
luisteren dan ook naar die ene lijn. Er moet voor worden
gezorgd, dat alleen de berichten voor de betreffende CIU in het
geheugen worden gezet. Daart:oe wordt als tweede byte altijd het
ontvanqer &dres verzonden. De ontvanger met dat &dres z&1 de
rest van het bericht naar binnen halen. De andere ontvangers
doen dat Diet. Radat de lijn weer is vrijgegeven (data7 - 1),
wachten alle ontvanger. op een prioriteits-byte (data7 - 0),
waarna ze het volgende byte weer met hun adres vergelijken.
In figuur 1.2 zijn de protocollen voor de ontvanger en de
zender weergegeven in de vona van een flow-diagram.
OIl een bericht aan alle ontvangers tegelijk te kunnen- -
zenden, helmen de ontvanger. 1:ve. adressen. Zij reageren op hun
prive-adre. en op het algemene Adre. (11111~1)~
Door de hoge ~udrate van het signaal (er i. gewerkt: ..t
2 MBa), JDOeten de byte. op IlIA-baai. in het geheugen worden
gezet. De .eri"le cOllaunicatie controller genereert daarom oak
een DRQ (ma request) en verwacht een nACIC (OM acknowledve).
Als het DACIC-signaal te laa.t ko.t, ontst&&t er een fout
situatie. In zoo n geval ltrijqt de CPU een interrupt;, zodat deze
bet ca-municatie protocol kan herstarten.
1.2 Realisatie van de inter-CIU link controller.
De inter-CIU link controller is gerealiseerd a.b.v. een
aantal eenvoudige '1'"l'L-IC" s.
De gewenste modulaire opzet van de communic&tie centrale
..akt, dat alle CIU's identiek moeten zijn. Aangezien er geen
electronica op de achter print mag zitten (beh&1ve eventueel
enkele pull-up weer.tanden), IDOeten alle .signalen in de
controller worden opgewekt. De controlle-r besta&t daaroa uit
een clock generator, een byt~synchroni~ator, een zender, een
ontvanger en Bystem interface logica (zie figuur 1.3).
- 47
interCIUbus
1 clock generator~ -~::::=:::::::?;;:;;~C~IO~Ck
Ibyte synchr. t-~---==:::::;:7"'bb'7
I transmitter ~-I--r--~"-
I receiver ~-
_ system inter
face logic
systembus
figuur 1.3
Blok8chema van de inter-CIO link controller.
Alle clock generatoren JDOeten exact synchroon lopen. Daartoe
is een 8peciaa.l circuit toegepast (aie figuur 1.4). De werking
is a18 voIgt. Zodra de clock-lijn hoog word~, Start timer '1'1.
Al8 deze timer afloopt, wordt tu.er '1'2 gestart. De clock-lijn
wordt nu weer laag getroJcken door de invertor (met
open-collector uitgang). PU als alle timers '1'2 zijn afgelopen,
gaat de data-lijn weer OIIhoog en starten alle tillers '1'1
opnieuw. Op deze wij ze word~' een 2 MHz clocksignaa.l
gegenereem.
'------l A
,~5V1k II
ITI
)- - ~- --'D--J..-~"./(lo(k
--.,.7406 --/
"
QI---r---1T28','QT174LS123A
e
clock
Q1
Q2
figu~_~ _I . ~
Clock generator circuit en tiaing signalen.
- 48 -
Voor de byte-synchronisa~ie is een signaal nodig da~ elk
ach~s~e bi~ de b7-1ijn naar beneden ~rek~ (zie figuur 1.5). Een
. nul· op de b7-1ijn veroorzaakt (indirect) een synchrone clear
van de ~eller, zoda~ de cirC\.li~s in alle CIO· s synchroon zullen
lopeno
- --""
5Vrl.,
11r: :I I
- - ..;T
- - -""--:,
- --"
- - - ,>---'------".,..... bY
o Qclockf(fiJ --+---i>f D-FF
74L574o
C/ock(Q1J f
b7=rJL....- U'--__c1ear~ 1 U---.LJ~. '---_
figuur 1.5
Byte-synchronisa~iecircui~ en ~imdng signalen.
I.2"~
- 49 -
Realisatie van de ontvanger.
De ontvanger moet berichten voor zijn eIO van de lijn halen
en (op mm.-basis) in het geheugen laten zetten (zie ook figuur
I .2a).
De ontvanger bekijkt of het adres-byte (chan. free. databyte )
overeenkOUlt met het adres van de eIO (adres equal). Als dat zo
is (receiver selected), dan wordt het byte in een buffer gezet
(load byte) en wordt een RxDRQ (receiver DMA request) gegeven
voor deze en de volgende bytes van het bericht. Zodra bet
laatste byte binnen is ( d7-~ ) , wordt de ontv&nger weer
•Passief" (receiver selected). De ontv&nger bekijkt weer of bet
volgende bericht voor zijn eIO is.
Bet adres byte heeft zeven vrije bits, dus er zijn ~28
verschillende adressen IDOgelijk. Da.arvan is "~27" (ll~~~~~) ale
algemeen adres gereserveerd.
Alle ingelezen bytes worden door de ontv&nger 1n-betbuffer
gezet en aan een DMA-controller geaeld (RxDRQ). Als een byte
verloren gaat, omdat de DMA-controller te laat reageert (RxDAClt
is te laat ), dan wordt de ontvanger verder 9ebl~eerd
( receiver error) en wordt een interrupt gegenereerd. De
ontvanger kan weer geactiveerd worden, door een "reset receiver
error- te-geven.
Figuur 1.6. a en b tonen de tiJlli.ng signalen van de ontvanger
voor, tijdens en na het ontvangen van een bericht. In figuur 1.7
is bet schema. van de ontvanger getekend.
b7 -U'---__UL.-- LJ I~ .data ---~--.JL-..l...---l...--J...-----l_.L.---l...-___!_-----l_.L.---l...---L----l.-l..-...l..-___+_----l.-.L...-_:_---'-----J.-.L...---'---___7_-----'--
, ~'" e b VIE----- priori ty- byt e---~~~---- adres-byt e -----;""llofi"';------1 data yt e ---~;>'O'<:E--: I ,
'IIo,chJree ----l ---:J9--fr _
RxDRQ ----l--:- --=---'--_
rec.sel., L- \ __
load byte +Lt-- ------'----'--_
data byte ----~"G_---l-----------I r --I
adres eq .. -.-L ~IL___II -----.C~---lL-------------
Piguur I.6.a .,
Ontvanger timing-signalenl van vrije lijn tot aotieve ontvanger.
-LJ UL-- UL- u=b7
c10 CK -LLi...LLL..Ll.....LLL.L.l-LLl.--LJLL..Ll....LLL...LJ-LL..l.....l...-LL...L.l......LLL...L..l......L...L..L...l-JL....L...L...1.-L-.L....L.....L....JL......L--'----.L---L-
- - - - - - - - - ,- - - - -- - - - - - - - - - - - - -.I I
RxDRQ ---....:..-~L!.... ___L~ ...._:..... _
ch,free ---------------~.---------.......L--------r~
r ec. seI. -I--- ---L ---"'-__
load byte ---.lL-4- -----L..L- _
dat~ byte -------------...L.--+--...,..------------l----,~"--\ ,.--, ~--,
adres eq. ~:_..!.- ...L----!...'-+-------------------,1/;:1--
Piguur 1.6.~
IOntvanger timing-signalen, van actieve ontvanger naar 'passieve' ontvanger.
IIIII)
resetreceivererror
eceiverelected
RxDRQ
receivererror
data bytechannel free
aO - - • - - a6""'"---CIU adres---'
data¢--- ~'...-- 0 QI- - 0 Q J QI-r-s
-- LS164 ' tB~t LS74 _ £=Bl>tLS 74 ' +bO~"lLS107clock-- t o QI-I- 0 - 'T K -
ABCOEFGH Clr elrI -,.
$Id7pS.--
Vtf--
,'95- I--- &-- 10'1 byte. Ps--
~, ¢--l~ 374 bO + J Q~I
,91- ~
c 110 ci<I>US107_,I 9'--- r- equal Kct GildO~ OE
. I I IACK 40.
H>-J QI-r-?'
'1- A=B A=BI- bO-PlLS107LS85 LS85 r- K Clr
.~. III }I I1I I
T ,/.
r
RxD
rdatabus
l
Piguur 1.7'\
De ontvanger.I
I I
1.2.2
- S3 -
Realisa'tie van de zender.
De zender moe't berich'ten op de lijn ze't'ten, als daarom
gevraagd word't door zijn C10 (reques't 'to send). Na on'tvangs't
van he't verzoek, wach't de zender op he't vrijkomen van de lijn
(channel free). Als de lijn vrij is gegeven (da'ta7-1) word't a.l8
eers'te he't priori'tei'ts byte (priori'ty by'te) op de lijn geze't.
Zi't de zender nog op de lijn na he't zenden van he't priori'tei'ts
byte, dan had hij blijkbaar de hoogs'te priori'tei't en kan hij
verder gaan me't he't zenden van he't berich't. Als de zender
'tijdens he't zenden van zijn priori'tei'ts byte van de lijn moe't
(omda't een andere zender me't hogere priori'tei't ook op de lijn
wilde), dan gaa't hij weer wach'ten op he't vrijkomen van de lijn.
Er hoef't dan geen (sof't-ware) hers'tel procedure 'te . worden
ges'tar't, wan't de zender on'thoud't he't priori'tei'ts by'te zelf. Da't
cirkel't n.l. rond in zijn schuifregis'ter. "Alleen als- een zender
na he't priori'tei'ts byte van de lijn word't gehaald, moe't de hulp
van sof't-ware worden ingeroepen (via· T-error - 'tranftli't'ter
error) •
Us vanui't de C1U een berich't moe't worden verzonden, dan zal
de procedure als voIgt moe'ten verlopenl
1. Ze't he't berich't k1aar in he't geheugen (eers'te by'te I &dres
byte I res't I da'ta-bytes).
2 . Maak de . reques't 'to send' 1aag.
3. Rese't de 'tran81lli't'tor error FP (maak rese't hoogl .aak rese't
1aag).
". Geef de DIm.-con'tro11er de benodigde gegevens (begin adres,
1engte berich't).
S. Z8't he't priori'tei'ts byte in he't buffer van de zender.
6. Maak de . reques't 'to send' hoog.
Be't berich't zal daarna zo spoedig moge1ijk op de 1ijn worden
geze't. Als er meerdere berich'ten vers'tuurd moe'ten worden, dan
kunnen die ach'ter elkaar worden geze't (adres, da'ta, priori'ty,
adres, da'ta, .•• , priori'ty, adres, da'ta). Ui'teraard moe't he't
1aa'ts'te bi't van elk berich't . r zijn (d7 van he't 1aa.'ts'te by'te
- 1).
Us de zender he't1~~s't~ by'te -!~_~Et't (laa'ts'te) berich't
heef't verzonden, dan za1 de '1'XD~ ('transmi't'ter DMA reques't)
- 54 -
niet meer worden beantvoord door de DMA-controller ( geen
TxDACJC). Daardoor wordt de "transmitter error" -l'P geset (er
wordt een interrupt gegeven) en gaat de zender van de lijn.
Als het te lang duurt voor een ber1cht op de lijn kan, dan
kan er behoefte bestaan aan het verhogen van de priorite1t van
dat ber1cht. Dat kan met de volgende procedure:
1. Maak de . request to send· laag (- clear de "priority byte
loaded· -l'P ) •
2. Zet het nieuwe pr1or1teits byte in het buffer van de zen
der.
3. Maak de "request to send" weer hoog.
P1guur I.B"a en b tonen de timing signalen van de zender
voor, tijdens en na het zenden van een bericht. Piguur I.B.c
toont de timing signalen van de zender als een bericht het
eerste "prioriteits gevecht" verliest. In figuur 1.9 1s het
schema van de zender getekend.
tilUI
"TXDR·Q, l.-4 ,.......----1;--...:...-J.. --.L
r'--'--
pr.byteloaded-__-o---;- ---L ...l...- ~r--
load P+S---~---------+l.\_~f_--_-+-.l-L---~~----,----I----'-
datain te rn-------- +_-.L---l_.l...---.l....---l_...l...-.....Lf_..L---.l---'_..L--L..-----l_...L.---'-~=_
requestto send --.l --\_/- +- _
loadbuffe r L--.l-----------\-\--_---L_...L.-----: ---T ~/----'-----
ch~nnel
ifre e -----o-------------\r\----...:..--\----...:....---------L-----t-------:-' .
permissionto send------------------.L--+------I~-----\-----_r_-
Piguur I.8.aI
Zender timing-signalen, van vrije lijn tot actieve zender.
b7,_UL- ~;LJL.- UL...- _
------------""t
data -.L-L+~-l~LL---L-L_lJ.~'t_-------------------
TXDRQ__---4----L..L---.L L-- .......:- ~-------
pr.byteloaded ~~-------------- _
loadP.s --Al-4---+- _
- - - - - - - - - - - - - - - - - - -data r----r-r----r-r---,---.-tT--:- - - - - - - - - - - - - - I : I :
intern_...L~_L-..l_Li---JL-L--l-+..L-.J..--l~~~_~~_..!....-~'---.:~.....:---=-_...:...----=-- _I
requestto send -----------.-.:..-\-9;:--l-------------------
loadbuffer------fl~---.L _\_~ri_------------------_
ch~nnelfre e ------l------_~--.JLI- _j " ------e-+-----------,permission
to send-__f-_~--------.L--------------------
Piguur I.8.b
Zender timing-signalen, van actiev8 zend~ tot vrije lijri.
"-
clock"-
LJ "- LJ LCb7 U "-
"-
data'"
data "-
intern"-
request "-
to send "- tiloJ
loadbuffer
channelfree ",.
permiissioflto send'
'\,
load p..S'\,
TxDRQ"-
~r. bcftte"-
oa ed "-
Piguur I.8.cI
Zender timing-signalenJ piority-strijd ve~lies en automatische herstart.
f cloCk data J Q ermissi
b7 Jto s nd
Jclock
1101l',.
Piguur 1.9,
De zender.
data
J Q
lLS107K Q
channelfree
I
\IICD
- 59 -
1.3 Naar een nieuwe in~er-CIO link con~roller.
In de vorige paragrafen is een serieele cOlDDlunica~ie
con~roller behandeld, die werk~ me~ een vrij eenvoudig
pro~ocol.
Be~ is jammer, da~ he~ pro~ocol vereis~. da~ de sof~ware he~ ~e
verzenden berich~ eers~ omwerk~ (zoda~ bi~ 7 "0" word~ bij alle
bytes behalve de laa~s~e). Di~ nadeel is on~s~aan, doorda~ de
zender geladen word~ m.e~ woorden van B bi~s. Eigenlijk zouden
we een pro~ocol van negen bi~s wi1len hebben. Be~ negende bi~
kan dan als ~ussen-byte/laa~s~e-byteindica~or worden gebruik~.
Een cOlDDlunica~ie con~roller die m.e~ negen bi~s werk~, is
vrij eenvoudig ~e malten vanui~ he~ huidige circui~.
Aan de clockgenera~orhoef~ nie~s ~e worden veranderd.
In he~ byte-synchronisa~iecircui~ hoef~ al1een de buffer
(7407) van decoder-ui~gang b7 naar ui~gang bB ~e worden geze~.
In de on~v~ger moe~en de clock van de "receiver sel8Cted"-!'P
en de ROR-ingang bij "load byte" van bO a,.aar bB worden geze~.
Er is nu aan de on~vangen bytes nie~ meer ~e zieri, waar 88n
berich~ eindi~. Daarom lij1ct he~ zinvol om een • end of
message"PP ~e se~~en, zodra de "receiver selected"-!'P gecleard
word~ • Deze "end of message" -FP kan dan sen in~errupt
veroorzaken.
In de zender zijn de wijzigingen ingrijpender. Er .ae~
hardware worden ~oegevoegd om ~e zorgen, da~ de zender he~
negende bi~ ·zelf" genereert. A1s de T-error PP word~ ges~uu.rd
me~ bB i.p.v. bO, dan word~ T-error "hoog", zodra he~ laa~8~e
byte is verzonden (de DMA-con~ro11er geef~ geen TxDACIt lleer).
T-error is nu ~e gebruiken aJ.s 9de bi~. "Da~a in~ern" 1K>e~
daartoe ~ijdens be omschaltelen van he~ schuifreqis~er naar
T-error. om ~e zorgen da~ he~ priori~ei~s-bytecorrec~ blijf~,
ondanks een verloren "priori~ei~s gevech~" ~ moe~ da~ byte nu na
negen c10ckpulsen een keer rond zij n gegaan. Daarom word~ bB op
de "clock inhibi~"-ingang van he~ schuifregis~er geze~.
Na~uurlijk is he~ nu nie~ meer mogelijk om meerdere berich~en
ach~er elkaar ~e verzenden zonder hulp van de CPO.
D60rda~ de in~er-CIU cOlDDlunica~ie is. vervallen ( zie
hoofds~uk 5), is deze nieuwe opze~ nie~ verder ui~gewerkt.
Bijlage II .
- 60 -
De line drivers en isolating receivers.
In beide systeem ontwerpen van dit verslag wordt bij de
koppeling van een serieele comm.unicatie controller naar een
transm.issie lijn gebruik gemaakt van "line drivers/isolating
receivers" •
Voor het verzenden van de bits over een transmissie-lijn
kunnen niet direct de uitgangen van de comm.unicatie controller
worden gebruikt. De kanaal i.mpedantie is daarvoor te laag. De
signal.en aan het eind van de lijn zijn ook niet direkt te
gebruiken als ingangs signaal voor de communicatie controller.
om problemen met aardlussen te voorkomen, wordt aan de
ontvangstkant gebruik gemaakt van opto-couplers.
De zend signalen worden op twee draden gezet. De systeem
aarde hoeft daarbij niet met de transmissie-lijn te worden
verbonden. De twee dra.den komen in de ontvanger binnen op twee
opto-couplers. Daarolll hoeft de kabel ook &an de ontvanger kant
niet aan een systeem aarde. De transmissie-lijn kan dus
volkomen onafhankelijk worden geaard (zie figuur II ".1. ) •
trans
mitter
,\.
Piguur IL1.
Aarding van de transmissie-lijn.
recei-
ver
Elke transm.issie-lijn heeft een beperkte bandbreedte.
Wil:len we die zoveel lIlOgelijk benutten. dan kan het clock
signaal niet direkt worden gebruikt (het clock signaal verei8t
een tweemaal zo hoge bandbreedte al.s het data. signaal). Daarom
is· voor codering gekozen (zie Iit • 3 hfd. 3-. 2 ). .
In figuur II.2.a is het toestandsdiagram van de code
getekend. Piguur II .2 .0))- -toOnt de --i1fnstroom bij gegeven
datastroom.
- 61 -
De volgende paragrafen behandelen een ontwerp voor de line
drivers en voor de isolating receivers. Deze ontwerpen zijn
gerealiseerd en blijken geed te voldoen bij 1 MBaud
c01llllWnicatie. De vereiste/geleverde data en clock eignalen
vQldoen aan de gegevens/eisen van de in het verslag toegepaste
MPSC (8274, zie lit.6). Voor de 10 MBaud-link in de Da'ta
Communication Controller van hoofdstuk 3 is een ander ontwerp
nodig, tenzij alleen zeer korte afstanden hoeven te worden
overbrugd.
data ilJ"- ..L-__......O.
clock
Piguur 11.2
a. Toestandediagram van de code (L-llnks, R-rechts, D-dood).
b. De lijnetromen bij gegeven dataetroom.
II .1. De line drivers.
Bet data en clock eignau van de eerieele cOlllDunicatie
controller ('1'zD en '.l'xC) moeten worden gecodeerd volgene de code
van figuur II.2.a. Daartoe moeten de uitgangen van de line
drivere ( R en L ) voldoen aan hun Jearnaugh diagraJlllll8n ( zie
figuur 11.3). Als R hoog is, dan is L ~aag en loopt de stroom
door de tran81lliesielijn rechtsom (zie figuur II.2.b). Ale L
hoog is "en R laag, dan loopt de stroom··linksOlD.. Als R en L
beiden l&&g zijn, dan loopt er g~en stroom ("D", zie figuur-,_._"-
II.2.a).
R
L
0 0 1 1
0 X X 0
datadiagram veer R.
- 62 -
.R
L
1 0 0 0
1 X X 0
datadiagram veer L.
Piguur II.3
Itarnaugh diagr....n voor de line drivers R en L.
In figuur II. 4 is het codeer circuit met de beide line
driven ge1:ekent. Voor het sturen van de cOlllllUnicatie 1ijnen
zijn 50/75 Ohlll line drivers (74128) toegepast. Deze line. - -'-
drivers vo1doen.... goed bij 1 MBaud cOlllDUnicatie over 50 l118'ter
kabe1 ( gebruiJcte kabe11 ~lden 8777) • WOrdt de Jcabe~lengte
vergroot (tat b. v . 150 meter), dan b1ijkt het signaal aan de. .
ui1:gang van de kabe1 te klein te worden OBI de opto-coup1ers van
de ontvanger aan te sturen.. Bij gratere afstanden .cet daaroa
de baudrate OBllaag, of de .line driver outputspanning OIahoog
(b.v. door MOS-drivers toe te passen).
- - - -TxD ~ data J .Q RI
~ L5107I Iserial 'f K Q 128
I 1communication1 I linecontroller
J Q I
-I clock+ L5107 LITxC
I .,K Q I
- - - 128
Piguur n.4
Set circuit van de line drivers-.
-- -- - - _.-----
- 63 -
11.2 De isolating receivers.
Oit het signaa1 op de kabel 1lI08t het data en het clock
signaa1 (1bD en RxC) voor de BeriHle cOllllUUnicatie controller
worden hervonnen. AlB ingangscircuit zijn twee Bnelle
opto-couplerB ( 6Hli7 ) toegepast. Deze zorgen voor de
galvaniBche Bcheiding' tU8Ben kabel en ontvanger.
De data op de kabel wordt gecodeerd verondenteld volgeM
de code van ~iguur II. 2a. Als de BtrooJa rechtBOIIl loopt o~ a.l8
laatBte rechtsom liep, dan iB data . r. AlB de BtrOOll link8011.
loopt o~ alB laatste link8011l liep, dan iB data ·0·.
Bet verkrijgen van een :betrouwbaar clock Bigna.al iB
lastiger. Er moet een clockpulB kOlll8n (JDiMtens leons breech
zie lit.6, blz 32) bij elke overgang van het ontvangen
ingang88ignaal. Een ove1;gang van ·R· naar ·L· wordt (door de
beperkte bandbreedte van de kabel) &an de -ontvangstkant gezien
als een overgang van OR· naar ·D·, gevolgd door een overgang van
° D· naa.r . L· (zie ~iguur 11.6). Bet clock herwinnings c~rcuit
III08t ervoor zorgen, dat zoo n trage ·Il· naar ·L· overgang toch
maar &en enkele clockpuls oplevert. Zen korte . D· periode 11&9
dUB geen clockpuls veroorzaken, terwijl een lange ·D" dat wel
IIIOet doen. Bet schelM. van ~iguur 11.5 toont een isolating
receiver circuit, dat uit het lijn signaal, het gewen8te clock
en data Bignaa.l herleidt.
clock lfiCII serial
tcOtrItrICI·lnic.tion
I con-I troller
- Il:>-:'-:-~ RX0
L586
+5
1Ie
~ 0 QR
0 Q 0
6N137 LS174
6MHz
L0 Q 0 QQ
line
Piguur 11.5
Bet circuit van de i80lating receivers.
'/ \ / \ / \ I \ / \Jline] \ I \ 7 \ I \ 7 l
-I-R-f-L-f-R-t--O-+-R-t--L-+-O-f-L-f-R-+-O--+-L--+-O-f-R-t-
iR -.J I I I L I
I GlI •i L ] I 0 I [ I
I R[
I "
Le
data-.J I I, l--
I
I ,
Piguur 11.6 I
Timing-signalen van de ~801ating reoeiver8.
- 65 -
Bij i:oepassing van een lagere baudrai:e (i. v.m. hei:
overbruggen van &en groi:ere afst:and) moet. de clock frequeni:ie
van de D-FP" s mee oll1aag, wani: verlenging van de kabel vergrooi:
de (onbedoelde) "D" periode i:uBBen &en overqanq van "~" naar
. L" en omgekeerd. De kabeldemping neeJIt naaelijk i:oe, zodai: hei:
langer duurt voor hei: Bignaal &an de oni:vanqsi:kani: hei:
drempelniveau van de opto-coupler overschrijdi:.
- 66 -
Bijlage III. De Matrix Communication Controller.
In de CCO· B (zie hfd. 7) wordt gebruik gemaakt van een llatrix
driver/receiver. Deze bijlage behandelt een ontwerp voor zo·n
matrix driver/receiver (zie fig.III.1).
De ontworpen Matrix COllllllunication Controller (IICC) kan op
een normale Dlicro-proces8omWl. worden aangesloten en zorgt voor
de verbinding tus8en een BDLC-controller en een 16 kanaaJ.s
matrix. Voor de BOLe is hierbij gedacht aan de 8274 (&en 1 II
baud MPSC van Intel). De geleverde resp. verei8te Tldl, TiC, RxD
en RxC signa.l.en sluiten aan bij de ei8en re8p. gegevens van die
HOLe.
Er is &en gemeenschappelijk clock signaal nodig. Biertoe
wordt hetzelfde 8chema gebruikt a.l.s in bijlage I (zie fig.I.4).
TxO TxC
matrix
kolom
lijnen
clock generator
flag generator
- -,- - - --I
transmitter I demux' lI I I.I synCh.logic I data sel. :I '- - - - - - - _, - - - - _Ibus
interface
logic
-----,II1,I
I
I
I IIL _
. Figuur 111.1
De Matrix Communication Controller.
111.1
- 67 -
De flag-generator.
De BOLe-receiver verwacht, zolang er geen bericht op z~jn
lijn staat. continu "flags" (01111110) aan te treffen op zijn
lijn. Daaroa is een flaggenerator toegepast. die automatisch
flags op de ontvangerlijn zet. tenzij een zender een bericht op
die lijn zet. Dankzij het BOLe-protocol veten WI. dat tijdens
een bericht. ten hooqste vijf ~ een "1" op de 1ijn staat
(daarna wordt automatisch een "0" tussen gevoegd). Ra een
opeenvolging van zes "enen" mag worden aangenomen. dat de lljn
niet wordt gebruikt door een zender en zet de flaggenerator
a1tijd tvee "nullen" op de lijn (zodat er "flags" ontstaan). De
enige complicatie die deze methode veroorzaaltt. is dat het
eerste bit van het eerste byte van een bericht a1tijd een "nul"
JDOet zijn. zou dat een "1" zijn. dan veroorzaakt de tweede "nul"
van de flaggenerator een 'l'-error. Deze cOlllplicatie kan het best
in de soft-vare vorden opgelost (b.v.: eerste byte - verzend
adAs < 128 ).
PiguurIII.2 toont een flaggenerator circuit (JDet de
bijbehorende timing signalen). dat aan de gest.lde eisen
voldoet.
De ROR-poort JDOet een open-collector uitgang bezitten •
..line---r-----""'--<Q+
'J---------,
o
'-------'---clock
line..J -...JLI ....L...._---JD-.C:=
count I 2 I 3 I 4 I 5 I 6 I 7 I 2 I 3 I 4 .I 5 I 6 I 7 I 8 I 2 I 2 I 3 I 2 I 3 [
•Q,+Q2t... --=-- l...-_--I. _
Pigu~ II~ .2De flaggenerator.
III.2
- 68 -
De 'transmi't'ter synchronisa'tie.
Be't 'te verzenden berich't is bes'teDld voor een bepaalde ceo.Daar elke ceo een eigen on'tvanger-lijn heef't, moe't de zender op
die bepaa].de lijn worden geze't. Da't gebeurt m.b.v. een
(open-eollec'tor) demul'tiplexer (74159) en twee da'ta selectors
(74oLS 251), die worden ges'tuurd door een (vier bi'ts) adres
regis'ter (74LS175).
De zender mag pas op de gewens'te lijn gaan zenden, ala die
lijn vrij is. Da't laa'ts'te is he't geval, als er "flags" op de
lijn s'taan. De zender JDag ech'ter nie't op een willekeurig .-en't
op een vrije lijn gaan zenden. Om ervoor 'te zorgen da't de
on'tvanger he't berich't correct; binnen krijgt, moe't de zender
zich synchroniseren me't de on'tvanger. Da't gebeurt door de
zender 'te blokkeren (TxC blijft: "0") na de "0" die volgt op de. -.-
"enen" van een flag (op de TxD-lijn). Als de zender een berich't
heef't (request 'to send - "1" ), dan word't hij op de lijn gelaten
(permission 'to send - "1") 'tijdens de eers'te "0" van een flag
op die lijn (dus als LP laag word't). De zender ze't dan (via de
demul'tiplexer) he't berich't op de lijn en con'troleert (via zijn
da'ta-selec'tors) of he't berich't nie't word't venlinkt. Ha het: eind
van he't berich't gu't de zender weer van de lijn. Als zijn
berich't word't venlink't (doorda't een andere zender oak op die
. lij n is gun zenden), dan gu't de zender direk't van de l1jn
(T-error).
op Il&'trix-adres "0" zijn de "ou't" en de "in" op t:wee aparte
aanslui'tpennen geze't. Bierdoor is. een ui1:breiding van bet;
aan'tal ma'trix lijnen 1III0gelijk. Er zijn slech'ts ext:ra
demul'tiplexers, da'ta selec'tors en adres la'tches nodig.
Piguur 111.3 'toon't he't schema van he't 'trannd't'ter
synchronisa'tie circui't . Piguur 111.4 'toon't de bijbehorende
'timing signalen.
- 69 -
TxD
reset If
clock
LS164t
y
. '( I-+--+-+-+-+-......._--r-!line
;LS251 ~C1-+-+..,o
perm. to senddf
J Qpermission
K Q ~LS107to send• LS107 K CLR
..J CLR 0-
J
If
reset
159 T·errtil,.A8C ree.
if0 conn.
Piguur III.3.~"'--'-- -
Bet transmitter synchronisatie--clrcuit.
. clock
1"iC ------l0llDl .JlJJlDllllDlLDlL_
line lJL....- --L ~ ;J;LJL....- --'-__----'IT
..,oI
M-IL-- ---l-- _
d f'
Tx 0 ----l~
IT
perm.to send
request - - - - - - to send -------------+f...L..l4------
t:JlD
tt"t-lPI::sIIIa....tt" I'Ijtt" ....lD
~t-l~
1lI t-l
~ Hg. 1-:1H
t-l .0 oil-::s....1lI
~....lD
tt"
E:::sIl:l
III....Il:l::s......lD::s.
III.3
- 71 -
De bus interface logic.
De bus interface logic is ontworpen om de llatrix
cOllllllunicatie controller (MCC) direJet aan te kunnen sluiten op
een norma1e micro-processor bus. De MCC is daarOll voorzien van
CS, WR en RD aansluitingen en beeft een read en een write
register.
De registers bestaan uit de volgende bits.
WIU'l'E register,
Matrix zend-adres
Hew adres
Request to send
Reset data-flag
'----------------- Reset transBLitter error
READ register,
Matrix zend-adres
Receiver connectedRequest to send or
permission to send
Data-flag
-Transmitter error
- 72 -
q'-~ 0 Q I-----+-...J--+--req.to sendr-~ t L574 -perm.to send
mQIo- ?
dO 0-~-----'-+-+--+--l01 Q1 10-
d, 0] 0l r---d2 OJ OJ 1----'
d 3 Ot 373 Q~ !------'d4 0$ Q$I-----+----rec.conn.d5~ 0, Q, !-----+-......,dS 01 Ql 1-----+--+-- d fd7-. ~ "Ef. -T-error
I I
-+J-t-+-l L..-----i--I\\ L __i~-r::r- reset If
Piguur III. 5
De bu~ in~erface logic.
Piguur III.S ~oon~ he~ schema van de bus in~erface van de
HCC.
De IICC moet: worden geini~ialiseerd nada~ de serial
COIIIaunica~ion con~roller (HPBC) i8 geini~ialiseerd. Ter
ini~iali8a~ie moe~ he~ volgende byt:e in het: wri~e regis~er
worden geschreven l 1. 1. 0 x x x x x. Bie~e word~ een even~uele
~ransai.~~er error gereset:, de MCC gesynchrordseerd op de IIPSC
en een even~uele "reques~ ~o send" inge~rokken. De MCC 8~aa~ nu
klaar voor gebruik.
Ala een berich~ 1808~ worden verzonden over een bepaalde
lijn, d.an worden eers~ de DHA-con~roller en de IIPSC geree4
gema.ak~. Daarna kan he~ geven.~e zend &dres worden ge.electeerd
en de "reques~ ~o send' _worden gegevJ!ln_!:toor in he~ write regis-
-po 73 -
~er ~e schrijven: 001 1 AJAzA,Ao • De MCC zal daarna he~
berich~ op de gewens~e lijn ze~~en, zodra deze lijn vrij blijkt:
~e zijn.
Be~ veranderen van he~ zend adres mag alleen plaa~s vinden
als er op da~ momen~ geen . reques~ to send' of . permission ~o
send' is. De bus in~erface logic. zo~ ervoor da~ he~ alleen dan
zal gebeuren.
De MCC is eenvoudig m.b.v. een ULA (OncolllDl:i~~ed Logic Array)
~e realiseren (me~ ui~zondering van de clock genera~or?).
Dankzij deze ~echniek hoef~ de MCC 81ech~s weinig
prin~-oppervlak~e~e kos~en.
Bijlage IV.
74 -
De clock sign&1en.
De eisen, die de CPU (8088), de ~-controller (8237-2) en
de HPSC (8274) stellen aan hun clock sign&1en, z1.Jn zeer
verschillend. In de volgende tabel zijn de gegevens van het
CLlt-signa.a.l van de clockgenerator ( 9294) genoteerd Ilet
daaronder de eisen van boveng.noemde IC"s.
8284
Clock Period
II1n Max
125
Clock low time
Kin Max
2/3TCLCL-15
Clock high t1llle
Hin Max
1/3'l'CLCL+2 ns
8089
9237-2
200 2000 2/3'l'CLCL-15
70
1/3'l'CLCL+2
120
ns
ns
8274 250 4000 105 2000 105 2000 ns
'l'abel IV.l
Clock signaal geg.v.ns en eisen.
Omd..t er twee duplex 1Mbaud verb1ndingen -.oaten worden
ondersteund, lijkt een 4 HIlz klok aan te bevelen. C. dan &an de
in tabel IV.l weergegeven eisen te voldoen, lean het circuit van
f1guur IV.l worden toegepast.
bentueel kunnen de CPU en de DIG.~ontroller nog 1ets worden
versneld, door een 5 HIlz klok toe te passen. Daart:oe volst....t
een 15 MHz kr1stal aan de clockgener~tor ( 8284) met een
inv.rsie van het CLlt-s1gna.a.l voor de OMA-controller. Bet
clocksignaal voor de HPSC kan dan worden gere..liseerd met een
..parte clockgenerator of door een vierdeler achter het 15 HIlz
OSC-signaal van de clockgenerator te zetten. De clockfrequentie
van de MPSC wordt 1n dat l ....tst. geval 3,75 MHz.
- 75 -
8088 8237-2 8274
Cl Kf--..-l----\X1 Vee
=r==:J-IJ Q
.---~.~ 74LS107I-:- O_s-lc r.-------+---l K Cl R
OSC
ClK
Q
I'iguur IV.l.4 MHz Clock generatie circuit en signalen.
- 76 -
Conclusies en aanbevelingen.
De twee in dit verslag behandelde ontwerpen voor gedistri
bueerde computer systemen, vertegenwoordigen twee uitersten.
Bet ontwerp van de eerste vier hoofdstukken belooft zeer hoge
prestaties, maar vereist erg veel hardware. Vandaar dat ik het
tweede ontwerp veel levensvatbaarder acht. Ratuurlijle lean oolc
een opzet met een da1:a-matrix en een couaand-bus in de centrale
wqrden overwogen (evenals een aantal andere tussen
oplossingen). De daarbij te verlcrijgen (tempo) winst zal
waarschijnlijk niet opwegen tegen de extra (hardware) leosten.
Bij de verdere ontwikkeling van het systeem meet aljns in
ziens worden uitgegaan van het ontwerp, zous dat in de laatste
hoofdstukken is behandeld. De volgende punten leunnen daarbij
worden onderscheidenl
1. Realisatie van de CCO"s.
2. Ontwerp van enkele device link controllers.
3. balisatie van de tJDC" s.
4. SOftware van de CCU"s.
5. Software van de tJDC"s.
Bet ontwerpen van de grote lijnen in de software lean plaats
vinden zonder de aanwezigheid van CCO" 8 en UOC" s. Bet verder
uitwerken en testen van de software vereist de aanwezigheid van
enkele ceo"s en tJDC"s. Stmulatie van het systeem lean nuttige
resultaten opleveren t. a.v. bezettingsgraden en maximum through
put, maar zal ve~delijle behoorlijle complex zijri.
- 77 -
Slotwoord.
Tot slot "il ik allen hedanlten, die mij tijdens mjn afstu
deerwerk met raad en daad hebben bijgestaan. In het bijzonder
betreft d1t ir.P.v.d.Eijnden en ir.M.Stevens en mijn coaches
1r . B. Dortmans en ir •J . Kemper • Bun koaunentaar en opmerkingen
hebben de voortgang van mijn afstudeerwerk in hoge aate
beinvloed.
Eindhoven, mei 1982.
E.Wormmeester.
eec
ceoCIU
CP
CPU
caeDAClt
DCC
DeCC
DeLe
DIU
DItA
OROPI1'Gpp
BOLe
IC
ICee
lOP
MCC
)lpSC
PROM
RAM
'l"l'L
UDC
tJLA
- 78 -
verklaring van de. gebruikte a.£kortingen I
Command Communication controller
Communication Centre Gnit.
Command Interface Gnit.
Co-,and Processor.
Central Processor Gnit.
Cyclic Redundancy Check.
DMA Acknowledge.
Data CoDDunication Controller.
Device Communication Controller.
Device Link Controller.
Data Interface Unit.
Direct Memory Access.
DItA Request.
Pully Independent Punctional Unit.
'Plip Plop.
High level Data Link Controller.
Integrated Circuit.
Inter-cIU Communication Controller.
I/o-processor.
Matrix Communication Controller.
Multi Protocol Serial Controller.
ProgrUllllahle Read only MeRaory.
Random. Access He.ary.
Transistor Transistor Logic.
Universal Device Controller.
Uncommitted Logic Array.
- 79 -
Literatuur.
(1) Baendel, P.A.C.van, Non-blocking interne communicatiecen
trale voor een processorsysteem. Afstudeerverslag, nr ECB
626, THE-EB, 1975.
(2) Belvoort, A.G.M.van; Input-output communicatie systeem voor
een processorsysteem. Afstudeerverslag, nr ECB 655, THE-EB,
1976.
(3) Engbersen, A.P.J.; antwerp van een non-blocking communica
tie netwerk voor een processorsysteem. Afstudeerverslag, nr
ECB 720, THE-EB, 1978.
-(4) Eijnden, P.M.C.M.van den, Jobhandling in een netwerk van
gedistribueerde processoren. Afstudeerverslag, nr ECB 838,
THE-EB, 1981.
(5) Intel, The 8086 Family User"s Manuel. october 1979, nr
9800722-03, Intel Corporation 1978,1979.
(6) Intel, 8274 Multi-Protocol Serial Controller (MPSC). preli
minary report, nr APN-01701B, Intel Corporation 1980.
( 7) Texas Instruments Incorporated, The TTL Data Book for De
sign Engineers, Second Edition, Texas Instruments Incorpo
rated 1976. '\.