Magistra Le

11
Laborator 2 Magistrale si standarde de magistrala 1. Scopul lucrarii : prezentarea principiilor si mecanismelor care guverneaza transferul de informatii intre componentele unui sistem de calcul pe diferite tipuri de magistrale. 2. Consideratii teoretice : 2.1 Scurt istoric Un sistem de calcul se compune dintr-un set de componente (unitate centrala, memorie, interfete de intrare/iesire si dispozitive periferice) care schimba informatii intre ele. In modelul de calculator propus de J. Von Neumann comunicatia dintre componentele sistemului se realizeaza prin legaturi dedicate intre perechi de componente. Aceasta abordare este relativ rigida, limitind in mare masura scalabilitatea sistemului. Adaugarea de noi componente este dificila si implica modificarea componentelor deja existente. De asemenea proiectarea unei noi componente presupune cunoasterea in amanuntime a functionarii celorlalte componente. Solutionarea acestei probleme a venit din partea firmei Digital Equipment Corporation (DEC) care, la sfirsitul anilor ’60, a lansat pe piata primul calculator (PDP 11), construit in jurul unei magistrale - magistrala Unibus. Din punct de vedere conceptual, magistrala este un mediu comun de comunicatie intre componentele unui sistem de calcul; fizic este alcatuit dintr-un set de semnale care faciliteaza transferul de date si sincronizarea intre componentele sistemului. Introducerea conceptului de magistrala a revolutionat modul de concepere si proiectare a noilor sisteme de calcul. Modelul de calculator bazat pe magistrala a fost preluat mai ales de familiile de calculatoare mini si micro. Prin standardizarea magistralelor, sistemele de calcul au devenit deschise, in sensul ca un numar mai mare de producatori au putut sa realizeze componente pentru o anumita structura de calculator (module de memorie, interfete de intrare/iesire, echipamente periferice), bazindu-se numai pe specificatiile magistralei. In decursul timpului au fost dezvoltate diferite standarde de magistrala care au urmarit evolutia procesoarelor (a unitatilor centrale) si a necesitatilor de comunicatie ale acestora (viteza, mod de transfer, necesitati de sincronizare si control, etc.). S-au dezvoltat de asemenea magistrale specializate pentru anumite tipuri de echipamente periferice (ex : unitati de disc, console grafice, interfete de masura si control, etc.). Din acest punct de vedere in momentul de fata se pot distinge doua clase de magistrale : magistrale de sistem – dezvoltate mai ales pentru conectarea unitatii centrale la celelalte componente ale sistemului (ex : MULTIBUS, ISA, EISA, PCI) si magistrale specializate, care incearca sa optimizeze transferul de date cu un anumit tip de echipamente periferice ( ex : VESA, SCSI, GPIB). Aparitia si evolutia ulterioara a microprocesoarelor a consacrat modelul de calculator bazat pe magistrala. Configuratia semnalelor unui microprocesor este astfel conceputa incit sa permita conectarea usoara la o magistrala de sistem. In general fiecare familie de procesoare (vezi I8080, Z80, MC68000, etc.) a impus o anumita structura si un anumit standard de magistrala. Exista insa anumite trasaturi comune pentru toate aceste magistrale (ex : principii de transfer, tipuri de semnale), astfel incit modulele proiectate pentru un anumit tip de magistrala pot fi usor modificate pentru a putea fi conectate pe o alta magistrala. In ultima perioada au aparut o serie de noi standarde de magistrala, care incearca sa tina pasul cu cerintele de comunicare ale noilor generatii de procesoare. S-au introdus noi principii de transfer (ex : transfer paralel prin tranzactii, prelucrare pipeline a cererilor de transfer), care contracareaza intr-o oarecare masura limitarile de viteza impuse de legile fizice de transmisie a semnalului electric.

description

d

Transcript of Magistra Le

Page 1: Magistra Le

Laborator 2

Magistrale si standarde de magistrala

1. Scopul lucrarii : prezentarea principiilor si mecanismelor care guverneaza transferul de

informatii intre componentele unui sistem de calcul pe diferite tipuri de magistrale.

2. Consideratii teoretice :

2.1 Scurt istoric

Un sistem de calcul se compune dintr-un set de componente (unitate centrala, memorie,

interfete de intrare/iesire si dispozitive periferice) care schimba informatii intre ele. In

