You are on page 1of 48

Curs 1 Introducere

Abordarea structural a sistemelor de proiectare pentru procese complexe cum sunt comanda numeric cu calculatorul (CNC) a mainilor unelte i a echipamentelor de comand a roboilor industriali conduce la configuraii de tip multiprocesor. Acestea permit automatizri flexibile locale spre exemplu n sisteme flexibile de fabricaie. Sistemul multiprocesor (SMP) reprezint soluii ale unor probleme complexe de automatizri n timp real acolo unde e necesar un timp de rspuns rapid (perioad de antionare ns sau s), i un mare necesar de calcul. n SMP o funcie de baz este comunicarea ntre sistemele componente realizat prin mesaje precum i sincronizarea execuiei programului de aplicaie. Conceptele fundamentale referitoare la arhitectura i modul de proiectare al SMP sunt descrise de dou str de baz: Structuri multiprocesor cu module funcionale distribuite Structuri multiprocesor cu module funcionale concentrate

Arhitecturi de SMP n variant distribuit Principii structurale (topologice)


Eficiena unui SMP e legat n principal de eficiena cu care se efectueaz schimburile de informaii ntre modurile (procesoarele) SMP. Prin procesor se nelege un sistem cu prosesor ce include unitatea de calcul i resursele periferice. Modurile de conectare a procesoarelor pentru a realiza schimbul de informaii n SMP pot fi grupate n patru categorii:

a) Stea. Ofer simplitate, liniaritate i o bun toleran la defectare. Dac un procesor se defecteaz, acesta poate fi izolat sistemul fiind capabil s lucreze n continuare prin preluarea n mod dinamic a sarcinilor
1

procesorului defect. Aceast arhitectur este utilizat intensiv n conducerea proceselor industriale datorit avantajelor mai sus menionate. b) Inel. Se caracterizeaz prin posibilitatea comunicrii directe numai cu 2 vecini. Comunicaia cu un procesor mai ndeprtat se face prin intermediul procesoarelor de pe calea care asigur legtura ntre aceste dou procesoare. Avantaj: dpdv hardware, structura interfeelor cu cei doi vecini este identic indiferent de numrul procesoarelor din SMP. Dezavantaj: la defectarea unui procesor sau a unei magistrale banda de comunicaii este ntrerupt ea putnd fi realizat pe o alt cale mai lung. c) Matriceal. Prezint simplitate fa de soluia b). (interfaa cu MAGE este simpl: o singur legtur). Dezavantaj: comutatorul (partea logic) care dirijeaz cuplarea mag n nodurile reelei este complex dpdv hard i la defectarea lui SMP nu mai funcioneaz. d) Magistrala complet conectat. Se caracterizeaz printr-o nalt siguran n funcionare dar este costisitoare sub raportul conexiunilor, al interfeelor i al prg de comunicaie. Un procesor poate avea 2 realizri fizice: a) un ansamblu de module standard: UC, memorii, periferice; bloc de interfa cu magistrala SMP (BIM). Toate aceste module sunt conectate n jurul unei magistrale interne (MAGI).

b) un procesor este realizat dintr-un calculator pe o singur plac (Single Board Computer SBC) care include pe o singur plac toate modulele funcionale din fig.2. Structura SMP stea a) se reduce la MAGE la care se conecteaz prin BIM-uri module procesor Pi ; i=1,n.

Numrul de procesoare P poate fi extins pn la limita de ncrcare nominal a MAGE. O soluie pentru a extinde MAGE const n plasarea pe anumite procesoare a unuia sau mai multe canale de comunicaie serial. Acestea fac posibil conectarea la un alt procesor plasat pe o alt MAGE (aparinnd altui SMP) o structur de SMP expandabil constituit din mai multe structuri stea care comunic prin linii seriale.

Organizarea n SMP se realizeaz pe baza conceptului de localizare a sarcinilor procesoarelor care se caracterizeaz prin: a) Procesoarele care au un schimb de informaii mai frecvent sunt plasate pe aceeai MAGE. b) Procesoarele cu schimb de informaii mai redus pot comunica prin linii seriale ele putnd fi pe MAGE diferite (fig. 4). Implementarea procesoarelor n varianta distribuit se realizeaz utiliznd un numr de module standard interschimbabile care pot fi conectate i pe MAGE ca resurse comune (fig 5).

Problema implementrii hard a unui SMP se reduce la implementarea sistemelor de comunicaii ntre MAGI i MAGE. O soluie este plasarea pe MAGE a unei memorii RAM comun accesibil de orice procesor cuplat la MAGE. Aceast memorie joac rolul de cutie potal: orice procesor va depune mesaje ptr celelalte procesoare i va extrage mesajele sale. Accesul la aceast memorie se face direct prin instrucii normale de acces de date ntre registre i memorie. BIM al oricrui procesor va analiza adresele de pe MAGI. La detectarea unei adrese corespunztoare unei zone de memorie extern, BIM va lansa o cerere de acces la MAGE din partea procesorului P i. Aceast cerere o notm cu BREQi ( Buss Request a procesorului Pi ). Dup lansarea cererii, procesorul Pi trece n stare de ateptare ( wait ) dac MAGE e deja ocupat cu un transfer de date sau dac memoria RAM e mai lent dect UC.

Curs 2 SMP
BIM al oricrui procesor va analiza adresele de pe MAGI i la detectarea unei adrese externe va lansa o cerere de acces la MAGE: BREQ ( Bus Request ). Dup lansarea cererii procesorul va trece n starea de ateptare WAIT dac MAGE este deja ocupat sau dac memoria comun RAM ( cutie potal ) este mai lent dect unitatea central. Pentru a rezolva cererile simultane de acces la resursele de pe MAGE, se utilizeaz un mecanism logic de acordare a prioritilor pentru aceste cereri numit arbitru de magistral. Acesta asigur o ierarhizare a prioritilor de acces plasnd prin linia WAIT un procesor mai puin prioritar ntr-un ir de ateptare. La un moment dat doar un singur procesor poate accesa MAGE, acesta fiind cel pentru care semnalul BACK ( Bus Acknoledge ) este activ. Procesorul Master astfel desemnat se numete Master curent pentru MAGE.
4

Ansamblul de BIM-uri de pe fiecare procesor Master poate fi privit ca un multiplexor digital i anume n X MAGI ctre una MAGE. n figura de mai jos se prezint arbitrarea a 2 procesoare P A i PB unde PA are prioritate mai mare.

Soluia cu memorie RAM concentrat ( comun ) (fig. 7) prezint dezavantajul dublrii timpului de ocupare a MAGE pentru comunicaia ntre PA i PB. PA depune n MCC un mesaj iar P B preia acest mesaj din MCC; MAGE este accesat de dou ori. ntr-o structur SMP se poate partaja memoria comun din sistem n 2 zone: O memorie extern concentrat conectat fizic la MAGE, cu posibilitatea de acces direct din partea oricrui procesor Pi ( RAMC ) O memorie comun distribuit ( RAMD ) cu acces din partea MAGI a procesorului propriu Pi i respectiv cu acces via MAGE din partea celorlalte procesoare ( Master ). Aceast memorie RAMD se mai numete RAM dublu port sau RAM dublu acces.

Principii de comunicaie ntre 2 procesoare


Se utilizeaz 2 mecanisme de baz: a) mecanismul de plasare a procesorului PB n starea WAIT ca urmare a faptului c procesorul PA a fost activat a obinut controlul MAGE. n acest caz segmentul de memorie RAMD asociat oricrui procesor este de tip RAM dublu port cu diverse separatoare pentru magistrala de date i adrese. ( fig. 8 ).

b) mecanism de forare a procesorului PB n HOLD. n acest caz se utilizeaz memorie RAMD simplu port ( fig. 9 ).

