Proiectarea cu microprocesoare
Descriere
Hardware
-totalitatea componentelor electronice si mecanice ale unui sistem de calcul
Software
-totalitatea programelor utilizate intr-un sistem de calcul
-Hardware-ul unui sistem de calcul cuprinde 5 unitati de baza
-unitatea de control si comanda
UCC
-unitatea aritmetco logica
UAL
-unitatea de memorie
-unitatea de intrare
UI
-unitatea de iesire
UE
De obicei UCC si UAL apar din punct de vedere constructiv impreuna ca un ansamblu numit
unitate centrala(UC)
sau
procesor
in acelasi ansamblu atit functia de intrare cit si cel de iesire,purtind denumirea
unitate intrare/iesire (UI/E)
Unitatea de comanda si control
UCC
urmareste secvente de operatii din intregul sistem ,generind semnale de control
tinind seama de evenimentele externe din
UI/E,UAL si memorie
UCC
aduce instructiunile din memorie
le decodifica,interpreteaza si executa
Memoria
este o unitate functionala ce poate primi conserva si restitui date.
Ea este folosita pentru stocarea atit a programelor ce vor fi executate cit si a datelor(constante,parametri) ce vor fi folosite in cadrul programelor.
Unitatea arimetica-logica
UAL
executa operatii
logice
(SI,SAU,NU comparatii...)
si
aritmetice
(adunari,deplasari,scaderi...)asupra datelor prezente la intrarile ei.
Unitatile de intrare si iesire
UI/E
servesc la introducerea sau scoaterea de informatii in si din memoria sistemului
sau direct in si din
UAL
LSI
este un circuit integrat care are in structura sa mai mult de 500 de tranzistoare si cuprinde o unitate functionala complexa
Microprocesorul mP
este un circuit LSI care realizeaza functiile comune unui ciclu UCC si a unei
UAL
Sistemul microprocesor
este un sistem de prelucrare
si/sau
comanda bazat pe un microprocesor,destinat unor aplicatii diverse
de la control si comanda
la microcalculatoare
Microcalculatorul
este un sistem de calcul a carui unitate centrala este un microprocesor.
Prelucrarea datelor se face pe cuvinte de 4,8,12 sau 16 biti.
Magistrala de date,de adrese si de control
este un grup de linii destinate vehicularii semnalelor de date ,de adrese si
control cu rolul de a interconecta componentele sistemului.
Amplificatorul de magistrala
este un circuit de putere care prezinta de obicei la iesire si starea de impedanta ridicata destinat conducerii unor magistrale lungi.
RAM
este o memorie citeste/scrie.
ROM
este o memorie fixa destinata programelor de supervizare a sistemului in general
a oricaror programe fixe si frecvent utilizate.
Circuitele de interfata
sint circuite LSI care fac parte din familia microprocesorului si realizeaza legatura dintre magistralele sistemului si interfata propriu-zisa a dispozitivelor periferice.
Firmware
Termen care se refera la un program rezident in memoria fixa a unui sistem.Initial termenul se referea doar la microprograme.
Microprogramul
este un program pentru UCC a unui procesor si prin care se interpreteaza orice
instructiune din propriul repertoriu generind semnale de comanda si control corespunzatoare fiecarei instructiuni.
Bootstrap
este o tehnica de a incarca primele instructiuni de obicei un program scurt folosit mai departe pentru aducerea in memoria citeste/scrie a celorlalte programe sau o metoda de a 'deruta' contorul program ca in urma comenzii de initializare sa inceapa cu o alta adresa decit $0000
Intreruperile
reprezinta o tehnica prin care UI/E solicita un serviciu unitatii centrale in
momentul cind o astfel de necesitate apare.Procesorul intrerupe desfasurarea normala a programului in vederea deservirii primului solicitant sau in cazul mai
multor solicitanti a celui mai prioritar.
Acces direct la memorie
reprezinta o tehnica prin care un controler preia de la UC(unitatea centrala) controlul magistralelor in vederea unui transfer de blocuri de date intre memorie si un dispozitiv de intrare/iesire.
Arhitectura microprocesorului
sau structura interna a acestuia in componentele functionale(registre,memorie,decodificatoare,circuite secventiale,sumatoare) modul lor de interconectare (caile de comunicatie interna) si microprogramele.
Registrul tampon
este un registru folosit pentru a compensa fie vitezele diferite de transfer ale datelor intre diferite elemente ale unui sistem functional,fie diferenta de timp dintre 2 evenimente ale acestor componente.
Acumulatorul
este un registru ce face parte din UAL si este folosit pentru pastrarea rezultatului final si uneori a unui operand(este registrul cel mai folosit pentru a cistiga in viteza la rularea unui program).
Contorul de program
este un registru al UC care pastreaza adresa urmatoare in curs de executie,functie de tipul instructiunii in executie si de rezultatele uneori efectuate in UAL.
Stiva
este o memorie citeste/scrie sau un asamblu de registre folosite dupa principiul
ultimul intrat-primul iesit.
Indicatorul stivei
este un registru ce contine fie adresa ultimei locatii ocupate din stiva fie adresa primei locatii neocupate din stiva.
Bistabilele de conditie
sint niste circuite basculante bistabile fie alte elemente de memorare destinate primirii pastrarii si restituiri unor informatii legate de starea generala a procesorului sau de rezultatul unor operatii din UAL.
Starea de impedanta ridicata SIR (stare de impedanta ridicata THREE STATE FLOATING STATE
este o a treia stare in care se poate gasi iesirea unui circuit digital pe
linga cele doua stari logice 0 si 1.Acesta stare consta dintr-o rezistenta
foarte mare(Megaohmi) a iesirii atit fata de masa cit si fata de sursa de
alimentare.
BIT
oricare din cifrele 0 si 1 cind sint folosite intr-un sistem de numeratie binar.
Cuvintul bit provine din prescurtarea adoptata pentru 'binary digit'.
Multiplet
un sir de caractere binare tratate ca o unitate in general mai mic decit un cuvint masina.
Cuvint masina(computer word)
un cuvint stocat intr-o locatie a calculatorului ce poate fi tratat ca o unitate
.
Instructiune
unul sau mai multe cuvinte masina care definesc o operatie a unui UC.
este o comanda elementara care poate fi interpretata si executata de UC
Ciclul instructiune
operatia de a aduce o instructiune din memorie ,decodificarea si executarea ei,cit si timpul acestei operatii
Setul de instructiuni
totalitatea instructiunilor disponibile a unui UC date .In general UC au diferite seturi de instructiuni.
Program
o succesiune de instructiuni astfel intocmita incit sa rezolve anumite probleme dinainte stabilite.
Subrutina
un program sau un subprogram care este parcurs de mai multe ori in timpul executiei programului principal
Chemarea subrutinei (subroutine call)
este trecerea de la programul principal la subrutina ;iar intoarcerea controlului de la subrutina la programul principal se numeste
revenire din subrutina
Mnemonica
nume simbolic in general o abreviere a denumirii unei instructiuni.
Limbaj de asamblare
un limbaj artificial de nivel scazut ce cuprinde toate instructiunile masina scrise intr-o forma simbolica (mnemonici) plus unele macrocomenzi
Limbaj de programare evoluat
un limbaj artificial care admite instructiuni orientate pe functii sau probleme echivalente cu mai multe instructiuni in cod masina sau chiar surutine.
Ele sint independente de structura calculatorului
Asamblor
un program care converteste (translateaza) programe scrise in limbaj de asamblare in echivalentele lor in cod masina.
Aloca pentru program adresele de memorie inlocuind si adresele simbolice cu adrese absolute.Asamblorul este rezident in aceeasi masina pentru care se executa asamblarea.
Crosasamblor(Cross Assembler)
un asamblor rezident intr-un tip de calculator ce translateaza programe in cod masina proprii altui tip de calculator.
Compilator
un translator de programe scrise in limbaje evoluate (Fortran,Pascal,Basic...)
in limbaj de asamblare dau in cod masina.
Program de depanare (Debug Program)
un program ajutator care serveste la detectarea si corectarea erorilor unui program in timpul rularii acestuia.Permite inserarea si stergerea instructinilor
in programul care se corecteaza.
Interpretor(Interpreter)
un program care aduce si executa pas cu pas fiecare instructiune (pseudo instructiune) a unui limbaj de nivel inalt (de exemplu BASIC).
Program de diagnoza si autotestare(Diagnostic Programs)
un program de obicei rezident in ROM sau PROM care verifica diferite parti hardware ale sistemului din care face parte.
Incarcator(Loader)
un program de obicei rezident in memoria fixa care preia date sau programe de la un dispozitiv de intrare spre a le depune in memoria citeste/scrie a masini.
Simulatorul
sint programe care simuleaza executia programelor in limbaje masina ale unui alt calculator.Procesul de simulare are loc pe un calculator bine dotat software
Microprocesorul cu un singur canal intern
Canalul de date intern conecteaza intre ele registrele interne memoria de tip 'Scratchpad' si unitatea arimetico-logica.
UAL are doua intrari si o iesire ,toate legate la canalul de comunicatie intern.
Din acest motiv fie intrarile fie o intrare si o iesire trebuiesc prevazute cu registre tampon.
Registrele folosite la stocarea temporara a operanzilor UAL le denumim registre tampon sau registre temporare.
Pentru a demonstra necesitatea celor doua registre temporare presupunem o structura cu numai un singur registru temporar,a doua intrare a UAL fiind legata
direct la canalul intern.
Pe aceasta structura sa urmarim o operatie
Presupunem ca scoatem din doua registre generale operanzi A si B asupra carora se efectueaza operatia SAU si rezultatul se depune in memorie.
Pentru aceasta avem nevoie de trei timpi,T1,T2,T3.
Pe T1 se aduce operandul A sin registrul general si se depune in unicul registru temporar de la intrarea din stinga UAL.
Pe T2 se aduce operandul B din celalalt registru general pe canalul de comunicatie pe care l-am presupus a fi conectat direct la intrarea a doua a UAL
Pe T3 rezultatul operatiei logice asupra celor doi operanzi aflati la intrarile
UAL se va regasi dupa un timp de ordinul zecimilor de nanosecunde la iesirea
UAL deci pe canalul de comunicatie intern;acest rezultat urmeaza a fi scos pe magistrala de date prin intermediul registrului tampon,dar rezultatul odata depus pe canalul intern va modifica starea intrarii fara tampon a unitatii aritmetico-logice
Modificidu-se de fapt unul di operanzi se modifica (viciaza) rezultatul operatiei.
Asadar functionarea unei structuri de tipul celei presupuse mai sus nu este posibila.
Cele doua registre temporare pot fi aranjate unul la intrare si celalalt la iesirea UAL,fie la ambele intrari.
Avantajul unei astfel de structuri interne consta in aceea ca reprezinta o arhitectura simpla ,usor de stapinit din punct de vedere a proiectantului
de circuite integrate.
UNITATI DE DISCURI FLEXIBILE-UDF

Suportul magnetic incorporat in disketa,
diskette
are nevoie de un dispozitiv electromecanic pentru crearea conditiilor ca interfata mediu-cap magnetic sa faciliteze transferul de date intre mediul magnetic si o interfata electrica stabilita,de regula cu niveluri logice '0'
(0v..0.8v) si '1' (2.4v...5v).
Acest dispozitiv,
driver
este denumit unitate de disc flexibil,UDF,fiind un echipament periferic de sine
statator.Impreuna cu blocul de cuplare la magistrala calculatorului,una sau
mai multe UDF formeaza un
subsistem de disc flexibil
SSDF
Adaptarea interfetei UDF la magistrala microcalculatorului este realizata intr-un modul care organizeaza datele de pe un suport conform unui format standardizat sau specializat al pistei.
Aceasta parte se numeste
formator
FRM.
Formatorul,impreuna cu
circuitele de dialog cu magistrala
CDM
,se constituie intr-o unitate numita
cuplor de disc flexibil
CDF.
In concluzie ,un SSDF se compune din mai multe UDF si un CDF,acesta din urma
fiind format din FRM si CDM.Modul de organizare descris se intilneste si la alte subsisteme atasate unui calculator(banda magnetica,disc de capacitate mare
statie grafica...).
Dam mai jos definitiile altor termeni utilizati in capitolul de disc flexibil
Mod de iregistrare
procedeu de reprezentare a informatiei,in vederea adaptarii la caracteristicile
mediului de inregistrare,prin care simbolurile de informatie sint inlocuite
cu cuvinte de cod
Modulatie de frecventa,Frequency Modulation,FM
mod de iregistrare in care un simbol de informatie se codeaza intr-un cuvint de
cod cu doua simboluri,
celula-bit
astfel ca primul simbol inregistrat,numit simbol de sincronizare-'ceas',este
intotdeauna '1',iar al doilea simbol este chiar informatia ce se doreste a fi
memorata
Modulatie modificata a frecventei ,Modified Frequency Modulation,MFM
mod de inregistrare derivat din FM ,in care simbolul de sincronizare dintr-un
cuvint de cod lipseste,daca exista simbol de informatie adiacent ,in cuvintul
precedent sau in celula curenta.Se obtine o micsorare a interferentei intersimbol si o eficienta mai buna a codarii
Densitate de iregistrare(liniara) a informatiilor
raport intre numarul de informatii inregistrate si lungimea fizica a inregistrarii.Se exprima in
bits per inch
,bpi,sau biti pe mm,bit/mm, (1bit/mm = 25,4 bpi).
Densitate de inregistrare a tranzitiilor
raport intre numarul de tranzitii in magnetizare inregistrate si lungimea fizica
a inregistrarii.Se masoara in tranzitii pe
inch
frpi-
flux revelsals per inch
pentru sir continuu de tranzitii.
Timp de acces la date,dupa pozitionare
durata necesara pentru ca informatia utila pe discul in rotatie sa ajunga in dreptul capului pozitionat.
Pozitionare
stare pregatita a capului magnetic ,'incarcat',pe suprafata de inregistrare
in dreptul pistei dorite,gata de a efectua transferul de date.
Timp de pozitionare pe pista
interval de timp necesar pentru pozitionarea capului magnetic pe o alta pista
dorita.Se compune din timpul de deplasare de la o pista la alta si timpul
de amortizare a oscilatiilor mecanice ,pe pista dorita.
Timp maxim de pozitionare
timp de pozitionare pe pista 80(0),pornind de la pista 0(80).
Timp mediu de pozitionare
timp de pozitionare calculat pentru accesul la o pista oarecare(suma duratelor tuturor deplasarilor posibile impartita la numarul de posibilitati).
Timp de acces
timp de pozitionare plus timpul de acces la date
Timp mediu de acces statistic
timp mediu de acces calculat pentru o operatie complexa cu discul,caracterizat
de raportul intre timpul total de lucru si numarul total de accese,scazind timpul in care nu se lucreaza cu discul.
Index
semnal care precizeaza un punct de referinta pe circumferinta pistei;apare in timpul rotatiei dischetei,la trecerea unui orificiu din mediul magnetic prin
dreptul unei fante circulare,prevazute in plic.
Pista
spatiul de iregistrare accesibil capului magnetic la o rotatie complecta.Magnetizarea se face in directia de parcurgere a pistei,prin saturatie
in cele doua sensuri
Sector
unitate de iregistrare continind un numar standardizat de octeti.Este precedat
de octetul(octetii)-marca,in functie de care se stabileste natura lui:normal sau
special.Sectoarele speciale,defecte sau protejate,pot fi sarite la examinarea
unei piste.
Decalaj de virf,peak-shift
variatia pozitiei virfului impulsului citit in raport cu pozitia sa normala.Se
masoara relativ la pozitia impulsului precedent sau la o localizare medie a impulsurilor precedente,stabilita cu ajutorul unei bucle cu calare pe faza,
PLL
Formatare
operatie initiala de premarcare;se iregistreaza complect pista ,cu un continut
stabilit in sectoarele de date,ordinea numerelor de sectoare,inscrise in blocul
de indentificare,BI,poate fi normala(1...1AH)sau aleatoare conforma cu un
tabel specificat
SEMNALE DE INTERFATA A UNITATILOR DE DISC FLEXIBIL
Liniile de interfata sint de regula de tip cu colector-in-gol,active pe '0'.
La un singur FRM pot fi conectate ,printr-un cablu care trece de la o unitate la
alta ,in lant,
daisy chain
mai multe(2..4)UDF-uri.
Selectarea se face prin semnale separate,recunoscute cite unul singur in fiecare UDF.
Circuitele de electronice aferente UDF se compun din:
-circuite de comenzi si stare;
-circuite de scriere;
-circuite de citire;
-surse de alimentare(eventual comune la mai multe UDF)
Circuitele de scriere/citire realizeaza transferul de informatii intre interfata
electrica a UDF (nivel logic) si capul magnetic(nivel analogic).
Interfata mediu-cap magnetic transfera informatia intre nivelul electric
analogic (prezenta si curent in infasurari) si nivelul magnetic remanent zone succesive cu magnetizare de sens opus).
Circuitele de scriere transforma un sir de impulsuri in schimbari ale curentului de scriere,care conduc la tranzitii intre starile de magnetizare de pe suportul magnetic.
Circuitele de citire prelucreaza curentul indus in infasurarea de citire a capului magnetic corespunzator fiecarei tranzitii in magnetizare,furnizind impulsuri care se trimit pe interfata cu FRM.
Blocul de comanda si stare furnizeaza succesiunea de comenzi,pentru diferite subansamble ale UDF,in vederea stabilirii conditiilor normale de lucru,respectind semnalele de interfata primite si emitind,la rindul sau semnale de stare ,in conformitate cu traductoarele existente pe unitate.
Se furnizeaza comenzi pentru actionarea motorului pas-cu-pas,dupa analiza
semnalelor
STEP
si
DIRECTION
se actioneaza solenoidul de incarcare a capului,conform comenzi
HEAD LOAD
,se trimit pe interfata semnalarile LED-ului de
INDEX
ale LED-ului de
WRITE PROTECT
si se reunesc mai multe conditii pentru generarea semnalelor
READY
(unitate pregatita pentru transfer si
WRITE FAULT.
Semnalul WRITE FAULT se memoreaza intr-un bistabil ,astfel ca pentru inceperea
unei alte operatii de scriere,acesta trebuie sters cu un semnal de interfata
WRITE FAULT RESET
Dam in continuare o descriere detaliata a semnalelor de interfata,pe baza carora
se construieste FRM,pentru CDC 9404:
STEP
,pas.Un impuls la '1'logic de minimum 10 microsecunde(1 microsecunda) conduce
la deplasarea capului pe o pista alaturata spre interior sau exterior,in functie
de semnalul
DIRECTION
,stabilit cu cel putin 1 microsecunda inainte.Impulsurile succesive se pot da la intervale de minimum 10 ms (4 ms).Dupa ultimul impuls se produc oscilatii mecanice care se amortizeaza in 20 ms.
DIRECTION
,directie.
Nivelul logic
'1'
determina directia de deplasare a capului magnetic spre
interior.
Nivelul logic
'0'
determina directia de deplasare a capului magnetic spre
exterior.
Starea liniei trebuie fixata cu minimum 1 microsecunda inaintea lansarii comenzi
STEP
UNIT SELECT 1..4
,selectie UDF.
Nivelul logic '1' pe o singura linie selecteaza una dintre cele 4 unitati,in vederea transferului cu FRM.
UNIT READY 1..4
,UDF pregatita.
Nivelul logic '1' arata ca unitatea respectiva este pregatita de lucru si ca semnalele de
INDEX
sosesc intr-un interval stabilit.
La CDC 9404 semnalele
READY 1..4
contin starea unitatiilor indiferent de selectare.
HEAD LOAD
,incarcare cap.
Un nivel logic '1' incarca discul pe capul magnetic folosind tamponul presor de pe celealta parte a dischetei.In urma incarcarii se produc oscilatii mecanice
care se amortizeaza in 60 ms(35 ms),dupa care se pot incepe operatiile de scriere sau citire.Pentru a preveni uzura inutila a capului si a mediului,se cere ca acest semnal sa fie inactiv daca nu se intentioneaza o operatie de transfer de date.
WRITE ENABLE
,validare scriere.
Un nivel logic '1' valideaza ca datele sosite pe linia
WRITE DATA
sa fie inregistrate pe disc.
Nivelul logic '0' valideaza ca datele inregistrate pe disc sa fie trimise pe
linia
READ DATA.
WRITE DATA
,date scriere.
Un impuls de nivel logic '1' ,avind durata de 250ns+_50 ns,conduce,pe frontul
anterior la o tranzitie in magnetizarea de pe suport.In FM ,impulsurile sint
distantate la 2 sau 4 microsecunde,pentru o celula bit
INDEX
Un impuls '1' logic semnaleaza prezenta perforatiei din mediul magnetic in dreptul orificiului di plicul protector.Pentru discurile 'sectorizate soft'
se obtine o informatie asupra pozitiei relative a discului fata de unitate.
Impulsul are latimea de 1.8 ms.Impulsurile succesive apar la 166,7ms,pentru durata unei rotatii la viteza de 6 rot./s.
Pentru dischete cu 'sectorizare hard',care au inca 32 de perforatii echidistante
pe circumferinta perforatiei de
INDEX
,linia furnizeaza indicatii asupra inceputului sectoarelor de date.
Prin modificari in UDF cu
strap-uri
,o discheta cu 'sectorizare hard' poate fi considerata ,la interfata UDF,ca discheta cu 'sectorizare soft'-prezentind un singur impuls de
INDEX
la o rotatie.
TRAK 00
,pista 0.
Nivelul logic '1' indica prezenta capului magnetic in dreptul pistei cu circumferinta maxima,numita si pista de referinta.
READ DATA
,date citite.
Impulsuri ,nivelul logic '1' reflecta prezenta ,in mediul ce trece prin fata capului magnetic,a tranzitiilor in magnetizare.
Duratele corespund celor de la
WRITE DATA
,iar localizarea impulsurilor prezinta variatii provocate de decalajul de virf
CDC 9404 asigura decalaj de virf intre +-0.5 microsecunde(FM)si intre +-0.35 microsecunde (MFM) pentru cazul unei masurari avind referinta mediata cu bucla PPL.
WRITE PROTECT
,protectie la scriere.
Nivelul logic '1' semnaleaza prezenta crestaturii de pe marginea dischetei.
Operatiunile de scriere sint invalidate ,chiar daca se emit comenzi in acest sens.Nu se actioneaza bistabilul
WRITE FAULT.
WRITE FAULT.
eroare in scriere.Semnalul prezent numai la CDC 9404,care ,pe '1' logic,semnaleaza aparitia unei situatii anormale in timpul operatiei de scriere
impuse de activarea liniei
WRITE ENABLE.
WRITE FAULT RESET
,initializare memorare eroare scriere.La '1' logic se sterge bistabilul din UDF care a memorat aparitia unei stari de eroare la scriere,
WRITE FAULT
(numai la CDC 9404).
LOW CURRENT
,comanda curent scriere.
Semnal care,la '1' logic,schimba valoarea curentului de scriere.Se foloseste pentru a micsora interferenta intersimbol la densitatea de iregistrare mai mare
de pe pistele interioare pistei 43.