MP_CAP_23

download MP_CAP_23

of 9

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