n urma unei cereri de accesare de pe MAGE a RAMD, decodificatorul de adrese sesizeaz faptul c adresa pe de MAGE are ca destinaie o surs de pe MAGI proprie i lanseaz HOLREQ ctre UC. UC i termin instrucia n curs i decupleaz liniile ei de la MAGI apoi UC lanseaz HA. Ca urmare memoria RAMD este cuplat prin bufferele bidirecionale de adrese i date cu magistrala extern i deci poate fi accesat de Masterul curent ca o resurs proprie. Partajarea memoriei n SMP Memoria oricrui procesor Pi se poate repartiza n dou zone: Memoria local accesibil din exterior MLE ctre procesorul i O memorie privat MPi accesibil doar de pe MAGI a procesorului Pi. Cele dou zone sunt accesibile de pe MAGI. MLE i poate fi accesat att de pe MAGI ct i de pe MAGE.

SMP utiliznd procesoare monoplac


Clasificarea P2 i a memoriilor dpdv al adresabilitii Clasificarea P: Procesoare Master de tip P1 MAGI i MAGE Procesoare Slave de tip P2 MAGI Clasificarea memoriilor: Memorii dublu front M1 MAGI i MAGE Adresabile doar de pe MAGI M2 MAGE M3 C1=P1+M1 MASTER C2=P1+M2 MASTER C3=P2+M1 SLAVE

Arhitecturi obinute prin comparaia C1,C2, C3 adugnd i memorii concentrate de tip M3

SMP1=C1
Aceast arhitectur este flexibil cu posibiliti de comunicare multiple ntre procesoare. Datorit utilizrii memoriilor M1 se micoreaz gradul de ncrcare al MAGE i timpul afectat comunicrii pe MAGE scade. Comunicaia ntre procesoare se realizeaz prin cutii potale distribuite prin memorii de tip M1. Aceste sisteme prezint modularitate i o depanare uoar.

SMP2=C1+C2
Comunicaia ntre calculatoare de tip C2 se poate realiza doar printr-o memorie M1 a unui calculator de tip C1 fapt care dubleaz timpul de utilizare a MAGE. Comunicaia C1-C1 i C1-C2 se realizeaz tot prin memorii M1 de pe C1 dar de aceast dat MAGE este utilizat o singur dat.

SMP3=C1+C3
Conversaia C1-C3 se realizeaz prin memorii de tip M 1 de pe C3. Comunicaia C3-C3 nu se recomand deoarece Masterul curent ar vehicula informaii ntre C3 via M1 de pe C1.

SMP4=C2+M3
Existena MCC M3 ofer posibiliti de comunicaie depline. Dezavantajul acestei structuri este c scade viteza de comunicaie pe MAGE ca urmare a unei duble adresri ctre M3 pentru o comunicaie n C2-uri. Aceast arhitectur se preteaz la sisteme omogene cu alocare dinamic a task-urilor. Dac un procesor din SMP s-a defectat, supervizorul sesizeaz acest lucru i redistribuie sarcinile procesorului defect celorlalte procesoare valide. Modulul cel mai sensibil la o eventual defectare este M3 care dac se defecteaz SMP nu mai funcioneaz.

SMP5=C2+C3
Comunicaia ntre C2-C3 se realizeaz prin intermediul modulelor de memorie M1 de pe C3. Comunicaia ntre C2-C2 se face mai greu tot prin M1 de pe C3. comunicaia C3-C3 nu se recomand.

SMP6=C1+C2+C3
Aceast structur reunete avantajele combinaiei a cte dou tipuri de calculatoare. Comunicaia C2-C3 nu se recomand. Dezavantajul este faptul c nu este omogen.Alegerea unei anumite structuri de SMP se face funcie de aplicaie. Principalul element este volumul de date de comunicat i viteza cerut. Se alege ca indicele performan pre s fie ct mai mare.

Magistrale standard pentru SMP


Interconectarea calculatoarelor monoplac necesit utilizarea unui sistem de magistrale care s permit o extensie modular a plcilor funcionale: modul procesoare, memorii, module I/O, cuplare de periferice, etc. La realizarea SMP destinate conducerii proceselor se utilizeaz magistrale standard. Aceste magistrale sunt utilizate de companiile productoare de SMP i au avantajul c plci de companii diferite sunt compatibile la nivelul sertarului care conine magistrala standard.

CURS 3 SMP O magistral standard des utilizat n SMP este magistrala MULTIBUS a firmei INTEL. Firma SIEMENS are o magistral echivalent cu numele AMS.
Magistrala MULTIBUS cuprinde: Magistrala sistem magistrala E magistrala MULTIBUS propriu-zis. Magistrala rezident magistrala I specific P conectat Magistrala serial. Magistrala MULTIBUS asigur o comunicaie ntre P de 8 sau 16 bii, ntre module periferice care se pot conecta la MB, memorii module de I/O numerice sau analogice, module procesoare de ax, module Master de tip calculator monoplac.
10

MB dispune de urmtoarele grupe de linii de magistral: 20 linii de adres 16 linii bidirecionale de date 8 linii de ntrerupere de magistral linii de arbitrare a magistralei linii de control a magistralei linii de ceas (Clock) linii de alimentare. Liniile de adrese i date sunt de tip 3 stri. Liniile de ntrerupere de magistral sunt de tip colector n gol (mai multe ieiri se pot conecta mpreun). Modulele conectate la magistral sunt n relaia Master Slave. Un modul Master poate controla magistrala E prin preluarea liniilor acesteia (prin BIM) ca urmare a arbitrrii. Un modul Slave nu potae controla magistrala E. Modulele Slave pot fi module de memorie, de I/O dar i module procesor de tip P3, la care doar memoria de pe procesor poate fi accesat i de pe magistrala I i de pe E. Un SMP poate avea mai muli Master dar la un moment dat unul singur este activ (Master curent). Un singur modul Master furnizeaz ceasul de magistral care asigur o relaie temporal sincroniznd modulele pentru rezolvarea conflictelor pe magistrala E. Transferurile de date pe magistrala E au loc asincron printr-un dialog emitor receptor (hand shake). Liniile MB sunt 0 active deoarece o surs perturbatoare are nevoie pentru a fixa nivelul 0 de o putere de 20 ori mai mare dect pentru a fixa nivelul 1. Din acest motiv marea majoritate a firmelor fac i ele . ci n tehnologia TTL. Semnalele magistralei MB: INIT poziioneaz sistemul ntr-o stare cunoscut, poate fi generat extern sau de ctre unul dintre Master. ADR13/ADR0/ - grup de linii destinate magistralei de adrese cu o capacitate de accesare de 1Mb. INM1/ - inhibare RAM prioritatea o are ROM-ul; dac o zon de RAM i una de ROM sunt selectate pentru aceast adres ROM-ul este prioritar dispozitivele I/O referite ca memorie sunt prioritare fa de RAM. INM2/ - inhibare ROM dispozitivele de I/O referite ca memorie sunt prioritare fa de ROM. Un exemplu n care s-ar putea utiliza INM1/ respectiv INM2/ este urmtorul: exist 3 zone de memorie cu acelai cmp de adresabilitate. Informaiile din aceste memorii sunt ns necesar disponibile la momente succesive de timp. De exemplu un ROM n care se afl programe de BOOT
11

al sistemului un ROM de diagnoz la pornirea sistemului i un RAM pe post de MCC. INM1/, INM2/ cu logica adecvat poate selecta cele 3 memorii succesiv. BHEN/ - Byte High Enable validarea activitii superior generat de UC pe 16 bii pentru a specifica faptul c va avea loc un transfer de 2 octei pe magistrala de date (pentru compatibilizarea formatelor 8/16 bii).

