Documente Academic
Documente Profesional
Documente Cultură
magistrale asincrone - la care nu exista o legatura directa intre evolutia in timp a unui
ciclu de transfer si ceasul sistemului ; majoritatea magistralelor actuale lucreaza pe
acest principiu (ex : ISA, EISA, MULTIBUS, etc.)
b. dupa numarul de unitati master conectate pe magistrala
- magistrale unimaster exista un singur modul master pe magistrala ; nu necesita
mecanisme de arbitrare a magistralei (modul master care poate sa initieze un ciclu de
transfer ; modul slave care poate fi accesat in timpul unui ciclu de transfer)
- magistrale multimaster permit conectarea mai multor unitati master pe acelasi
tronson de magistrala ; magistrala trebuie sa contina semnale de arbitrare si un
protocol de transfer al controlului pe magistrala (ex : MULTIBUS)
c. dupa modul de realizare a transferului de date
- magistrale cu transfer prin cicluri (magistrale secventiale) regula de baza : ciclurile
de transfer se desfasoara secvential, la un moment dat cel mult un ciclude transfer este
in curs de desfasurare ; majoritatea magistralelor clasice folosesc acest principiu de
transfer
- magistrale tranzactionale transferul de date se efectueaza prin tranzactii ; o tranzactie
este divizata in mai multe faze si mai multe tranzactii se pot desfasura simultan cu
conditia ca tranzactiile sa fie in faze diferite ; aceasta restrictie provine din faptul ca
fiecare faza a unei tranzactii foloseste un subset din multimea semnalelor magistralei ;
teoretic, la aceste magistrale factorul de crestere a vitezei (in comparatie cu o
magistrala clasica) este egal cu numarul de faze in care se divide o tranzactie (ex :
magistrala procesorului Pentium)
2.3 Familii si standarde de magistrala
Caracteristicile constructive ale unei magistrale sunt direct influentate de cerintele si
particularitatile functionale ale procesoarelor pentru care au fost concepute. Acest fapt vine in
contradictie cu ideea de sistem deschis, conform careia mediul de comunicatie intre
componentele unui sistem trebuie sa fie independent de producator. Firmele dominante in
domeniul constructiei de calculatoare si-au dezvoltat propriile standarde de magistrala
adaptate familiilor de procesoare pe care le produc (ex : DEC - Unibus, Intel - Multibus ,
Hewlet-Packard - GPIB, IBM PC-bus, etc.). Unele din aceste magistrale sunt deschise, in
sensul ca standardul este accesibil si utilizabil liber de orice producator, in schimb altele au
fost patentate si au restrictii de utilizare (ex : magistrala Micr ochannal a firmei IBM, folosita
in constructia calculatoarelor PS 2). Exista si standarde dezvoltate de grupuri de producatori
cu interese apropiate ; astfel au aparut standardele CAMAC, Fastbus, Futurebus. In cazul
acestor magistrale se pune problema asigurarii interoperabilitatii intre module realizate de
diversi producatori ; de multe ori, din considerente de economie, nu se implementeaza numai
o parte din specificatiile standardului, sau exista extensii specifice numai pentru un anumit
producator. Metoda de eliminare a unor astfel de probleme este supunerea componentelor la
teste de conformanta. Cele mai cunoscute foruri internationale de standardizare care au
activitate in domeniul magistralelor sunt IEEE, ANSI si IEC. In tabelul 1 sunt prezentate cele
mai utilizate magistrale, din care nu toate sunt formal standardizate.
Tabelul 1
Standard
Nume popular
Domenii de utilizare
IEEE
488
GPIB
Magistrala pentru instrumente de laborator
583,596,.683 CAMAC
Magistrala pentru achizitie de date si instrumentatie
696
S 100
Microsisteme de dimensiune medie
796, P1296
MULTIBIS I, II Microsisteme de dimensiune medie
P896
Futurebus
Sisteme multiprocesor
P996
P1014
PC bus
VME bus
P1196
Nubus
Unibus
QBus
SCSI
In cadrul unui sistem de calcul pot sa coexiste mai multe tipuri de standarde, specializate
pe transferul de date intre anumite tipuri de componente de sistem. Astfel se poate utiliza o
magistrala de mare viteza pentru transferul intre procesor si memorie, o magistrala cu acces
multiplu (multimaster) pentru conecatrea unor periferice de mare viteza ( disc, interfata video)
si o magistrala de mica viteza pentru periferice lente. In aplicatiile de control se mai poate
adauga si o magistrala de instrumentatie, adaptata pentru culegerea de date de proces. Pentru a
satisface o gama larga de cerinte, s-au dezvoltat familii de magistrale, care cuprind mai multe
variante ale unei magistrale de baza si sunt compatibile intre ele intr-o oarecare masura
(interfetele dezvoltate pentru aceste variante necesita modificari minore pentru
compatibilizare) . In prezent exista mai multe astfel de familii de magistrale :
- magistrale dezvoltate pentru calculatoarele DEC Unibus, Qbus si VAXBI
- magistrale dezvoltate pentru procesoarele Intel MULTIBUS I, MULTIBUS II si
extensii ale acestora
- magistrale inspirate de structura seriei de procesoare Motorola magistralele VME
- magistrale de instrumentatie - familia GPIB (dezvoltata de Hewlet Packard), IEEE 488
si Camac.
In domeniul calculatoarelor personale s-au dezvoltat mai multe magistrale care au devenit
standarde de facto inainte ca ele sa fie propuse pentru standardizare formala. Dintre acestea se
pot aminti :
- ISA (Industrial Standard Architecture) magistrala de sistem a primelor calculatoare
personale compatibile IBM PC si care se regaseste inca in majoritatea calculatoarelor
personale actuale
- EISA (Extended ISA) - varianta extinsa a magistralei ISA
- VESA Local Bus (Video Electronics Standard Association) magistrala proiectata
initial pentru accelerarea transferului intre procesor si interfata video-grafica, s-a
dovedit utila si pentru alte tipuri de interfete de mare viteza (disc rigid)
- SCSI (Small Computer System Interface) magistrala pentru conectarea
dispozitivelor de stocare externa a datelor (disc, banda magnetica)
- PCI magistrala de mare viteza adaptata cerintelor noilor procesoare din familia Intel
2.4 Caracteristici functionale ale magistralei ISA
Magistrala ISA a fost definita pentru calculatoarele personale compatibile IBM PC XT si
AT. Ea se utilizeaza pentru conectarea in sistem a interfetelor de intrare/iesire specifice unui
calculator personal : interfata de disc, interfata video, interfata de sunet, interfete utilizator,
etc. Este o magistrala asincrona, care poate sa transfere date pe 8 si respectiv 16 biti.
Semnalele magistralei se regasesc pe sloturile de extensie ale calculatorului personal . Un slot
se compune din doi conectori, de 64 si respectiv 36 de pini.
In Anexa 2 sunt prezentate semnalele care alcatuiesc magistrala ISA si pozitia lor in
conectori.
Pe o magistrala ISA transferul de date se realizeaza pe baza de cicluri. Functie de
directia de transfer se disting 5 tipuri de cicluri :
BCLK
LA17-23
BALE
SA0-19
SBHE\
MRDC\
MWTC\, IORC\, IOWC\
SD0-15
BCLK
LA17-23
BALE
SA0-19
SBHE\
MWTC\
MRDC\, IORC\, IOWC\
SD0-15
Diferenta dintre cele doua diagrame consta in faptul ca la un ciclu de citire, intii se
activeaza semnalul de comanda (MRDC\) si apoi data citita apare pe liniile de date, pe cind la
un ciclu de scriere la inceput procesorul pune data pe liniile de date si abia apoi activeaza
semnalul de scriere. In ambele cazuri semnalele de adresa trebuie sa fie valide pe toata durata
ciclului de transfer.
Ciclurile de citire si scriere a porturilor de intrare/iesire au diagrame de timp similare,
cu diferenta ca in locul semnalelor de comanda pentru memorie (MRDC\ si MWTC\) se
activeaza semnalele corespunzatoare pentru interfetele de intrare/iesire (IORC\ si IOWC\).
Pentru modulele mai lente ciclul de transfer se poate prelungi prin dezactivarea
temporara a semnalului CHRDY ; in acest caz ciclul se prelungeste cu un numar intreg de
perioade de ceas.
Adresa
Data1
Data2
C/BE
Comanda
Validare date
Data3
Data4
IRDY
TRDY
DEVSEL
Figura 3. Ciclu de transfer pe magistrala PCI
3. Mersul lucrarii
3.1 Se desface carcasa unui calculator compatibil IBM PC AT si se vor identifica conectoarele
(sloturile) corespunzatoare diferitelor tipuri de magistrale prezente in sistem ; se
analizeaza modul de amplasare a diferitelor tipuri de placi de interfata pe magistralele
existente
3.2 Cu ajutorul osciloscopului se vor vizualiza principalele tipuri de semnale prezente pe o
magistrala (date, adrese, control); cu ajutorul a doua sonde de osciloscop se vor determina
timpii de intirziere intre diferitele tipuri de semnale ; rezultatele obtinute se vor compara
cu diagramele de timp din figurile 1, 2 si 3. Pentru o vizualizare mai usoara a semnalelor
se va scrie un program scurt in limbaj de asamblare care efectueaza o anumita
operatie(ex : citire port de intrare, scriere port de intrare, scriere memorie) in bucla
infinita. Atentie : ciclurile de citire date vor fi mixate cu ciclurile de citire a instructiunilor
din program. Se va incerca identificarea adresei de transfer si a datei transferate.
Indicatie : osciloscopul se va sincroniza cu unul din semnalele de comanda care
controleaza ciclul de transfer
3.3 Se scoate o placa de interfata (ex : placa video) si se determina (vizual) semnalele care
sunt utilizate de placa respectiva ( date, adrese, comenzi, intreruperi) ; explicati utilizarea
lor din perspectiva functiei pe care o are placa.
4. Intrebari si probleme
4.1 Care sunt avantajele si dezavantajele magistralei ISA in comparatie cu alte magistrale
utilizate in structura calculatoarelor personale ?
4.2 Pot fi conectate mai multe module master pe o magistrala ISA ? De ce ?
4.3 Cind se recomanda utilizarea unei magistrale seriale ?
4.4 Care sunt avantajele utilizarii magistralei PCI ?
4.5 Proiectati schema bloc a unui analizor de stari care sa permita memorarea si vizualizarea
unei secvente de stari pentru semnalele de pe magistrala ; declansarea memorarii se va
face la o anumita configuratie a semnalelor de intrare (ex : incepind de la o anumita
adresa, de la o anumita data, de la un semnal de comanda, etc.).
Anexa 2.
Magistrala ISA
Pozitia in con.
Denumire
semnal
+5V
B3,B29,D16
-5V
B5
+12V
B9
-12V
B7
GND
B1,B10,B31, D18
AEN
A11
BALE
B28
BCLK
B20
DACKn
IOCS16\
D8 (DACK0)
B17 (DACK1)
B26 (DACK2)
B15 (DACK3)
D10 (DACK5)
D12 (DACK6)
D14 (DACK14)
B18 (DRQ1)
B6 (DRQ2)
B16 (DRQ3)
D9 (DRQ0)
D11 (DRQ5)
D13 (DRQ6)
D15 (DRQ7)
D2
I/OCHCK\
A1
DRQn
I/OCHRDY A10
IORC\
B14
IOWC\
B13
Descriere semnal
Semnale de alimentare ; +5V alimenteaza majoritatea
componentelor digitale ; celelalte tensiuni se folosesc
pentru transmisia seriala si pentru eventuale alte
interfete analogice
Masa
Address Enable ; indica desfasurarea unui ciclu de
acces direct la memorie (DMA) ; este utilizat pentru
invalidarea selectiei prin adresa a porturilor de
intrare/iesire pe durata unui ciclu DMA
Bus Address Latch Enable ; frontul cazator al acestui
semnal indica prezenta unei adrese valide pe
magistrala ; adresa este inscrisa in buffere pe frontul
urcator al semnalului
Bus Clock ; semnal de ceas ; frecventa semnalului
variaza tipic intre 4.77 MHz si 8MHz
DMA Acknowledge ; semnale de achitare a cererilor
de acces direct la memorie (n=0..3, si 5..7)
IRQn
B4 (IRQ9)
B21-B25 (IRQ3-7)
D3-D7 (IRQ10-14)
C2-C8 (LA23-LA16)
LAn
A1
B1
..
..
A31
B31
C1
D1
C18
D18
Anexa 3
Magistrala PCI
Tabelul 1 semnificatia semnalelor magistralei PCI
Denumire Pozitie Descriere semnal
semnal
in con.
A/Dn
Address/Data lignes ; semnale multiplexate de adrese si date ; n=0..31
CLK
Clock ; semnal de ceas (maxim 33MHz)
C/Ben
Comand, Byte Enable ; semnale multiplexate in timp : in prima faza a
ciclului de transfer indica tipul ciclului (vezi tabelul 2) iar in partea
adoua controleazalatimea cuvintului transferat ; n=0..3
FRAME
Semnal folosit pentru a indica daca ciclul este in faza de adresa sau in
faza de date
DEVSEL
Device Select
IDSEL
Initialization Device Select
INTn
Semnale de intrerupere
IRDY
Initiator Ready
LOCK
Semnal folosit pentru blocarea unor resurse partajate aflate pe
magistrala PCI
REQ
Request ; cerere pentru un transfer PCI
GNT
Grant ; acorda dreptul de a utiliza magistrala
PAR
Parity ; semnal de paritate folosit pentru magistralele AD0-31 si
C/BE0-3
PERR
Parity Error ; indica o eroare de paritate
RST
Reset ; semnal de initializare a sistemului
SBO
Snoop Backoff ; semnal de blocare a spionarii
SDONE
Snoop Done ; terminarea fazei de spionare
SERR
System Error ; indica o eroare de paritate la adrese sau o eroare de
sistem
STOP
Cerere de oprire a ciclului curent de transfer ; este generat de unitatea
adresata
TCK
Test Clock ; ceas de test
TDI
Test Data Input
TMS
Test mode Select
TRDY
Target Ready ; unitate adresata pregatita pentru transfer
TRST
Test Logic Reset
Tabel 2
Semnificatia codurilor generate prin semnalele C/BE0..3
C/BE0..3 Tip Comanda
0000
Achitare cerere de intrerupere
0001
Ciclu special
0010
Citire i/e
0011
Scriere i/e
0100
Rezervat
0101
Rezervat
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Citire memorie
Scriere memorie
Rezervat
Rezervat
Citire configuratie
Scriere configuratie
Citire multipla memorie
Ciclu de adresa duala
Citire linie de memorie
Scriere memorie si invalidare
Tabel 3
Structura spatiului de configurare a unui dispozitiv PCI
Bit 0
Adresa
Bit 31
Bit16
00
Identificator unitate
Identificator producator
04
Stare
Comanda
08
Cod clasa
Rezervat
0C
BIST
Antet
Latenta
CLS
10-24
Registru adresa de baza
28-2C
Rezervat
30
Adresa de baza a extensiei ROM
34-38
Rezervat
3C
LatMax
GNTMN
Pin-INT
Linie-INT
40-FF
Disponibil pentru dispozitivul PCI