MP_CAP_23
Transcript of MP_CAP_23
-
8/2/2019 MP_CAP_23
1/9
23 Transputere
Transputerul este unChip Computer, care a aprut din necesitateareducerii preului de fabricaie al computerelor de mare putere i alsupercomputerelor.
Este un microcontroler de 16/32 de bii, cu arhitectur de tip RISC( Reduced Inst ruct ion Set Computer ) proiectat pentru a fi utilizat nunitile centrale ale sistemelor de calcul cu prelucrare paralel , orientatespre comunicare eficient de date. Denumirea provine de laTrans istor
Com puter = Transputer , are o fiabilitate deosebit n funcionare iposibiliti multiple de interconectare. Aa cum tranzistorul este elementde baz al circuitelor integrate, transputerul este element de baz nstructura unitilor centrale ale supercomputerelor cu arhitectur paralel .
Arhitectura general , valabil pentru toate tipurile de transputere,este dat n figura 1.
Domenii de utilizare ale transputerelor:Roboi industriali i automate programabile;Sisteme ierarhizate de tip modular, staii grafice;Reele neuronale i uniti centrale de mare putere ;Simulatoare de mijloace de transport (locomotive, nave aeriene imaritime).
23.1 Supercomputere
Cea mai spectaculoas utilizare a transputerelor este nimplementarea unitilor centrale ale supercomputerelor. Simulareaproceselor deosebit de complexe din domeniul mecanicii fluidelor iaerodinamicii (necesare n proiectarea navelor aeriene, automobilelor,navelor maritime i rachetelor) necesit computere de mare vitez ieficien. De exemplu, supercomputerulCRAY Research are o vitez de1,8 GFLOPS (Giga Operaii n virgul mobil pe Secund) i un predecca. 20 000 000 USD.
Prin utilizarea unui numr mare de procesoare n structuracomputerelor a devenit restrictiv circulaia informaiei ntre subuniti.
Transputerele ofer mari avantaje datorit existenei unor canale decomunicaie serial ( Links ) eficiente. Capacitatea de comunicaie n sistem
363
-
8/2/2019 MP_CAP_23
2/9
cre te odat cu cre terea numrului de transputere, prin coordonareadinamic a leg turilor, realizat de comutatoare programabile de leg turi.
Primele supercomputere realizate cu transputere, la aceea icapacitate de calcul au avut un pre de numai 5% din preul celor"clasice".
23.2 Arhitectura transputerului INNMOS T800
Este un procesor cu arhitectur RISC, de 32 de bii, frecven detact 20 MHz, avnd o vitez de execuie de 10 mil. instruciuni pesecund . Unitatea FPU este de 64 de bii i are viteza de execuie de 1,5MFLOPS.
Memoria RAM de 4kB are timp de acces 50 ns;Dispune de 4 canale de comunicaie serial duplex, cu rat de transferde 5, 10, 20 Mb/sec. (Megabii pe secund).
364
FPU
RAM
CPU
LINKS
Memory InterfaceFig. 1 Structura intern a unui
FPU - Unitate de calcul nvirgul mobil
CPU - Unitate central deprocesare
RAM - Memorie RAM
LINKS - Unitate de legturi(comunicaie)
Memory Interface - Interfadeconectare cu magistrale externeparalele.
transputer
-
8/2/2019 MP_CAP_23
3/9
CPU efectueaz calculul adresei, operaii aritmetice i logice cuoperanzi ntregi i administrarea proceselor.FPU execut operaii n virgul mobil pe 32 i 64 de bii, de 5 orimai rapid dect un coprocesor Intel 387, la aceea i frecvende tact.Grupul de registre de uz general este nlocuit de memoria RAMechivalent cu 1024 registre de 32 de bii.
Transputerele sunt orientate, din proiectare, spre tehnicamultitasking (rularea "simultan" a mai multor task-uri sau procese).
64 bit - FPU
CPUControl System
Timer
4 kBRAM
MemoryInterface
Links Control
Link 0
Link 1
Link 2
Link 3
Fig. 2 Transputerul IMS-T800. Arhitectura intern
365
-
8/2/2019 MP_CAP_23
4/9
-
8/2/2019 MP_CAP_23
5/9
Spre deosebire de microprocesoarele clasice, transputerele nu auregistru cu indicatori de condiii; la T800 exist doar dou indicatoarepoziionate la dep iri, unul pentru CPU i altul pentru FPU.
n fig.3 sunt prezentate registrele speciale din T800:Instruction Pointer - registru de adresare pentru instruciunea curent ;Workspace Pointer - registru de adresare a zonei de lucru unde suntpstrate variabilele locale ale programului;Acc - acumulator pentru operandul curent;A,B,C - stiv de trei registre; instruciunile se refer direct la stiv;evaluarea expresiilor se face n stiv .O instruciune aritmetic determin o operaie ntre cei doi operanzi
din vrful stivei i plaseaz rezultatul n A. n acest mod se eliminnecesitatea adresrii operanzilor n instruciuni. Prin examinarea unuimare numr de programe rezult c pentru instruciunile aritmetice nu suntnecesare mai mult de 3 registre pentru operanzi. n cazuri excepionale,asamblorul este cel care realizeaz aceast condiie.
23.2.1. Structura instruc iunilor
Transputerul are set redus de instruciuni: T800 are 16 instruciunidirecte, ce rezult din lungimea de 4 bii a codului (fig. 4). Dininstruciunile directe, se pot forma i alte instruciuni prin adugarea unuiprefix (sau dou prefixe).
Exist instruciuni speciale pentru FPU.
23.2.2. Procese, priorit i, concuren
Arhitectura transputerului T800 este orientat pentru deservirea maimultor programe (procese) n modul cvasi-paralel. Numrul programeloreste limitat doar de capacitatea memoriei interne de a stoca variabilelecurente ale programelor.
Fiecare program are n memorie un spaiu de lucru propriu la careaccesul este dat de pointerulWorkspace Pointer . Comutarea execuiei de
01234567DataCod
valoareopera ieFig. 4 Structura instruc iunilor
367
-
8/2/2019 MP_CAP_23
6/9
la un program la altul se face n maxim 600 ns. Exist dou niveluri deprioritate, 0 i 1; pentru fiecare nivel exist cte o coad de a teptare detip FIFO (First In First Out ), fiind liste simple. Prima i ultima poziie dinlist sunt controlate cu 2 pointeri de adres (FP i BP).
1. Principii de concuren
Un proces cu prioritate nalt (0), nu poate fi ntrerupt; el estedeservit pn devine inactiv de la sine.Procesele de prioritate joas (1) sunt deservite printr-o distribuire
egal a timpului de execuie. Dac un proces nu devine inactiv n2ms, execuia sa este oprit i se comut pe procesul urm tor din listade a teptare.Procesele din list sunt reluate ciclic.Un proces de prioritate joas poate fi ntrerup de unul de prioritate
nalt , caz n care cuvntul de stare al procesorului este salvat ntr-ozon special a memoriei RAM n vederea relurii execuiei.n orice moment, un proces concurent poate fi:- activ: n execuie sau pe o list de a teptare;- inactiv: n comunicaie cu alte procese (emisie date, recepie date).
n fig.5, procesul P4 este n execuie iar P1, P2, P3 sunt n a teptare, n aceast ordine.
Dac un proces n execuie necesit date de intrare/ie ire sautemporizare, este ntrerupt iar coninutul IP ( Inst ruc tion Poin ter ) estesalvat temporar n memorie. Intr n execuie procesul urmtor din list .
23.2.3. Comunicarea ntre procese
Principiul de baz al comunicrii este ca toate procesele s poatcomunica date ntre ele fie c ruleaz pe acela i transputer sau petransputere diferite.
Comunicarea ntre procese ce ruleaz pe acela i transputer se faceprin canale f r memorie n modul sincron de tip "Rendez - vous", adic ncepe atunci cnd att expeditorul ct i destinatarul sunt preg tii.
Pentru comunicare ntre procese aflate pe transputere diferite, T800dispune de 4 canale independente bidirecionale (duplex) de comunicaieserial .
Transferul de date se face asincron, printr-un protocol simplu, cuconfirmare i bii de start / stop.
368
-
8/2/2019 MP_CAP_23
7/9
Pe durata celor dou impulsuri de start de la transmitor, receptorulrspunde cu impulsuri 1, 0, reprezentnd "confirmarea" strii de recepiepentru octetul urm tor.
Comunicarea ntre procese este o operaie independent fa deactivitatea unitii centrale i se efectueaz sub controlul unitilor deleg tur , Links.
Fiecare transputer avnd 4 canale independente, o reea de 4 sau 5transputere, ca n fig.7, conserv capacitatea de comunicare de 4 canale ise poate conecta cu alte 4 reele identice.
Front pointer
Back pointer
A
B
C
Instruction pointer
Workspace pointer
Fig. 5 Deservirea proceselor la transputerul IMS - T800
Acc.
Memorie
Proces 1
Proces 2
Proces 3
Proces 4
Lista de a teptare
(1)
(1)
1
n execu ie
Start Stop
t
t1 0
0 1 2 3 4 5 6 7
octet de date
01 1
confirmare
Emisie
Recep ie
Fig.6. Protocolul de comunica ie serial
369
-
8/2/2019 MP_CAP_23
8/9
Asemenea conectri se utilizeaz la implementarea reelelorneuronale n domeniul inteligenei artificiale i n centralele digitale alesistemelor de te lecomunicaii.
Fiecare interfa de leg tur ( Link ) dispune de trei registre utilizatepentru controlul comunicrii: un pointer pentru spaiul de lucru al
procesului (WS), un pointer pentru mesaj i un contor de octei petrulungimea mesajului (fig.8).
C1
C2
C3
C4
C1'
C2'C4'
C3'
T0 T2
T3
T1
T4
Fig. 7 Re ea de transputere conectate serial prin canale duplex
ContorMesajPointer
ContorMesajPointer
Transm.
Receptor
Receptor
Transm.
Link Link
TSP-1 TSP-2
Fig. 8 Structura unit ilor de leg tur .
370
-
8/2/2019 MP_CAP_23
9/9
Bibliografie
1 Henri Lilen, Microprocesseurs du CISC au RISC , Dunod, Paris, 19952 C. Burileanu, Arhitectura Microprocesoarelor , Ed. Denix, Bucureti, 19942 Iulian Badescu Microprocesoare , Ed. Politehnica Bucuresti, 20023 D. Somnea,
T. Vldu Programarea n Assembler , Ed. Tehnic, Bucureti, 1992
4 C. Burileanu,Mihaela Ioni M. IoniM. Filotti
Microprocesoarele x86 - o abordare software ,Microinformatica - seria PC, Ed. Albastr, Cluj Napoca 1999
5I. Spnulescu,S. Spnulescu Circuite integrate digitale i sisteme cu microprocesoare ,Ed. Victor, Bucureti, 1996
6 Gh. M. tefan Circuite integrate digitale , Ed. Denix, Bucureti, 19937 E. Borcoci,
Z. Zoican,E. Popovici
Arhitectura Microprocesoarelor , Media Publishing,Bucureti, 1995
8 D. Gorgan,Gh. Sebastyen
Structura calculatoarelor , Microinformatica - seria PC, Ed.Albastr, Cluj Napoca 2000
9 Gh. Musc , Programare n limbaj de asamblare, Ed. Teora, Bucureti,1998
10 C. Strugaru,M. Popa
Microprocesoare pe 16 bi i, Ed. TM, Timioara, 1992
11 * * * Microprocessors , Intel, 199912 * * * Texas Instruments catalogs , 1995
371