Magistrala de date i comenzi asociate. DATF/DAT0/ - 16 linii bidirecionale de date. MRDC/ - Memory Read Clock cnd e activ indic un ciclu de citire din memorie pe magistrala E. MWTC/ - Memory Write Clock cnd e activ indic un ciclu de scriere n memorie pe magistrala E. IORC/ - I/O Read Clock indic un ciclu de citire de la un periferic. IOWC/ - I/O Write Clock indic un ciclu de scriere ctre un periferic. XACK/ - Exchange Acknoledge este generat de un Slave ce anun un Master c transferul de date solicitat este acceptat. Adresele i datele trebuie s fie anterioare cu 50 ns fa de semnalele de comand i s fie stabile nc 50 ns dup ce comanda s-a ncheiat.

12

Gestionarea (arbitrarea) prioritii de acces pe magistrala E. BCLK Bus Clock ceasul de magistral; sincronizeaz circuitul de arbitrare a prioritii (fmax=10 Mhz). BPRN/ Bus Priority Input intrare de prioritate care indic Masterului pe care se afl faptul c nici un alt Master de prioritate mai mare nu are magistral. BPRO/ - Bus Priority Output ieire de prioritae dintr-un Master care indic modulelor Master mai puin prioritate faptul c Master-ul cu ieirea n discuie sau unul mai prioritar cere magistrala. BPRN i BPRO se utilizeaz pentru a realiza cascadarea Master-elor la arbitrarea serial. Conexiune se cheam daisy chain.

BUSY/ - indic faptul c magistrala este ocupat, este activat de un Master care a obinut controlul asupra magistralei i poate fi folosit pentru a inhiba arbitrarea de ctre un Master mai puin prioritar. E citit de ceilali Master. BUSREQ/ cerere de acces la magistrala utilizat n arbitrarea paralel. CBRQ/ - Common Bus Request cerere comun de acces la magistrala E activat de ctre unul sau mai muli Master care cer magistrala i este citit de Master curent care este astfel informat c un alt Master dorete accesul pe magistrala E. E tot o linie OPEN calculator ca i BUSY/. ntreruperi de magistral. INT7/INT0/ - 8 nivele de cereri de ntrerupere; INT0 are prioritatea maxim. n mod normal liniile de ntrerupere sunt utilizate de Slave. INTA/ - Interrupt Acknoledge confirmarea cererii de ntrerupere de ctre Master curent adresat Slave selectat. Liniile de alimentare. +5V +12V -12V GND (mai multe linii)

13

+5V bateria. CCLK/ - Common Clock este generat de unul din Masterii i este destinat unor Slave care au un Clock propriu. Linii de protecie la cderea alimentrii. PFIN Power Fail Input generat de un circuit care supravegheaz alimentarea. Indic Master curent c tensiunea de alimentare va cdea peste 3 msec. Dac sursa de la reea este alimentat sub 195V se genereaz acest semnal care arat c tensiunea continu i pstreaz parametrii nc 3 msec. MPRO Memory Protect semnal de protecie a memoriilor CMOS alimentat i pe baterie care mpiedic operarea cu memoria pe durata pe durata tranziiei cderii tensiunii de alimetare. Actualmente exist 3 memorii EEPROM ce au ajuns la timpii de accesare echivaleni cu ai unei memorii RAM. Ele sunt utilizate pe post de memorii RAM ce stocheaz date importante din sistem i nu necesit alimentare special dup cderea tensiunii. Caracteristicile electrice ale magistralei MULTIBUS. Transferul de date pe MB se poate face cu o frecven maxim de 5 Mhz, ns datorit timpilor destinai arbitrrii magistralei i ai celor de acces la memorie se utilizeaz o rat de transfer de 2Mhz. Numrul de module din sistem organizat pe MB depind de capacitatea de ncrcare (FAN OUT = numrul de circuite de intrare ce pot utiliza o linie MB). Pentru logica activ pe 0 i amplificarea de ieire TTL cu FAN OUT 16-20 numere de module conectate la magistrala E poate fi 16-20 fr a depi factorul de ncrcare a magistralei.

Curs 4 SMP Magistrala SMS AMS


Dpdv al semnalelor vehiculate pe magistral, magistrala AMS este echivalent cu magistrala MB ( Multi Bus ). Diferena apare la tipul conectorilor. AMS conine ierarhic urmtoarele magistrale: MULTIBUS 2 magistral pe 32 de bii; AMS-M identic cu MB; MAGI de 8 bii numit i magistral local; Magistral serial.

14

Interfaa modul Master Muli Bus

Sunt valabile urmtoarele observaii: Schema bloc se refer la un modul Master care nu are n componen o memorie RAM comun distribuit n dublu port ( vezi sensul semnalelor de la control i adresele ); Pentru o schem bloc, interfaa M Slave MB nu conine blocul de arbitrare MAGE i mai toate sensurile semnalelor sunt inversate ca sens, ca direcionare; AEN Adress Enable este activat de ctre blocul de arbitrare atunci cnd Master-ul a ctigat concursul pentru accesarea MAGE i ca urmare acest semnal, practic este semnalul de validare a cuplrii MAGI cu MAGE. Blocul de adrese n sistemul din figura 1 sensul de adresare este unic, de la stnga la dreapta ( nu exist memorie RAM dublu port pe MM ) T=1 logic permanent. n situaia n care pe MM ar exista memorie RAM dublu port, sensul de adresare T are 2 stri. ( vezi memoria RAM dublu port ).

Blocul de date ( compatibilitatea 8-16 bii )

15

BHEN/ 0 0 1 1 1.

ADR0/ 0 1 0 1

Aciune Nefolosit Transmitere pe 16 bii Transfer pe 8 bii; adres impar Transfer pe 8 bii; adres par

2.

3.

1.Transfer de la adres par 2.Transfer de la adres impar 3.Transfer pe cuvnt

Blocul de ntreruperi pe MB
Liniile de ntrerupere pe MAGE, INT0/,,INT07/ sunt utilizate de modulele Master pentru a recepiona cereri de ntrerupere provenite de la: Module Slave (MS); Alte module Master ( MM); Logic extern; Un MM poate conine surse de ntrerupere care nu necesit liniile MB pentru a ntrerupe unitatea proprie.
16

Exist 2 tipuri de scheme de implementare a ntreruperilor pe MAGE: ntreruperi nevectorizate de magistral; ntreruperi vectorizate de magistral.

ntreruperile nevectorizate de magistral


La acest tip de ntreruperi adresa vectorului de ntrerupere este generat la nivelul MM curent fr a utiliza liniile MAGE. Aceast adres este generat de ctre controler-ul programabil de ntreruperi (BIC) de pe MM i transferat unitii centrale propri pe liniile MAGI. Surs de ntreruperi se poate afla pe: MM local; Pe alte module cuplate la MAGE ( n general MS ). n cel de-al doilea caz se utilizeaz liniile de cereri de ntrerupere existente pe MB ca urmare a generrii vectorului local de ntrerupere, unitatea central a MM curent termin instrucia n curs, i ntrerupe activitatea i sare la execuia rutinei de ntrerupere servind unitatea care a cerut ntreruperea.

Semnalul A e generat de ctre MS ca urmare a necesitii unei cereri de ntrerupere din partea acestui MS. Semnalul B semnific sfritul tratrii ntreruperii i provine de la MM curent care l livreaz conform urmtoarei proceduri: la sfritul rutinei de ntrerupere naintat de MM, nainte de RETI exist o instrucie de apel la un dispozitiv I/O (IORC) sau o instrucie de accesare a unei locaii de memorie extern (citire), se genereaz MRDC/. Aceste apeluri sunt pentru o adres cunoscut AdrB. Aceast adres e decodificat de decodificatorul DEC de pe MS, strobat cu semnalul IORDC/ sau MRDC/ i genereaz semnalul de achitare B/ care comut bistabilul de intrare pe 0 anunnd astfel pe MS c rutina a fost ndeplinit.
17