modelul de calculator propus de J. Von Neumann comunicatia dintre componentele sistemului

se realizeaza prin legaturi dedicate intre perechi de componente. Aceasta abordare este relativ

rigida, limitind in mare masura scalabilitatea sistemului. Adaugarea de noi componente este

dificila si implica modificarea componentelor deja existente. De asemenea proiectarea unei

noi componente presupune cunoasterea in amanuntime a functionarii celorlalte componente.

Solutionarea acestei probleme a venit din partea firmei Digital Equipment Corporation (DEC)

care, la sfirsitul anilor ’60, a lansat pe piata primul calculator (PDP 11), construit in jurul unei

magistrale - magistrala Unibus.

Din punct de vedere conceptual, magistrala este un mediu comun de comunicatie intre

componentele unui sistem de calcul; fizic este alcatuit dintr-un set de semnale care faciliteaza

transferul de date si sincronizarea intre componentele sistemului.

Introducerea conceptului de magistrala a revolutionat modul de concepere si proiectare a

noilor sisteme de calcul. Modelul de calculator bazat pe magistrala a fost preluat mai ales de

familiile de calculatoare mini si micro. Prin standardizarea magistralelor, sistemele de calcul

au devenit deschise, in sensul ca un numar mai mare de producatori au putut sa realizeze

componente pentru o anumita structura de calculator (module de memorie, interfete de

intrare/iesire, echipamente periferice), bazindu-se numai pe specificatiile magistralei.

In decursul timpului au fost dezvoltate diferite standarde de magistrala care au urmarit

evolutia procesoarelor (a unitatilor centrale) si a necesitatilor de comunicatie ale acestora

(viteza, mod de transfer, necesitati de sincronizare si control, etc.). S-au dezvoltat de

asemenea magistrale specializate pentru anumite tipuri de echipamente periferice (ex : unitati

de disc, console grafice, interfete de masura si control, etc.). Din acest punct de vedere in

momentul de fata se pot distinge doua clase de magistrale : magistrale de sistem – dezvoltate

mai ales pentru conectarea unitatii centrale la celelalte componente ale sistemului (ex :

MULTIBUS, ISA, EISA, PCI) si magistrale specializate, care incearca sa optimizeze

transferul de date cu un anumit tip de echipamente periferice ( ex : VESA, SCSI, GPIB).

Aparitia si evolutia ulterioara a microprocesoarelor a consacrat modelul de calculator

bazat pe magistrala. Configuratia semnalelor unui microprocesor este astfel conceputa incit sa

permita conectarea usoara la o magistrala de sistem. In general fiecare familie de procesoare

(vezi I8080, Z80, MC68000, etc.) a impus o anumita structura si un anumit standard de

magistrala. Exista insa anumite trasaturi comune pentru toate aceste magistrale (ex : principii

de transfer, tipuri de semnale), astfel incit modulele proiectate pentru un anumit tip de

magistrala pot fi usor modificate pentru a putea fi conectate pe o alta magistrala.

In ultima perioada au aparut o serie de noi standarde de magistrala, care incearca sa tina

pasul cu cerintele de comunicare ale noilor generatii de procesoare. S-au introdus noi principii

de transfer (ex : transfer paralel prin tranzactii, prelucrare pipeline a cererilor de transfer), care

contracareaza intr-o oarecare masura limitarile de viteza impuse de legile fizice de transmisie

a semnalului electric.

Page 2: Magistra Le

2.2 Elementele definitorii ale unei magistrale

O magistrala se compune dintr-un set de semnale si un set de reguli care guverneaza

transferul de informatii si accesul la mediul de comunicatie. Informatiile transferate pot fi :

date, instructiuni si informatii de control si sincronizare. Regulile se refera la :

- caracteristicile fizice si electrice ale componentelor conectate pe magistrala (ex :

nivele de tensiune, curenti, incarcare, tip conectori, etc.)

- secventa de generare a semnalelor necesare pentru efectuarea unui transfer

- timpi limita pentru diferitele faze ale unui transfer si timpi de mentinerea unui anumit

semnal

- interconditionarile functionale si temporale intre diferitele tipuri de semnale

Functie de numarul semnalelor utilizate pentru transferul de date, magistralele pot fi de

doua tipuri: magistrale paralele si magistrale seriale. Magistralele seriale se utilizeaza rar ca

