Sunteți pe pagina 1din 9

363

23

Transputere

Transputerul este un Chip Computer, care a aprut din necesitatea reducerii preului de fabricaie al computerelor de mare putere i al supercomputerelor. Este un microcontroler de 16/32 de bii, cu arhitectur de tip RISC (Reduced Instruction Set Computer) proiectat pentru a fi utilizat n unitile centrale ale sistemelor de calcul cu prelucrare paralel, orientate spre comunicare eficient de date. Denumirea provine de la Transistor Computer = Transputer, are o fiabilitate deosebit n funcionare i posibiliti multiple de interconectare. Aa cum tranzistorul este element de baz al circuitelor integrate, transputerul este element de baz n structura 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 i maritime).

23.1 Supercomputere
Cea mai spectaculoas utilizare a transputerelor este n implementarea unitilor centrale ale supercomputerelor. Simularea proceselor deosebit de complexe din domeniul mecanicii fluidelor i aerodinamicii (necesare n proiectarea navelor aeriene, automobilelor, navelor maritime i rachetelor) necesit computere de mare vitez i eficien. De exemplu, supercomputerul CRAY Research are o vitez de 1,8 GFLOPS (Giga Operaii n virgul mobil pe Secund) i un pre de cca. 20 000 000 USD. Prin utilizarea unui numr mare de procesoare n structura computerelor a devenit restrictiv circulaia informaiei ntre subuniti. Transputerele ofer mari avantaje datorit existenei unor canale de comunicaie serial (Links) eficiente. Capacitatea de comunicaie n sistem

364

FPU - Unitate de calcul n virgul mobil

FPU
CPU - Unitate central de procesare RAM - Memorie RAM

CPU
LINKS - Unitate de legturi (comunicaie)

RAM
Memory Interface - Interfa de conectare cu magistrale externe paralele.

LINKS

Memory Interface
Fig. 1 Structura intern a unui transputer

crete odat cu creterea numrului de transputere, prin dinamic a legturilor, realizat de comutatoare programabile Primele supercomputere realizate cu transputere, capacitate de calcul au avut un pre de numai 5% din "clasice".

coordonarea de legturi. la aceeai preul celor

23.2 Arhitectura transputerului INNMOS T800


Este un procesor cu arhitectur RISC, de 32 de bii, frecven de tact 20 MHz, avnd o vitez de execuie de 10 mil. instruciuni pe secund. Unitatea FPU este de 64 de bii i are viteza de execuie de 1,5 MFLOPS. Memoria RAM de 4kB are timp de acces 50 ns; Dispune de 4 canale de comunicaie serial duplex, cu rat de transfer de 5, 10, 20 Mb/sec. (Megabii pe secund).

365 CPU efectueaz calculul adresei, operaii aritmetice i logice cu operanzi ntregi i administrarea proceselor. FPU execut operaii n virgul mobil pe 32 i 64 de bii, de 5 ori mai rapid dect un coprocesor Intel 387, la aceeai frecven de tact. Grupul de registre de uz general este nlocuit de memoria RAM echivalent cu 1024 registre de 32 de bii.

64 bit - FPU

Control System

CPU

Timer

Links Control

Link 0 4 kB RAM Link 1

Link 2 Memory Interface Link 3

Fig. 2 Transputerul IMS-T800. Arhitectura intern

Transputerele sunt orientate, din proiectare, spre tehnica multitasking (rularea "simultan" a mai multor task-uri sau procese).

366 Fiecare proces dispune de memorie alocat datelor sale i intr periodic n execuie. Unitatea CPU dispune de trei registre A, B, C, utilizate pentru operanzi ntregi i de registre pointer pentru adresare (fig.3). Cele trei registre formeaz o stiv hard de tip LIFO (Last In First Out). La scriere se fac transferurile: B C, A B, operand A iar la citire: C B, B A, A registrul operand. Transferul de date ntre memorie i stiv se face prin operaii tipice de ncrcare i stocare, LOAD, STORE. Toate operaiile aritmetice i logice utilizeaz stiva de trei registre ca surs de operanzi i depun rezultatele n aceeai stiv. Unitatea FPU, de asemenea, dispune de o stiv de trei registre, FA, FB, FC, care ns sunt dublate de FA', FB', FC', pentru salvarea operanzilor n caz de ntrerupere temporar a execuiei (fig.3).
1 Front pointer 0

1 Back pointer 0 ALU - FPU

Acc.

A B C

FA FB FC

Instruction pointer Workspace pointer

FPU

CPU
Fig. 3 Registrele interne la transputerul IMS - T800

367 Spre deosebire de microprocesoarele clasice, transputerele nu au registru cu indicatori de condiii; la T800 exist doar dou indicatoare poziionate la depiri, 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 sunt pstrate 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 elimin necesitatea adresrii operanzilor n instruciuni. Prin examinarea unui mare numr de programe rezult c pentru instruciunile aritmetice nu sunt necesare mai mult de 3 registre pentru operanzi. n cazuri excepionale, asamblorul este cel care realizeaz aceast condiie.

23.2.1. Structura instruciunilor Transputerul are set redus de instruciuni: T800 are 16 instruciuni directe, ce rezult din lungimea de 4 bii a codului (fig. 4). Din instruciunile directe, se pot forma i alte instruciuni prin adugarea unui prefix (sau dou prefixe). Exist instruciuni speciale pentru FPU. 7 6 Cod operaie 5 4 3 2 1 0