ntreruperile vectorizate de magistral


n acest caz vectorul adresei de ntrerupere se afl pe MS i se transfer ctre MM prin intermediul MAGE. Dup ce a primit o cerere de ntrerupere de la un MS, MM curent cere ca MS s-i livreze adresa curent de ntrerupere i liniile de date ale MB. Aceast cerere este anunat prin semnalul INTA/ de pe MB.

Protocolul de comunicaie pentru ntreruperi vectorizate de magistral. Atunci cnd apare una sau mai multe de ntreruperi de magistral pe liniile INT0/INT7/ se execut secvenele urmtoare: PIC/Slave informeaz pe una din liniile INT/ asupra unei cereri de ntrerupere de MAGE adresat PIC/M; PIC/Master genereaz INTR/ ctre UC proprie prin care se cere servirea unei ntreruperi; UC i termin instruciunea n curs, genereaz semnalul INTA/ pe MB i blocheaz starea circuitelor PIC/S de pe toate MS pentru a permite stabilirea prioritii; MM depune adresa de selecie a PIC/S cu cea mai nalt prioritate ( livrate de CAS0,,CAS2 ) pe liniile ADR8/,,ADR10/ acre prin buffer-ele de adrese BA ajung la toate MS-urile. Liniile CAS0, ,CAS2 sunt utilizate standard pentru colectarea ierarhizat a PIC; Dup aceast selecie PIC/S cu cea mai nalt prioritate depune adresa vectorului de ntrerupere pe liniile DAT0/,,DAT7/; MS activeaz semnalul XACK/ atunci cnd vectorul de ntrerupere este stabil pe liniile DAT0/,DAT7/;

18

MM curent execut rutina de ntrerupere. La sfritul acesteia se genereaz o instrucie pentru activarea ntreruperii produs similar cu cea ntlnit la ntreruperile nevectorizate de magistral.

Considerente eseniale SOFTWARE privind SMP


Excluziunea mutual reprezint capacitatea software pe care o deine fiecare MM de a putea bloca MAGE pe durata unei seciuni critice a programului su. EX: MM nu vrea s fie ntrerupt n timpul transferului unui bloc de date. Comunicaia. Un program n curs de execuie pe un MM poate recepiona date de la un alt program care se execut n paralel pe un alt MM. n general MM comunic printr-o zon comun de memorie conectat la MAGE ( cutie potal ). Operaia de comunicare poate fi privit ca o seciune critic ( poate fi protejat prin excluziune mutual ). Sincronizarea reprezint un caz particular de comunicaie. n acest caz nu se transfer date ci programul rulat pe un MM se poate plasa n ateptarea unui semnal de sincronizare provenit de la un alt MM. Sincronizarea necesit de asemenea excluziune mutual. Utilizarea SMP-urilor n timp real necesit folosirea unor medii software specifice: monitoare, sisteme de operare multitasking.

Principii de partajare a memoriei comune n SMP cu module procesor monoplac Conceptul de memorie dublu acces (dublu port)
n SMP cu procesor monoplac, memoria dublu acces este necesar ca urmare a cerinei de distribuire a memoriei comune. n acest caz memoria concentrat poate lipsi, SMP dispunnd doar de o memorie comun distribuit. AVANTAJ: Prin utilizarea memoriei dublu acces se micoreaz timpul de ncrcare a MAGE n scopul comunicaiei ntre 2 procesoare. Se prezint 2 arhitecturi necesitatea memoriei RAM dublu port.

19

Curs 5 SMP Conceptul de memorii dublu port Memoria accesibil doar pe MAGI (sistem cu 2 mag.)

RAM-ul este accesibil doar din partea CPU local legat de MAGI. n acest caz ntr-un SMP cu procesoare de tipul celor din figura 2 este strict necesar prezena unei memorii comune concentrat legat pe MAGE. AVANTAJ: Structura interfeei MM cu MAGE este simpl dpdv hardware. DEZAVANTAJE: Aceste arhitecturi de SMP necesit, n mod obligatoriu un bloc separat de memorie RAM de tip MCC un modul separat; Timpul de transfer de date se dubleaz fa de varianta cu memorie comun distribuit;

Sistem cu memorie RAM dublu port

20

A treia magistral o reprezint magistrala dubl port MAG_R2P. CPU local poate accesa propria memorie RAM_2P din care o zon este declarat memoria RAM comun, distribuit pentru ntreg sistemul SMP: aceast parte poate fi accesat de orice MM prin intermediul MAGE; Prin interfaa dublu acces IDA, RAM_2P este conectat sau la MAGE sau la MAGI prin buffer-ele corespunztoare. Aceste buffer-e sunt selectate i direcionate de ctre un arbitru, care rezolv cererile de acces simultane la RAM_2P. Accesul la RAM poate fi de la CPU local (se selecteaz BUF1) sau de la un MM curent care deine MAGE (se selecteaz BUF2. Prioritatea o deine o cerere de pe MAGE); Exist i o cerere comun din partea MM pentru a accesa resursele de pe MAGE; n situaia n care MM devine MM curent, MAGI se cupleaz cu MAGE: se selecteaz BUF1,BUF2 via MAG_R2P.

Avantajele structurii
CPU local poate lucra cu resurse conectate la MAGI, n timp ce RAM_2P poate fi accesat pe MAGE. n aceast situaie este util prezena unui RAM (opional) legat la MAGI astfel c CPU lucreaz concurent cu MM curent fr perioade de ateptare. Cele 3 cereri de acces care utilizeaz MAG_R2P sunt: Cerere intern (CI; CPU ctre RAM_2P); Cerere comun (CC; CPU ctre MAGE via RAM_2P); Cerere extern (CE; MAGE ctre RAM_R2P).

21

Arbitrarea acestor cereri se face prin logica de acces la RAM_2P: prioritatea este CE pentru a elibera ct mai rapid resursa ngust a SMP (MAGE), CI i CC sunt exclusive provenind de la singura surs CPU. Logica de arbitrare selecteaz funcie de cereri BUF1, BUF2 i direcioneaz transferul de date. Schema bloc a interfeei dublu acces pentru memoria RAM dublu port Logica de control genereaz perechi de semnale (selecii i direcionare)pentru fiecare buffer i pentru RAM. n logica de control intervin i alte semnale specifice blocului RAM (READ, WRITE, READY). Cele 2 decodificatoare de adrese genereaz cele 3 tipuri de cereri de acces: CI, CC dispare CPU=MAGI i respectiv CE dispare MAGE. Logica de control cuprinde circuite secveniale i combinaionale rapide care gestioneaz resursele IDA. Un MM poate cere controlul n exclusivitate lui MAGE accesnd linia BUSY, realiznd astfel o excluziune mutual n privina transferului unui bloc de date. Buffer-ul de adrese dinspre MAGE este bidirecional: pentru CC sensul de adresare este MAGI MAGE, iar pentru CE sensul de adresare este MAGE MAG_R2P.

Logica de control
Memoria RAM poate fi partajat n 2 zone: zon local (privat) cu acces prin BUF1 ctre MAGI; zon comun distribuit accesibil att de pe MAGI ct i de pe MAGE. IDA se compune din 2 blocuri principale: UC unitate logic de control rapid care asigur arbitrarea celor 3 cereri; UO unitate operaional de tip combinaional, comandat de UC i are rolul de selecie i direcionare a sensului de circulaie a adreselor

22

