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.