Data valoare

Fig. 4 Structura instruciunilor

23.2.2. Procese, prioriti, concuren Arhitectura transputerului T800 este orientat pentru deservirea mai multor programe (procese) n modul cvasi-paralel. Numrul programelor este limitat doar de capacitatea memoriei interne de a stoca variabilele curente ale programelor. Fiecare program are n memorie un spaiu de lucru propriu la care accesul este dat de pointerul Workspace Pointer. Comutarea execuiei de

368 la un program la altul se face n maxim 600 ns. Exist dou niveluri de prioritate, 0 i 1; pentru fiecare nivel exist cte o coad de ateptare de tip FIFO (First In First Out), fiind liste simple. Prima i ultima poziie din list 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 este deservit 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 n 2ms, execuia sa este oprit i se comut pe procesul urmtor din lista de ateptare. 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-o zon special a memoriei RAM n vederea relurii execuiei. n orice moment, un proces concurent poate fi: - activ: n execuie sau pe o list de ateptare; - inactiv: n comunicaie cu alte procese (emisie date, recepie date). n fig.5, procesul P4 este n execuie iar P1, P2, P3 sunt n ateptare, n aceast ordine. Dac un proces n execuie necesit date de intrare/ieire sau temporizare, este ntrerupt iar coninutul IP (Instruction Pointer) este salvat 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 poat comunica date ntre ele fie c ruleaz pe acelai transputer sau pe transputere diferite. Comunicarea ntre procese ce ruleaz pe acelai transputer se face prin canale fr memorie n modul sincron de tip "Rendez - vous", adic ncepe atunci cnd att expeditorul ct i destinatarul sunt pregtii. Pentru comunicare ntre procese aflate pe transputere diferite, T800 dispune de 4 canale independente bidirecionale (duplex) de comunicaie serial. Transferul de date se face asincron, printr-un protocol simplu, cu confirmare i bii de start / stop.

369

Lista de ateptare 1
Front pointer Back pointer

Memorie

(1) (1)

Proces 1

Proces 2 Acc. Proces 3

A B C

Proces 4 n execuie

Instruction pointer Workspace pointer


Fig. 5 Deservirea proceselor la transputerul IMS - T800

Pe durata celor dou impulsuri de start de la transmitor, receptorul rspunde cu impulsuri 1, 0, reprezentnd "confirmarea" strii de recepie pentru octetul urmtor. Comunicarea ntre procese este o operaie independent fa de activitatea unitii centrale i se efectueaz sub controlul unitilor de legtur, Links. Start Emisie 1 1 0 1 2 3 4 5 6 7 Stop 0 t

octet de date Recepie 1 0


Fig.6. Protocolul de comunicaie serial

confirmare

Fiecare transputer avnd 4 canale independente, o reea de 4 sau 5 transputere, ca n fig.7, conserv capacitatea de comunicare de 4 canale i se poate conecta cu alte 4 reele identice.

370 C1' T1

C1 C4' T4 C4 T0 C3 C2 T2 C2'

T3 C3'
Fig. 7 Reea de transputere conectate serial prin canale duplex

Asemenea conectri se utilizeaz la implementarea reelelor neuronale n domeniul inteligenei artificiale i n centralele digitale ale sistemelor de telecomunicaii. Fiecare interfa de legtur (Link) dispune de trei registre utilizate pentru controlul comunicrii: un pointer pentru spaiul de lucru al procesului (WS), un pointer pentru mesaj i un contor de octei petru lungimea mesajului (fig.8). Contor Mesaj Pointer Link
Transm. Receptor

Link
Receptor Transm.

Contor Mesaj Pointer

TSP-1
Fig. 8 Structura unitilor de legtur.

TSP-2

371

Bibliografie

1 Henri Lilen,

Microprocesseurs du CISC au RISC, Dunod, Paris, 1995 2 C. Burileanu, Arhitectura Microprocesoarelor, Ed. Denix, Bucureti, 1994 2 Iulian Badescu Microprocesoare, Ed. Politehnica Bucuresti, 2002 3 D. Somnea,
T. Vldu

Programarea n Assembler, Ed. Tehnic, Bucureti, 1992 Microprocesoarele x86 - o abordare software, Microinformatica - seria PC, Ed. Albastr, Cluj Napoca 1999 Circuite integrate digitale i sisteme cu microprocesoare, Ed. Victor, Bucureti, 1996 Circuite integrate digitale, Ed. Denix, Bucureti, 1993 Arhitectura Microprocesoarelor, Bucureti, 1995 Media Publishing,

4 C. Burileanu,
Mihaela Ioni M. Ioni M. Filotti

5 I. Spnulescu,
S. Spnulescu

6 Gh. M. tefan 7 E. Borcoci,


Z. Zoican, E. Popovici

8 D. Gorgan,
Gh. Sebastyen

Structura calculatoarelor, Microinformatica - seria PC, Ed. Albastr, Cluj Napoca 2000 Programare n limbaj de asamblare, Ed. Teora, Bucureti, 1998 Microprocesoare pe 16 bii, Ed. TM, Timioara, 1992 Microprocessors, Intel, 1999 Texas Instruments catalogs, 1995

9 Gh. Musc, 10 C. Strugaru,


M. Popa

11 12

*** ***

S-ar putea să vă placă și