i datelor prin buffer-le conectate la MAGI, respectiv MAGE, precum i selecia i sensul pentru RAM. Semnalele care apar: BUSLOCK/ - inhib AE la RAM-ul propriu; XACK/ - confirm accesul la RAM ca urmare a unei CE de pe MAGE; READY/ - confirm accesul la RAM ca urmare a unei CI de pe MAGI; BUSGRANT/ - confirm ocuparea MAGE de ctre procesorul local care devine Master curent ca urmare a arbitrrii cererilor de acces la MAGE.

Ecuaii pentru implementarea UC ( 1 ) READY=CI AE/ ( 2 ) XACK=AE BUSLOCK/ ( 3 ) CE8=CE BUSLOCK/ cerere extern intermediar ( 4 ) AC=CC BUSGRANT ( 5 ) AI=CI AE/ ( 6 ) R=BUSLOCK+CE/ ( 7 ) S=CE R/ bistabil RS cu Reset prioritar CPU local poate inhiba o cerere extern ctre RAM_2P activnd linia BUSLOCK (2,3,6); Confirmarea de acces comun acordat AC (4) este validat de BUSGRANT care confirm ocuparea MAGE de ctre CPU local (MM curent);
23

Pentru a livra XACK (2), ntrziat cu n tacte BCLK, o soluie este de a utiliza un registru de deplasare serie conform schemei de mai jos: AE/ - Adress Enalble A intrare serie B intrare de selecie CLR tergere

Funcionarea circuitului Intrarea inversorului poate fi conectat la una dintre ieirile registrului serie. Intrarea serie a registrului este A=1. Atunci cnd registrul este selectat (BUSLOCK/) i intrarea de tergere este inactiv (CLR/=AE), dup n tacte BCLK pe 1 logic de la intrarea A ajunge la ieirea Qn-1, realiznd astfel temporizarea = n TBCLK .

Unitatea operaional UO
Prelucreaz cele 3 semnale de acordare a accesului precum i comenzile de citire/scriere de pe MAGI i MAGE. La ieirea UO se livreaz semnalele de selecie i sensurile pentru buffer-ele cu adrese (A), date (D) i pentru RAM. Convenie privind sensul de circulaie al informaiei prin buffer-e: Sensul este dat de pinul DIEN de la circuitele 8216 i 8226. Dac DIEN=1, direcia de circulaie a informaiei spre RAM. Pentru MAGI: Pentru MAGE DIEN8216 A=1; CS8226 A,D=AC+AE; CS8216 A,D=AI+AC; DIEN8226 A=AE; DIEN8216 D=MEMW; DIEN8226 D=AC MEMR+AE MWTC; Pentru RAM CSRAM=AI+AE; WERAM=AI MEMW+AE MWTC; Sunt valabile urmtoarele observaii cu referire la schema bloc IDA:
24

Adresele generate de CPU sunt n spaiul 0 64K. Decodificatorul de adrese interne partajeaz aceast zon n blocuri de 8 sau 16 Ko utiliznd liniile de adres intern de la A la F. Adresele generate de MM curent pe MAGE sunt n spaiul 0 1Mo selectabile n pagini de 64 Ko prin decodificarea adreselor de la 10 la 13h. Dpdv al MAGE un MM monoplac se comport ca o cartel de RAM cu blocuri de memorie de 8 sau 64 Ko; accesul pe MAGE este autorizat; Pentru un MS o memorie RAM_2P necesit o UO mult simplificat deoarece procesorul acestui MS nu are acces la MAGE; IDA pentru RAM_2P ofer siguran pentru comunicaia interprocesor la un necesar de hard rezonabil n acelai timp o decongestionare a circulaiei informaiei pe MAGE.

Curs 6 SMP
Soluii de arbitrare a magistralei E (MAGE) Ea poate interconecta mai multe MM, fiecare putnd prelua controlul n cazul unui transfer de date. Logica de gestionare a priorit de acces a resurselor de pe MAGE necesit un circuit denumit logic de arbitrare a magistralei (LAM). Acesta poate fi de tip centralizat sau distribuit fizic pe MM. La mag MB, LAM este integrat pe fiecare MM; ea permite alocarea unei resurse comune de pe MB unui MM dac acesta deine prioritatea de acces cea mai nalt. Gestiunea se realizeaz serial i paralel. Se folosesc i8288 i i8289. Gestiunea serial.

25

CBREQ/ - cerere comun la MAGE; este linie cu colector n gol ce poate fi comandat de ctre toate MM n scopul informrii MM curent asupra unei cereri de acces la MAGE din partea altor MM. BUSY/ - indic MAGE ocupat, poate fi activat de MM curent pentru a realiza o excluziune mutual. Prin acest mecanism MM curent poate inhiba accesul la MAGE pentru un MM de prioritate superioar. Prioritatea este fixat prin alocarea fizic a legturii PPRI/ cu BPRO/ la nivelul fundului de sertar. Poziia acestuia n sertar determin prioritatea acestuia. Dac MM1 dorete controlul MAGE, trece BPRO/ pe 1 logic ceea ce inhib celelalte MM. MM opereaz asincron pe MAGE pentru a rezolva conflictele cererilor simultane. Cnd un MM dorete controlul MAGE, acest MM examineaz linia BUSY/; dac este activ MM curent utilizeaz MAGE sub forma unei seciuni critice i inhib arbitrarea pentru MM; n caz contrar dac MM curent este mai prioritar dect cel care a cerut accesul acesta ateapt pn MM curent i-a ncheiat activitatea. MM curent care a activat linia BUSY/ este informat asupra unor eventuale cereri ale celorlalte MM pe linia CBREQ/. Numrul de MM ce pot fi conectate serial pentru arbitrarea accesului la MAGE este determinat de perioada BCLK, precum i de timpul de propagare n lan de la BPRO/ la BPRI/. Suma timpilor de propagare de la BPRO/ la BPRI/ este necesar a fi astfel nct MM cel mai puin prioritar s sesizeze linia sa de BPRI/ care trece n stare inactiv ca urmare a propagrii n lan naintea apariiei frontului cobortor al BCLK/. tSM se refer la timpul de stabilizare i memorare necesar ultimului MM din lan din momentul modificrii BPRI. O soluie pentru mrirea numrului de MM arbitrate serial este mrirea tBCLK. Gestiunea paralel. Aceast variant necesit circuite externe pentru gestionarea prioritii ca urmare se utilizeaz o logic de arbitrare a LAM cu caracter distribuit i o parte cu caracter concentrat.

26

Dac exist mai multe cereri de acces la MAGE, selecteaz la ieirea sa codul binar al intrrii active cu cea mai nalt prioritate. Decodificarea activeaz ieirea corespunztoare codului binar generat de codificare. Semnalele BCLK/, BUSY/, CBREQ/ au aceeai semnificaie ca la arbitrarea serial n loc de BPRO/ se utilizeaz BPRQ/, cu semnificaia de cerere de acces la MAGE. Timpul de propagare aferent acestei logici de arbitrare paralel este mai rapid dect cea serial i permite conectarea a 8 MM. Exist posibilitatea de extindere la 16 MM folosind 2 codificatoare de prioritate. Cele 2 tehnici prezentate reprezint opiuni de baz pentru arbitrarea MAGE n SMP utilizate n conducerea n timp real a proceselor industriale. n ambele cazuri prioritatea este fix, realizat prin cablare la nivelul fundului de sertar. Tehnici i structuri de implementare a arbitrrii. Clasificare: Dpdv a dispunerii spaiale a LAM: LAM concentrate i LAM distribuite. Dpdv al modului de gestionare a prioritii: Prioriti fixe i prioriti variabile. Dpdv al gradului de integrare a componentelor utilizai:

27