mijloc de comunicatie intre componentele de baza ale unui calculator (unitate centrala,

memorie, interfete de intrare/iesire) datorita vitezei de transfer relativ scazute. Se utilizeaza

totusi in anumite sisteme dedicate bazate pe microcontroloare, la care costul si dimensiunea

redusa sunt parametri definitorii. In continuarea acestei lucrari ne vom referi la magistralele

paralele.

In acceptiunea clasica, o magistrala se compune din urmatoarele tipuri de semnale :

- semnale de date – semnale bidirectionale utilizate pentru transferul de date si

instructiuni ; la un moment dat o singura unitate poate sa emita pe liniile de date ;

numarul de linii de date (ex : 8, 16, 32, 64) determina dimensiunea maxima a

cuvintului de date care poate fi transferat la un moment dat si implicit viteza medie de

transfer a magistralei ;

- semnale de adresa – utilizate pentru specificarea adresei modulului destinatie sau

sursa ; numarul de linii de adresa determina spatiul maxim de adresare permis de

magistrala (ex : 24 linii de adresa determina un spatiu de adresare de 2^24=16

Mlocatii)

- semnale de comanda – utilizate pentru specificarea directiei de transfer (ex : dinspre

procesor sau catre procesor) si a tipului de modul adresat ( ex : modul de memorie,

modul de intrare/iesire, modul de memorie program, controlor de intrerupere, etc.)

- semnale de control – utilizate pentru reglarea conditiilor de transferare a datelor (ex :

temporizarea deschiderii/inchiderii amplificatoarelor de magistrala)

- semnale de intrerupere – permit semnalizarea unor evenimente interne sau externe si

impicit determina intreruperea executiei programului curent

- semnale de ceas – folosite pentru sincronizare si pentru generarea unor semnale de

frecventa programabila

- semnale de alimentare – folosite pentru alimentarea modulelor sistemului

- semnale de control al accesului – folosite pentru arbitrarea si controlul accesului pe

magistrala ( in cazul magistralelor multimaster)

Numarul si semnificatia particulara a semnalelor depinde de tipul si destinatia magistralei.

Anumite grupe de semnale din cele prezentate pot sa lipseasca (ex : semnale de control) sau

altele noi pot fi adaugate (ex : semnale de eroare, semnale de control al latimii datelor

transferate, etc.).

Magistralele pot fi clasificate dupa mai multe criterii :

a. dupa modul de lucru (in raport cu semnalul de ceas):

- magistrale sincrone – la care ciclurile de transfer sunt direct corelate cu semnalul de

ceas (vezi magistrala Pentium) ; viteza de transfer este mai mare insa dimensiunea

magistralei este limitata de frecventa ceasului; datorita vitezei limitate de propagare a

semnalului electric, cresterea dimensiunii magistralei ar putea duce la diferente de faza

la capetele magistralei.

Page 3: Magistra Le

- 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

IEEE

Nume popular Domenii de utilizare

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

Page 4: Magistra Le

P996 PC bus Pentru calculatoare personale

P1014 VME bus Sisteme microprocesor performante ( bazate pe familia

Motorola 68000)

P1196 Nubus Sisteme multiprocesor

Unibus Minicalculatoare , PDP 11

QBus Minicalculatoare, VAX

SCSI Magistrala pentru periferice (disc, banda)

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 :

Page 5: Magistra Le

- ciclu de citire memorie

- ciclu de scriere memorie

- ciclu de citire port de intrare

- ciclu de scriere port de iesire

- ciclu de achitare a intreruperii (identificare a sursei de intrerupere)

Tipul de ciclu este indicat prin activarea semnalului de comanda corespunzator : MRDC\

(Memory Read Command), MWTC\ (Memory Write Command), IORC\ (Input Output Read

Command), IOWC\ (Input Output Write Command) sau INTA\ (Interrupt Acknowlidge). Un

ciclu de transfer presupune activarea si dezactivarea unor semnale conform unei diagrame de

timp. In figura 1 s-a reprezentat diagrama de timp pentru un ciclu de citire memorie, iar in

figura 2 pentru un ciclu de scriere memorie.

BCLK

LA17-23

BALE

SA0-19

SBHE\

MRDC\

MWTC\, IORC\, IOWC\

SD0-15

Figura 1 Ciclu de citire memorie

BCLK

LA17-23

BALE

SA0-19

SBHE\

MWTC\

MRDC\, IORC\, IOWC\

SD0-15

Figura 2 Ciclu de scriere memorie

Page 6: Magistra Le

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.

2.5 Magistrala PCI (Peripheral Component Interconnect)

PCI este o magistrala de mare performanta si cost redus, adaptata cerintelor actuale de

viteza ale noilor procesoare. Standardul a fost initiat de firma Intel, dar curind a fost adoptata

si de alte firme importante in domeniul calculatoarelor cum ar fi Machintosh sau SUN.

Magistrala dispune de 32 de linii de date (varianta extinsa 64) si 32 de linii de adresa ;

frecventa de lucru este de 33MHz. Astfel se obtine o viteza maxima de transfer de 132 Mbps

(264 pentru varianta pe 64 de biti). Liniile de adresa si date sunt multiplexate cu scopul de a

reduce spatiul ocupat de conector si implicit pentru a reduce costurile.

Modul uzual de lucru al magistralei este in rafala (burst) speculind in acest fel

posibilitatile mai rapide de transfer pentru circuitele de memorie dinamica. In acest mod, la

inceputul unui transfer, se precizeaza adresa de inceput a blocului de date, dupa care datele

sunt transferate de la adrese consecutive fara precizarea adresei. Nu exista limita privind

lungimea ciclului de transfer in rafala.

Magistrala permite specificarea a trei tipuri de adrese (spatii de adresare) : memorie,

intare/iesire si configurare. Spatiul de configurare al unui dispozitiv PCI contine informatii

referitoare la tipul dispozitivului, producator, caracteristici constructive, registru pentru adresa

de baza, pentru latenta, etc. Aceste informatii sunt utilizate la initializarea sitemului pentru

configurarea automata a placilor PCI (tehnica plug-and-play). La initializare fiecare placa

primeste o adresa de baza si eventual un nivel de intrerupere. Placile pot contine o memorie

ROM cu programe pentru initializarea si utilizarea eficienta a placii.

In Anexa 3 sunt prezentate semnalele magistralei PCI si structura spatiului de configurare

al unui dispozitiv PCI.

Magistrala permite cuplarea mai multor unitati master. Arbitrarea se realizeaza centralizat,

de obicei de catre unitatea care face legatura dintre magistrala PCI si magistrala procesorului

gazda. Fiecare dispozitiv master PCI primeste la initializare un timp de latenta. Acest

parametru indica timpul maxim de pastrare a controlului magistralei de catre dispozitivul

respectiv.

Magistrala PCI se poate adapta usor la magistralele noilor variante de procesoare ; in acest

scop se utilizeaza un circuit specializat de tip bridge care face legatura intre cele doua

magistrale.

Datorita performantelor ridicate, magistrala PCI a fost adoptata ca standard de multe firme

producatoare de componente si are sanse mari de a se mentine si in viitor in topul

magistralelor.

Page 7: Magistra Le

In figura 3 s-a reprezentat un ciclu tipic de transfer in rafala.

CLK

FRAME

AD Adresa Data1 Data2 Data3 Data4

C/BE Comanda Validare date

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.).

Page 8: Magistra Le

Anexa 2.

Magistrala ISA

Denumire

semnal

Pozitia in con. Descriere semnal

+5V B3,B29,D16

-5V B5

+12V B9

-12V B7

Semnale de alimentare ; +5V alimenteaza majoritatea

componentelor digitale ; celelalte tensiuni se folosesc

pentru transmisia seriala si pentru eventuale alte

interfete analogice

GND B1,B10,B31, D18 Masa

AEN A11 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

BALE B28 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

BCLK B20 Bus Clock ; semnal de ceas ; frecventa semnalului

variaza tipic intre 4.77 MHz si 8MHz

DACKn D8 (DACK0)

B17 (DACK1)

B26 (DACK2)

B15 (DACK3)

D10 (DACK5)

D12 (DACK6)

D14 (DACK14)

DMA Acknowledge ; semnale de achitare a cererilor

de acces direct la memorie (n=0..3, si 5..7)

DRQn B18 (DRQ1)

B6 (DRQ2)

B16 (DRQ3)

D9 (DRQ0)

D11 (DRQ5)

D13 (DRQ6)

D15 (DRQ7)