Implementarea cu CI pe scar mic. Implementarea cu CI pe scar larg. Implementarea cu reele logice programabile. Tehnici de alocare a prioritii. Prioritate fix. Introduce o coordonat strict a prioritii de exemplu de la MM0 la MM7 (MM0 cel mai prioritar). O confirmare de acces la MAGE este emis de arbitru doar dac nu este activ sau n ateptare o cerere a unui MM de prioritate mai mare. Tehnica de servire cu interogare. Toate MM plaseaz cereri de acces egale probabilistic i sunt servite printr-o tehnic de rotaie a prioritilor.

Atunci cnd un transfer a fost terminat, prioritatea n lanul nchis se modific astfel nct MM curent s fie cel mai puin prioritar. La aceast tehnic MM au probabilitate egal de acces la MAGE. Tehnica de servire executiv. MM0 are permanent prioritatea maxim; ceilali au prioritate probabilistic egale conectai n structura tip 2).

28

Tehnica hibrid cu prioritate fix i servire prin interogare. MM0 MM2 au prioritate fix de tip 1; MM3 MM7 au prioritate cu interogare de tip 2.

Structuri de arbitrare. Structura de arbitrare analizate vor fi cele cu reela logice programabile utilizate n implementare. Acestea utilizeaz expresii booleene neminimizat pentru implementarea algoritmului de arbitrare. Structura unui automat pentru arbitrare.

R0R7, G0G7 confirmri de acces.


29

T1, T2 aceeai frecven dar T2 este ntrziat cu tau fa de T1. Cererile de acces BREQ0/BREQ7/ sunt generate asincron din partea MM. Ele sunt sincronizate printr-o reea cu bistabile de tip D. Se utilizeaz un ceas cu 2 faze (T1 i T2). Cererile de acces BREQ i/ sunt sincronizate cu T1 iar confirmrile de acordare a accesului cu T2. timpul maxim de la apariia unei cereri de acces i pn la sincronizarea ei este de maxim o perioad. Structura FPLS.

Structura cuprinde 8 bistabile de tip D i o logic programabil ce conine circuite i-SAU cu rol de a genera noua stare D n funcie de intrrile directe i vechea stare. Intrrile pot fi programate cu intrri inversate sau neinversate. Ieirile Gi au urmtoarea caracteristic: la un moment dat maxim o ieire este activ, indicnd acordarea prioritii ctre Master curent. Toate tehnicile de programare se pot implementa folosind aceast structur. Criterii de specificare a procesoarelor monoplac. Modulele monoplac ce constituie un SMP sunt alese dintr-o gam de module standard proiectate. n raport cu cerinele industriale, cu posibilitatea de alctuire a structurilor de automatizare moderne. Caracteristicile sunt urmtoarele: capacitate mare de prelucrare, flexibilitatea configuraiilor, o mare siguran n funcionare. Se pot defini clase de obiective fundamentale pentru specificarea procesoarelor monoplac: Autonomie funcional, specializare funcional, capacitate funcional, capacitate de configurare variabil. Criteriul autonomiei funcionale se refer la concentrarea resurselor hard standardizate ptr prelucrri aritmetice, logice, memorii de date, transmisii, sisteme de ntreruperi, ceasuri de timp real.

30

Specializarea funcional cuprinde modulele monoplac avnd structuri particulare cu interfee industriale cu grad nalt de integrare precum i sistemele de programare specializate pentru aplicaii industriale. Modul procesor de ax conine elemente hard ptr achiziia i stocarea temporal pe durata unei perioade de eantionare a msurrii incrementale de deplasare precum i bloc de memorare temporar a referinei de vitez. Modulele de ax prezint urmtoarele funcionaliti: Achiziie de poziie, Reglarea de poziie, Regulatorul de vitez.

Curs 7 SMP Modul Slave pentru ax


Un exemplu de implementare conine 2 canale pentru controlul deplasrii a 2 axe cu motoare de crt continuu cu excitaie separat. Traductoarele de mrimi cinematice utilizate sunt de tip TIRO (traductor Incremental Rotativ Optic). Structura hard este cea de mai jos:

TIRO este un traductor incremental de poziie care genereaz impulsuri. Se caracterizeaz printr-o constant: numr de impulsuri / tur (n general multiplu de 1000 : 4000). Exist 2 semnale provenite de la TIRO notate cu A i B decalate cu 90 electrice. Trenurile de impulsuri A i B sunt generate de TIRO cu un defazaj de +- 90, semnul defazajului indicnd sensul de rotaie al TIRO. Exist un al treilea semnal, Nul Impuls (NI) care indic executarea uneiture complete i are limea unei perioade (apare un impuls la o tur).

31

Suplimentar TIRO mai genereaz nc 2 semnale: A/ i B/ utilizate ntr-o schem de eliminare a perturbaiilor de mod comun. Rejecia perturbaiilor de mod comun. Decizia circuitului de detecie a fronturilor, plasat la nivelul receptorilor de semnal la nXm metri distan este urmtoarea: a) dac fronturile A i A/ sunt opuse semnalul e caracterizat neperturbat i va fi contorizat n numrul de impulsuri. b) Dac fronturile A i A/ sunt de acelai sens sau exist un singur front, tranziia analizat este perturbatoare i nu va fi contorizat. Determinarea sensului de rotaie. GA e tot 0 logic. Ideea fundamental a schemelor de detecie a sensului de rotaie se bazeaz pe urmtoarea remarc: dac un semnal comut chiar cu oscilaii, cealalt faz este stabil n acel moment. Schema prezentat face uz de aceast idee, i n plus funcionarea are la baz modul de lucru al unui bistabil D; ieirea Q a unui bistabil D se poate modifica funcie de starea intrrilor R/ i T. Dac R/=0 (activ) Q=0, oricare intrrile T i D. Dac R/=1 (inactiv) ieirea QA= D la momentul front ridictor al tactului. Mrirea rezoluiei de msur. Multiplicarea impulsurilor A i B cu 2, 4 chiar 8. n numrtorul reversibil se afl informaia incremental de poziie n cod complement de 2. Pentru fiecare ax, modulul de ax preia informaia incremental de deplasare de la TIRO. O alt sarcin o constituie generarea referinei de vitez pentru regulatorul de turaie extern modulului utiliznd registrul de ax i CNA. Dac resursele hard existente pe modul sunt suficient de rapide, aceast bucl se poate realiza intern numeric. Impulsurile de msurare a deplasrii de la TIRO sunt contorizate de un numr reversibil, sensul de deplasare fiind stabilit de discriminatorul de sens care asigur i sincronizarea semnalelor i protecia la perturbaii de mod comun. Pentru mrirea rezoluiei se pot utiliza multiplicatoare de impulsuri cu rata 2, 4, 8. La fiecare perioad de eantionare, informaia din numrtoare este citit i adunat la un registru de poziie ax, ce indic poziia absolut a axului. Dup citire numrul este ters imediat n numrtor avem numai incrementul de poziie achiziionat n timpul unei perioade de eantionare. Partea logic de referin.

32

La conectarea la tensiune a sistemului se efectueaz operaia de fixare a referinelor, numit sincronizarea ax. Se alege un punct de referin la limita spaiului de lucru. La pornire se deplaseaz fiecare ax ntr-un sens unic determinat ctre acel punct de referin. Registrul de poziie al axului se ncarc cu o valoare predefinit i se starteaz rutinele de lucru cu numrtorul reversibil. Se d comanda de STOP dup care o comand de poziionare ntr-un punct de START tehnologic. Determinarea Offset axe. Pentru a determina valoarea de offset se procedeaz astfel: - se examineaz poziia TIRO pentru un semnal 0 la CNA. - se determin sensul micrii. - funcie de sens se genereaz o ramp lent variabil pn cnd se sesizeaz dinspre traductor c axul st. - se nregistreaz aceast valoare de prescriere de la CNA.

Unitate dual de prelucrare a datelor


La baza acestui modul se afl problematica comunicaiei ntre un procesor 8085 i un procesor de I/O programabil 8741 utilizat ca i procesor de instruire i interfa cu perifericele pentru echipamente RI sau CNC (conducere numeric cu calculatorul). Schema este prezentat mai jos:

Pe MAGI sunt cuplate 2 procesoare: 8085 Master i 8741 Slave. Cele 2 registre de date RD1 i RD2 ale lui 8741 pot fi accesate de ctre 8085, fiind vzute de acesta ca i canale de I/O.

33

Starea lui 8741 poate fi citit de 8085 printr-o instruciune de I/O cu referire la registrul de stare RS/. Procesul 8741 comunic cu 8085 astfel: - 8741 ncarc un cuvnt de date prelucrate n RD1; n acelai timp poziioneaz n RS bitul date disponibile; - 8085 citete periodic RS i cnd detecteaz date disponibile=1, citete data din RD1. O alt modalitate de comunicare const n faptul c 8741 poate genera ctre 8085 cereri de ntrerupere pe 4 linii. n aceast situaie, datele disponibile sunt anunate prin ntreruperi. 8085 poate scrie un octet n RD2 din 8741, anunnd acest fapt prin poziionarea n RS a unui bit specific. n aceast situaie 8741 citete octetul din RD2 i reseteaz bitul specific din RS. Cele 2 procesoare se interfaeaz asincron, lucreaz n paralel, ceea ce degreveaz pe 8085 de sarcini laborioase de gestionare a liniilor de I/O cuplate la periferice. Comunicaia Master Slave se face la nivelul registrelor n sisteme biprocesor. Pentru sistemele la care schema de informaie e redus, comunicaia prin registre este recomandat, deoarece necesarul de hard e minimal.

Curs 8 SMP Circuitul capacitilor de configurare variabil


Specificaia n cadrul acestui circuit conine urmtoarele tipuri de module: de diagnoz, de arbitrare a magistralei, de interconectare a mai multor MAGE n vederea realizrii extensiilor structural funcionale i a compatibilizrii cu resursele de conducere. Modul cuplor de MAGE:

34

Comunicaia ntre cele 2 MAGE se realizeaz prin intermediul unei memorii RAM_DP. Comunicaia este supervizat de logica de acces ctre RAM. Sunt 2 seciuni de RAM cu dedicaii ce cuprind informaii pentru cele 2 magistrale. Alte registre multiprocesor. Scopul unei magistrale pentru SMP este acela de a avea un standard de comunicaie ntre mai multe tipuri de procesoare care au magistrale diferite. Standardul de comunicaie este privit att la nivel hard ct i soft. n continuare s-au selectat cteva magistrale mai semnificative pentru a ilustra filozofia de comunicare. Toate magistralele sunt standardizate, adic sunt definite prin documentaii specifice i sunt acceptate de productori importani n domeniu precum i de organizaii internaionale. Magistrale importante. - magistrale MULTIBUS este una dintre primele mag SMP, folosit de muli productori. Ea reprezint o referin clasic pentru proiectani. A fost introdus de firma INTEL pentru microprocesoare din familia 8086. - magistrala VME a fost introdus de firma MOTOROLA utilizeaz P puternice din familia MOTOROLA 68000. S-a impus rapid n SMP industriale.

35

- magistrala P896 reprezint un proiect de mag care folosete soluiile cele mai avansate pentru procesoare pe 32 sau 64 bii. - magistrala M3BUS este o mag standard utilizat n sistemele de conducere automat. Magistrala VME. Acest standard a fost dezvoltat n 1981 de firmele MOTOROLA, Signetix i PHILIPS pentru a servi la generaia de calculatoare pe 16 i 32 bii. Magistrala este paralel cu un protocol de transfer al informaiei de tip hand shake asincron. Exist 3 nivele de complexitate diferite: - BUS standard, redus, extins. BUS-ul are un spaiu de adresabilitate de 16 Mb i un BUS de date de 16 bii. BUS-ul extins dispune de 1 Gb adresabilitate i 32 bii pentru date. BUS-ul dispune de 16 Kb pentru adrese i 16 bii pentru date. Oricare dintre cele 3 este multimaster. Mecanismul de arbitrare este multinivel de tip lan (daisy chain). Semnalele mag sunt aduse la un contor de 96 pini. Exist un al 2-lea conector auxiliar care definete semnale de I/O, extensii de adrese i date i alte linii opionale. Specificaii electrice i mecanice ale mag VME. VME utilizeaz plci standard, dublu Eurocard, cu 2 conectori de 96 pini

. 36

Modulele sunt introduse ntr-un sertar standard fundul de sertar reprezentnd de fapt magistrala propriu-zis. n configuraia BUS redus se utilizeaz doar conectorul principal P1. n celelalte 2 configuraii pentru extensii este utilizat conectorul P2. La nivelul fundului de sertar exist tensiuni de alimentare pentru convertoare AN, NA, precum i o surs pe acumulator pentru memoria RAM CMOS. La nivelul sertarului exist 22 de poziii pentru 22 module posibile. n plus conectorii A0 i A23 sunt utilizai pentru conectarea rezistenelor terminale n vederea adaptrii impedanelor liniilor BUS-ului. Poziia A1 este rezervat modulului ce conine arbitrul de mag. Nivelele semnalelor pe mag sunt de tip TTL standard:

Funcie de cerine se utilizeaz ca i emitoare circuite cu 3 stri sau cu colector n gol. Liniile BUS-ului accept un FAN AUT de 42mA. Liniile BUS-ului sunt transmise cu rezistene de adaptare de 330 i 470 n scopul obinerii unui rspuns pe linie cu oscilaii mici. Impedana fiecrei linii adaptate este ntre 30 i 100 iar capacitatea fa de fundul de sertar este mai mic de 25 pF.

37

O linie de BUS este o linie relativ lung (aproximativ metri) caracterizat prin R, L,C distribuii. Comportarea unei astfel de linii este echivalent cu a unui sistem PTL. Pentru a obine un rspuns rapid i cu oscilaii mici se modific rezistena echivalent a liniei prin adugarea la capetele liniei a unor rezistene de adaptare. Protocolul transmisiei informaiei. Oricare transfer de informaie pe VME const n 2 cicluri secveniale: arbitrarea i adresarea i transferul informaiei. Ciclul de arbitrare permite unui eventual Master s ctige MAGE. Masterul circuitului selecteaz Slave-ul prin adres i face transferul informaiei. Arbitrarea pe VME. Arbitrarea are o structur multinivel n lan serial. Sunt posibile 4 nivele de prioritate: BR BUS Request; BG BUS Grant; BBSY BUS Busy. Semnalele dedicate arbitrrii paralele sunt BR0/ respectiv Br3/ care reprezint cereri de MAGE din partea celor 4 lanuri seriale posibile. Aceste cereri sunt activate la nivelul fiecrui lan dac cel puin un MM din lan este cerut de MAGE. BG0/BG3/ reprezint confirmri de acces din partea arbitrului seciunii paralele. La un moment dat e posibil ca doar o singur confirmare s fie activ. Aceasta reprezint selecia lanului cel mai prioritar n acel moment.

38