DMA Request ; cereri de acces direct la memorie

(n=0..3 pentru transferuri pe 8 biti si 5..7 pentru

transferuri pe 16 biti)

IOCS16\ D2 I/O size 16 ; indica selectia unui port pe 16 biti ;

permite efectuarea unui transfer simultan pe 16 linii de

date ; daca semnalul nu este activat de interfata atunci

un cuvint de date (16 biti) se transfera in doua cicluri

masina (cite 8 biti)

I/OCHCK\ A1 I/O Channal Check ; semnal folosit pentru a indica o

eroare de transfer (ex : eroare de paritate) ; poate

genera o intrerupere nemascabila NMI

I/OCHRDY A10 I/O Channal Ready ; prin dezactivarea semnalului se

pot induce stari de asteptare in decursul unui ciclu ;

asteptarea nu poate dura mai mult de 15 us, pentru ca

ar deranja ciclurile normale de reimprospatare a

memoriei

IORC\ B14 I/O Read Command ; semnal de comanda activat in

timpul unui ciclu de citire periferic

IOWC\ B13 I/O Write Command ; semnal de comanda activat in

timpul unui ciclu de scriere periferic

Page 9: Magistra Le

IRQn B4 (IRQ9)

B21-B25 (IRQ3-7)

D3-D7 (IRQ10-14)

Interrupt Request ; semnale de intrerupere (n= 2..7 si

10..15) ;

LAn C2-C8 (LA23-LA16) Lachable Address ; linii de adrese nememorate (sunt

valide numai pe durata semnalului BALE) ; n=16..23

MASTER\ D17 Semnal generat de un modul master cind initiaza un

ciclu de transfer ; se foloseste de catre un procesor de

i/e in conjunctie cu semnalele DRQ/DACK pentru

preluarea controlului magistralei

MEMCS16\ D1 Semnal asemanator cu I/OCS16 ; indica selectarea

unui modul de memorie pe 16 biti

MRDC\ B12 Memory Read Command ; semnal de comanda activat

pe durata ciclului de citire memorie

MWTC\ B11 Memory Write Command ; semnal de comanda activat

pe durata ciclului de scriere memorie

NOWS B8 No Wait State ; semnal generat pentru eliminarea

starilor de asteptare generate in mod automat

OSC B30 Oscilator ; semnal generat de oscilatorul sistemului

(14,31818MHz) ; acest semnal este divizat cu diferiti

factori pentru a obtine frecventa de reimprospatare a

memoriei dinamice, pentru transferul serial, etc.

REFRESH B19 Semnal care indica desfasurarea unui ciclu de

reimprospatare a memoriei dinamice

RESET B2 Semnal de initializare a sistemului

SA0-19 A12-A31 (SA19-SA0) Semnale de adresa, mentinute valide pe toata durata

ciclului de transfer

SBHE\ C1 System Bus High Enable ; semnal ce indica un transfer

pe partea superioara a magistralei de date (SD8-15) ;

impreuna cu SA0 controleaza latimea cuvintului de

date care se transfera

SD0-15 A2-A9 (SD7-SD0)

C11-C18 (SD8-SD15)

System Data lines ; linii bidirectionale pentru

transferul de date

SMEMR\ C9 System Memory Read ; indica un ciclu de citire din

spatiul de memorie sub 1Mo.

SMEMW\ C10 System Memory Write ; indica un ciclu de scriere din

spatiul de memorie sub 1Mo.

T/C B27 Terminal Count ; indica terminarea transferului unui

bloc de date prin acces direct la memorie (DMA)

A1 ….. A31 C1 …… C18

B1 ….. B31 D1 …… D18

Conectorii magistralei ISA

Page 10: Magistra Le

Anexa 3

Magistrala PCI

Tabelul 1 semnificatia semnalelor magistralei PCI

Denumire

semnal

Pozitie

in con.

Descriere semnal

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

Page 11: Magistra Le

0110 Citire memorie

0111 Scriere memorie

1000 Rezervat

1001 Rezervat

1010 Citire configuratie

1011 Scriere configuratie

1100 Citire multipla memorie

1101 Ciclu de adresa duala

1110 Citire linie de memorie

1111 Scriere memorie si invalidare

Tabel 3

Structura spatiului de configurare a unui dispozitiv PCI

Adresa Bit 31 Bit16 Bit 0

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