BBSY desemneaz BUS-ul ocupat i poate fi activat de ctre MM-ul curent n cazul unui transfer de tip seciune critic. BCLK este utilizat pentru sincronizarea cererilor de acces la MAGE. Odat ce un lan a fost selectat de arbitrul paralel, selecia Master-ului curent din lan se face pe baza arbitrrii seriale. Exist 3 strategii de arbitrare seriale: Simplu daisy chain, cu prioritate rotit, cu prioritate fix, programabil. Aceste strategii sunt selectate de ctre arbitrul de mag i eventual de ctre MM-ul circuitului. n strategia simplu daisy chain, prioritatea modulelor este definit de poziia fizic n sertar. Modulul de pe poziia A2 are prioritate maxim. Arbitrarea pe VME mbin avantajele arbitrrii paralele a 4 lanuri cu arbitrarea serial n cadrul unui lan. Funcii speciale pe VME. VME dispune de o structur ce utilizeaz 8 linii cu prioritate diferite: IRQ0IRQ7. aceste linii sunt utilizate de ctre Slave pentru a anuna Master-ul curent despre o ntrerupere. Diferii Master-i au linii specifice de cereri de ntrerupere recunoscute pe VME. Cererile MS sunt tratate recunoscnd codurile lor de ntrerupere, conform unei prioriti fixate. O structur de modul Slave care utilizeaz ntreruperile este dat n figura urmtoare:

39

MS selectat plaseaz vectorul de ntrerupere pe liniile de date i activeaz linia DTACK (Data Acknoledge). Magistrala P896. Aceast mag este un proiect de mag standard a institutului IEE. Acest proiect a fost demarat dup 1980 de ctre o comisie de experi care avea ansa s defineasc un BUS pentru SMP, avnd un control puternic distribuit. De la nceput au fost rezervate pe acest BUS 2 linii pentru transmisie serial. S-a inut cont ca transmisia pe BUS s ndeplineasc condiia de imunitate ridicat la perturbaii. O prim variant a acestui proiect de BUS a fost publicat n 1982, urmnd ca n fiecare an configuraia s fie mbuntit de ctre o comisie de expertiz. Specificaiile fizice i electrice pentru magistrala P896. Utilizeaz plci standard de tip Eurocard i conectori cu 96 pini. Este prezentat mai jos:

40

Pe BUS exist o singur linie de alimentare care se distribuie la modulele componente. Celelalte tensiuni se obin prin convertoare. Dintre liniile acestui BUS, 6 sunt rezervate pentru +5V, pentru 0V i mai exist 10 linii folosite ca linii separatoare de mas. Dac pe linia 1 apare un semnal tranzitoriu, prin fenomenul de diaferire apare o perturbaie cu alura . Pentru a atenua efectele fenomenului de diaferire, ntre liniile 1 i 2 se mai introduce o linie numit linie separatoare de mas. Dac pe linia 1 apare o modificare de stare logic, acesta este transferat prin C1 ctre linia 2 ca un impuls scurt, parazit fenomen numit diaferie. Liniile de mas se utilizeaz n zona liniilor de BUS, cu semnale de frecven ridicat. Protecia fa de perturbaiile electromagnetice prin fenomenul de inducie electromagnetic se poate realiza n ideea reducerii suprafeei conturului de semnal. Reducerea suprafeei S se poate realiza prin fire vecine, prin cablaj imprimat gen mag prin fire torsadate. Impedana fiecrei linii nencrcate este 50-60.

41

La capetele unei linii de BUS sunt dispuse 2 rezistene de adaptare de 32 legate la o tensiune nestandard de 2V. Timpul de propagare pe o astfel de linie este de sub 20nsec. Pentru un curent de aproximativ 100mA deinut pe starea low a emitorului, timpul de propagare este de aproximativ 20nsec cu o tensiune de 2V aplicat pe Rt.

Curs 9 SMP Module Slave


1. Organizarea unui MS. MS nu poate deine controlul MAGE atunci cnd un MS este selectat de un MM, acesta poate deveni participant la conversaia privind transferul de date. Tipic MS pot fi: memorii, dispozitive I/O, controlere inteligente, procesoare care deservesc periferice. Schema bloc a unui MS este urmtoarea:

42

MS cuprinde 2 pri principale: 1. Un dispozitiv logic care asigur funcia atribuit lui MS (dispozitiv funcional (DF)), 2. Interfaa care leag DF de MAGE. DF tipice sunt: arii de memorii, registre de I/O, controlere. Interfaa conduce protocolul de tip hand shake i translateaz semnalele de pe MAGE n semnale recunoscute de DF i invers. Exist 3 categorii de informaii transmise ntre MAGE i MS date, adrese, comenzi. Un MS poate conine mai multe DF. Pentru a ti c un MS particip la operaii pe MAGE, MS trebuie s recunoasc adresa proprie transmis pe MAGE de MM curent. Acest fapt se realizeaz prin logica de decodificare a adresei (A,B). Blocul A recunoate adresa MS utiliznd cei mai semnificativi bii de adres. El activeaz nivelul inferior blocul B. Acesta selecteaz unul sau mai multe DF, utiliznd biii de adres de pe nivelele imediat urmtoare.

43

Logica de decodificare a adresei (A+B). Poate utiliza : comparatoare, pori, decodificatoare, memorii PROM sau PLA. Variante de implementare. a) Utiliznd comparatoare.

b) Pori logice
44

c) Cu decodificatoare.

d) Decodificare paralel.

45

e) Decodificare utiliznd memorii PROM.

Dezavantajul l reprezint timpul de programare este pe un singur nivel. Soluii de evitare a seleciilor false.

46

1. Se bazeaz pe ideea c decodificatorul poate fi i el validat.Arhitecturi de SMP n variant distribuit 1 Principii structurale (topologice) 1 Un procesor poate avea 2 realizri fizice: 2 Principii de comunicaie ntre 2 procesoare 5 Partajarea memoriei n SMP 6 Arhitecturi SMP utiliznd procesoare monoplac 7 Arhitecturi obinute prin comparaia C1,C2, C3 adugnd i memorii concentrate de tip M3 7 Magistrale standard pentru SMP 10 Magistrala de date i comenzi asociate. 12 Gestionarea (arbitrarea) prioritii de acces pe magistrala E. 12 ntreruperi de magistral 13 Liniile de alimentare 13 Linii de protecie la cderea alimentrii. 13 Caracteristicile electrice ale magistralei MULTIBUS. 14 Magistrala SMS AMS 14 Blocul de ntreruperi pe MB 16 ntreruperile nevectorizate de magistral 16 ntreruperile vectorizate de magistral 17 Considerente eseniale SOFTWARE privind SMP 18 Excluziunea 18 Comunicaia. 19 Sincronizarea 19 Principii de partajare a memoriei comune n SMP cu module procesor monoplac 19 Conceptul de memorie dublu acces (dublu port) 19 Conceptul de memorii dublu port 19 Memoria accesibil doar pe MAGI (sistem cu 2 mag.) 19 Sistem cu memorie RAM dublu port 20 Avantajele structurii 21 Logica de control 22 Unitatea operaional UO 24 Convenie privind sensul de circulaie al informaiei prin buffer-e 24 Gestiunea serial. 25 Gestiunea paralel. 26 Tehnici i structuri de implementare a arbitrrii 27. Tehnici de alocare a prioritii. ` 28 Structuri de arbitrare. 29 Structura FPLS. 30
47

Criteriul autonomiei funcionale Modul Slave pentru ax Rejecia perturbaiilor de mod comun Mrirea rezoluiei de msur. Partea logic de referin. Determinarea Offset axe. Unitate dual de prelucrare a datelor Circuitul capacitilor de configurare variabil Alte registre multiprocesor. Magistrale importante. Magistrala VME. Specificaii electrice i mecanice ale mag VME. Protocolul transmisiei informaiei. Arbitrarea pe VME. Funcii speciale pe VME. Magistrala P896 Specificaiile fizice i electrice pentru magistrala P896. Module Slave 1. Organizarea unui MS. a)utiliznd comparatoare b) Pori logice c) Cu decodificatoare. d) Decodificare paralel. e) Decodificare utiliznd memorii PROM CUPRINS

30. 31 32 32 32 33 33 34 35 35 36 36. 37 38 39 40 40 42 42 44 44 45 45 46 47

48

You might also like