Sunteți pe pagina 1din 89

ARHITECTURA

CALCULATOARELOR/SISTEMELOR
DE CALCUL
Curs
Specializările Calculatoare și Automatică anul II

18.03.2020 1
Modalitate de notare și Cerințe:
Nota finală rezultă din media ponderată a
următoarelor:
 Proiect 20%
 Test de laborator 20%
 Examen 40%
 Activitate curs si prezență 10%
Notă: Pentru a se putea prezenta la examen, studenţii
au obligaţia să efectueze 80% din laboratoare şi să
prezinte proiectul.
Laboratoarele se recuperează contra cost.
Testul și proiectul se notează de la 1 la 10.
Pentru a se putea prezenta la examen, studentul
trebuie să primească cel puţin 5 (cinci) atât la proiect
cât și la test.
18.03.2020 2
Cuprins
 Scurt istoric al calculatoarelor
 Principiile Von Newman
 Magistrale
 Microprocesoarele şi IBM PC
 Coprocesorul mathematic
 Porturi, conectori, interfețe
 Memorii
 Registrele CPU.

18.03.2020 3
18.03.2020 4
Electronic Numerical Integrator And Computer
ENIAC

18.03.202
0 5
ENIAC - primul calculator electronic de uz general

Calculator numeric (digital), Turing-complet, capabil de a fi


reprogramat pentru a rezolva o gamă largă de probleme.

- proiectat și construit pentru a calcula tabele balistice pentru


laboratorul de cercetări balistice al armatei americane;
- finalizat în 1946, presa l-a etichetat drept un „creier uriaș”;
- Avea o viteză de calcul de o mie de ori mai mari decât mașinile
electromecanice, salt în domeniul puterii de calcul neegalat de
atunci de nicio mașină;
- finanțat de armata SUA în timpul celui de-al doilea război
mondial;
- Creat la Școala Moore de Inginerie Electrică din Universitatea
Pennsylvania. Gata in 14 februarie 1946 (500.000 de dolari)
- Upgrade in 9 noiembrie 1946 pentru o extindere de memorie și
alte modificări;
- 29 iulie 1947, a fost pornit și a funcționat în permanență până
la 2 octombrie 1955, ora 11:45 seara.

6 18.03.2020
TURING
Alan Mathison Turing, (n. 23 iunie 1912 d. 7
iunie 1954) Regatul Unit al Marii Britanii și Irlandei
- informatician
- Matematician
- Logician
- Criptanalist
- filosof
- maratonist britanic.
A pus la punct mai multe tehnici de spargere a cifrurilor germane, între
care îmbunătățiri aduse metodei polonezei interbelice bombe⁠(en), o
mașină electromecanică ce putea găsi setări ale mașinii Enigma.
Rolul-cheie jucat de Turing în decodificarea mesajelor interceptate le-a
permis Aliaților să-i învingă pe naziști în mai multe lupte cruciale,
inclusiv în Bătălia Atlanticului; se estimează că activitatea echipei de la
Bletchley Park a scurtat războiul în Europa cu doi până la patru ani.
18.03.2020
7
CARACTERISTICI ENIAC

- 17.468 de tuburi electronice,


- 7.200 diode cu cristal,
- 1.500 relee,
- 70.000 de rezistoare,
- 10.000 de condensatoare și aproximativ 5 milioane de
conexiuni lipite manual.
Cântărea 27 t
- ocupa 167 m²,
- consuma 150 kW.

Intrările de date se făceau printr-un cititor de cartele


perforate IBM;
Principalul dispozitiv de ieșire era un perforator de cartele
IBM.
Aceste cartele se puteau folosi pentru a produce separat
rezultate tipărite cu ajutorul unui dispozitiv IBM.

18.03.2020
8
18.03.2020 9
https://imgur.com/gallery/FeqJb
19.03.2
020

12
19.03.2
020

13
19.03.2
020

14
Microprocesoarele şi IBM PC
 În anii 1970 (1971) a fost lansat primul
microprocesor cu scop general 4004 proiect realizat
de Ted Hoff de la INTEL
 Era parte a unui set de patru cipuri denumite
familia 4000:
 4001 - 2.048 biţi de memorie ROM
 4002 - 320 biţi de memorie RAM
 4003 - 10 biţi registru de transfer I/O
 4004 - procesor central pe 4 biţi
 Procesorul 4004 avea 2300 de tranzistoare pe un
cip de 3mm x 4mm
 Prima lor utilizare a fost la calculatoarele de
buzunar fabricate de compania japoneză BUSICOM

18.03.2020 15
18.03.2020 16
Microprocesoarele şi IBM PC (continuare)

 În 1972 INTEL a lansat procesorul 8008, care


creştea lungimea cuvintelor de la 4 la 8 biţi,
dublând volumul de informaţie care putea fi
procesată.
 În momentul respectiv lumea tehnologică
abia începea să-şi dea seama de potenţialul
microprocesoarelor ca soluţie pentru
aplicații din ce în ce mai variate.

18.03.2020 17
Microprocesoarele şi IBM PC (continuare)

 În 1974 INTEL a lansat procesorul 8080, un


microprocesor de 20 de ori mai rapid decât
4004, conţinând de două ori mai multe
tranzistoare (în jur de 5.000).
 Acest cip pe 8 biţi a constituit un pas
istoric în tehnologie, atunci când inginerii
i-au recunoscut valoarea şi l-au folosit
într-o mare varietate de produse.
 A fost cel mai cunoscut microprocesor.
 Acesta este microprocesor care a echipat
primul microcalculator artizanal, numit
Altair, care a declanșat fenomenul
computerelor personale.

18.03.2020 15
Microprocesoarele şi IBM PC (continuare)

 În 1979 INTEL a lansat două noi


microprocesoare pe 16 biţi, 8086 şi 8088.
 8088 a fost o versiune cu buget redus a lui
8086 şi 8 biţi pe busul extern, faţă de 8086
care are 16 biţi pe bus-ul extern, ambele
versiuni au însă 16 biţi pe bus-ul intern.
 Acest cip a devenit omniprezent în industria
calculatoarelor atunci când firma IBM l-a ales
pentru a echipa primul lor microcalculator IBM
PC (un adevărat standard industrial).
 Primul IBM PC avea acces până la un
megaoctet de memorie (8088 avea 20 de linii
de adresă), dispunea de un afişaj monocrom şi
păstra datele memorate pe un floppy disc sau
un hard disk.

18.03.2020 19
Microprocesoarele şi IBM PC
 Conceptul PC-ului a fost luat în considerare de
IBM ca un proiect secundar şi în consecinţă nu s-a
făcut nici un efort în a preveni alte companii de la
a copia designul şi de a produce calculatoare
compatibile IBM PC;
 Aceasta a dus la producerea plăcilor electronice
universale pentru periferice ISA (Industry
Standard Architecture) care au oferit spaţiul de
extensie pentru toate PC-urile compatibile, la un
preţ relativ scăzut;
 De aici a rezultat o creştere rapidă a industriei de
calculatoare compatibile IBM PC.

18.03.2020 20
Microprocesoarele şi IBM PC (continuare)
 1982: 80286 cu 130.000 de tranzistoare, cu 16 MB de
memorie adresabilă şi 1 GB de memorie virtuală, acest
cip pe 16 biţi este adeseori apelat cu numele de primul
microprocesor ”modern” ;
 1985: 80386 cu 275.000 de tranzistoare, acest cip de 32
de biţi a devenit cel mai bine vândut microprocesor din
istorie;
 1989: 80486 cu mai mult de 1.000.000 de tranzistoare;
 1993: Pentium cu mai mult de 3.000.000 de tranzistoare
a adăugat caracteristici la nivel de sistem cu putere
enormă de efectuare a calculelor;
 1995: Pentium Pro cu mai mult de 5.500.000 de
tranzistoare, L2 cache;
 2001 Pentium IV cu mai mult de 42.000.000 de
tranzistoare.

18.03.2020 21
Microprocesoarele şi IBM PC (continuare)

 Toate cipurile mai noi sunt încă fundamental


bazate pe microprocesorul INTEL 8088 însă
cu o mare varietate de modificări;
 PC-urile cele mai noi sunt proiectate să fie
total compatibile cu vechiul design IBM din
1979 din punct de vedere al software-ului;
 Învăţarea sistemului IBM PC ne furnizează
înţelegerea fundamentală şi totală a
calculatoarelor compatibile IBM PC şi
înţelegerea generală a microprocesoarelor.

18.03.2020 22
Componentele unui sistem compatibil IBM PC
I/O
Ceasul de timp real
Tas tatura
Contori/Ceasuri
Porturi Seriale & Paralele
Unitati de discuri
Adaptor de Display
CPU Mouse
8088 Memorie
8086 IVT
80286 Bus de Adrese BIO S
80386 DOS
Bus de Date Screen
80486
Pentium Extensie ROM
Pentium Pro Bus de Control BASIC
Pentium MMX Spatiul Utilizator
Pentium II, III, IV Spatiul de lucru al
Cyrix sistemului
AMD
Alte Dispozitive
Co-procesorul Matematic
Controlerul de Intreruperi
DMA
(Direct Memory Access)

An "interrupt vector table" (IVT) is a data structure that associates a list of interrupt handlers (operatori) with a list
of interrupt requests in a table of interrupt vectors. Each entry of the interrupt vector table, called an interrupt vector, is the
address of an interrupt handler. While the concept is common across processor architectures, IVTs may be implemented in
architecture-specific fashions. For example, a dispatch table is one method of implementing an interrupt vector table.
18.03.2020 23
Sistemul PC - Privire de ansamblu

 IBM PC –ul original a fost un sistem PC foarte


complex şi avansat pentru timpul său;
 Fiecare nouă generaţie de PC-uri a adăugat un nou
nivel acestei complexităţi;
 Pe lângă CPU (Central Processing Unit – unitatea
centrală de procesare - microprocesorul),
IBM PC-urile conţin multe alte cipuri de bază care
oferă suportul funcţional necesar unui sistem PC;
 Acestea includ co-procesoare matematice,
generatoare de ceas, memorie etc.

24
Sistemul PC - Privire de ansamblu (continuare)

 Există trei mari căi de comunicare (o astfel de cale se


numeşte bus/magistrală) între diferitele componente care
compun un sistem PC:
Un bus de memorie (pentru adresele de memorie şi datele
transferate în memorie);
Un bus local de I/O (ISA – Industry Standard Arhitecture,
VLB – VESA Local Bus – Video Electronics Standard Assoc.,
PCI - Peripheral Component Interconnect sau
AGP – Accelerated Graphics Port) pentru dispozitive care au
nevoie de I/O foarte rapid (de exemplu, video);
 Un bus I/O pentru cipurile suport ale dispozitivelor lente
de I/O (de exemplu, imprimanta, modemul etc.)
 O altă componentă esenţială a unui sistem PC este memoria,
care este împărţită într-un număr de componente
funcţionale cum ar fi memoria video de afişare, de spaţiu al
sistemului de operare etc.
18.03.2020
25
18.03. 2
2020 6
18.03.2020 27
Sistemul PC - Configuraţia BUS
 CPU-ul (unitatea centrala de procesare) are trei „seturi de fire”
interioare, numite bus-uri, pentru a realiza comunicarea cu
diferitele componente care compun sistemul PC:
 BUS-ul de Adrese;
 BUS-ul de Date;
 BUS-ul de Control .

 BUS-ul de Adrese
 Folosit pentru selecţia prin adrese a memoriei interne sau o
locaţie I/O
 La început erau folosiţi 20 de biţi de adresă şi care dădeau
acces la 1 MB de memorie internă
 Procesoarele din clasa 386 şi cele mai avansate (80386) au
acum bus-uri de adrese pe 64 de biti pentru a oferi acces la
de memorie internă de ordinal GB .

18.03.2020 28
Sistemul PC - Configuraţia BUS (continuare)

 BUS-ul de Date
 Odată ce locaţia de memorie sau locaţia I/O a fost
adresată, CPU-ul foloseşte bus-ul de date pentru a citi
sau scrie (stoca) o valoare la sau de la această adresă
 BUS-ul de Control
 Folosit de CPU pentru a trimite semnalele de control
la diferitele componente, de exemplu, selectarea între
memoria internă şi locaţiile I/O
 De asemenea este folosit de alte cipuri pentru a
genera întreruperi pentru CPU
 Diferitele bus-uri pot fi accesate prin diferite cipuri cum
ar fi DMA sau controlorul de întreruperi, atunci când
bus-urile nu sunt folosite de CPU.
Direct memory access (DMA) is a method that allows an
input/output (I/O) device to send or receive data
directly to or from the main memory, bypassing the CPU
to speed up memory operations.

18.03.2020 29
Sistemul PC - Co-Procesorul şi Circuitele auxiliare
 IBM PC-ul original era format din:
 Un CPU INTEL 8088
 Un Co-Procesor matematic INTEL 8087
 Un generator de timp (ceas, clock) INTEL 8248A
 Un generator de timp programabil INTEL 8253
 O interfaţă programabilă pentru periferic INTEL 8255
(PPI=Programmable Peripheral Interface)
 Un controler pentru interfaţa programabilă 8259
(PIC=Programmable Interface Controller)
 Un controler DMA INTEL 8237A (DMA=Direct Memory Access)
 În sistemele moderne multe din acesta au fost înlocuite cu cipuri
mai complexe, integrate, pentru a oferi aceiaşi funcţionalitate ca
și cele anterior prezentate şi chiar mai mult.

18.03.2020 30
Sistemul PC - Unitatea centrală de procesare (CPU)

 Acesta este „creierul” sistemului PC, care


execută instrucţiuni şi controlează cipurile de
bază pentru a executa sarcinile specificate de
utilizator;
 CPU-ul utilizat în IBM PC-ul original a fost un
INTEL 8088 la 4,77 MHz (4*1,19 MHz);
 De la acesta s-a progresat succesiv la 80186,
80286, 80386, 80486, Pentium, Pentium Pro,
Pentium MMX până la Pentium II, III şi IV, etc.
având frecvența internă a generatorului de tact
de 2 GHz şi mai mult;
 CPU-urile 80386 au un mod special de
funcţionare numit „enhaced mode 386” (mod
protejat/îmbunătățit) care operează diferit faţă
de 8088 dar care este totuşi compatibil cu
programele 8088.
18.03.2020 31
Sistemul PC - Unitatea centrală de procesare (CPU)

 Orice CPU conţine în esenţă următoarele componente


structurale:
Registrele (memorii locale foarte rapide)
O unitate aritmetică şi logică ALU (Arithmetic
Logic Unit) pentru calcule matematice cu numere
întregi
Dispozitive electronice pentru deplasări şi rotaţii
Un decodificator de adrese
 CPU-urile mai conţin o memorie cache (memorie
tampon ultrapidă) din fabricaţie, pentru creşterea
vitezei de execuţie a instrucţiunilor;
 De la 80486DX CPU-urile INTEL au început de
asemenea să integreze co-procesoarele matematice,
dar şi alte componente electronice cum ar fi motorul
MMX Matrix Math eXtension, în acelaşi cip.
18.03.2020 32
Sistemul PC - Co-Procesorul Matematic

 Proiectat special pentru a executa calcule în


virgulă flotantă (de exemplu: 4.56*3.53);
 Este adresat utilizând stiva procesorului
sistemului, operaţiile fiind efectuate pe ultimii doi
itemi puşi în stivă;
 Foloseşte un set special de instrucţiuni CPU cu
prefixul „F” ;
 De asemenea, efectuează şi calcule mai avansate
cum ar fi SIN, COS, TAN, LOG etc.;
 Este folositor în modelarea 3D, decodarea
imaginilor multimedia, jocuri pe calculator etc.

19.03.2020 33
Sistemul PC - DMA Direct Memory Access

 Folosit pentru a transfera date în şi din memoria


internă fără ajutorul CPU;
 Poate fi folosit pentru mai multe sarcini cum ar fi
încărcarea şi salvarea programelor şi a fişierelor de
date pe un dispozitiv intern de stocare a datelor sau
încărcarea datelor de sunet pe o placă de sunet;
 Deoarece este un dispozitiv electronic dedicat
(specializat) este capabil să transfere date spre şi
dinspre memoria internă, la o viteză semnificativ
superioară CPU-ului;
 De asemenea se degrevează de această sarcină de
transfer CPU-ul (în acest timp CPU-ul putând executa
alte sarcini, lucrând simultan cu transferul de date);
 Pe ansamblu sunt crescute performanţele sistemului.

19.03.2020 34
Sistemul PC - Generatorul de tact (Ceasul, Clock)

 Folosit pentru sincronizarea componentelor


sistemului PC;
 Utilizat de tastatură, DOS, BIOS, cronometre şi
celelalte componente;
 Generează un semnal de clock de 1,19 MHz care
reprezintă ¼ din frecvenţa oscilatorului cu cristal
folosit de procesorul original (8082);
 Acest semnal de clock este de asemenea folosit
pentru a ţine ora curentă a zilei şi poate fi folosit
pentru a genera semnale sonore la difuzorul
(speaker) intern al PC-ului sau driver-ul de casetă al
modelului original.

19.03.2020 35
Sistemul PC - Generatorul de tact (Ceasul, Clock)

 Această frecvenţă fixă de 1,19 MHz permite


software-ului dependent de timp să opereze la
aceiaşi viteză pe orice maşină indiferent de
viteza CPU-ului;
 Este interesant de reţinut că vitezele
CPU-urilor au crescut de la 4,77 MHz (la 8088
original) până la peste 2 GHz (la Pentium IV)
..... ASTAZI?
 Notă: verificați fiecare, tipul și caracteristicile
microprocesoarelor de pe dispozitivele proprii (desktop,
laptop, smart phone).

18.03.2020 36
Sistemul PC - Ceasul programabil (Programmable Timer)
 Generează un număr de semnale cronometrate cu mare
acurateţe;
 Conţine 3 canale independente de 16 biţi fiecare având până la
şase moduri de operare;
 Fiecare poate fi programat să lucreze până la 1,19 MHz;
 Canalele sunt folosite pentru:
 Canalul 0: Produce impulsuri cu frecvenţă de 18.2 pulsuri pe
secundă care sunt utilizate de BIOS pentru gestionarea
timpului curent al sistemului;
 Canalul 1: Produce impulsuri la fiecare 55 micro secunde
pentru refresh-ul memoriei dinamice cu acces aleatoriu
(DRAM);
 Canalul 2: La dispoziţia utilizatorului pentru a putea genera
semnale necesare programatorului sonor sau semnale
necesare vechilor înregistrări pe bandă.
19.03.2020 37
Sistemul PC - Interfaţa de periferic programabilă
(PPI Programmable Pheriferal Interface)
 Este un cip suport folosit pentru a accesa diferite dispozitive
periferice;
 Acest cip utilizează în mod curent trei porturi:
 Portul A: Un port de intrare (input) care recepţionează
coduri pe 8 biţi sosite de la tastatură;
Portul B: Folosit pentru mai multe funcţii de ieşire (output)
incluzând acţionarea speaker-ului, a Canalului 2 a
cronometrului cipset; permite utilizarea RAM (Random
Access Memory) sau permite ieşirea de date pe suporți
externi de memorare;
Portul C: La PC-ul original permitea
extensia memoriei prin utilizarea unui
număr de switch-uri
DIL – Dual InLine Package. 3
8
Sistemul PC - Controlerul programabil de întreruperi
(PIC - Programmable Interrupt Controller)
PIC- Un alt cip de bază (cip suport) utilizat pentru
controlul a până la 8 întreruperi hardware;
Sistemul XT PC avea un singur PIC, iar sistemele AT PC şi
ATX PC aveau două;
Pentru programarea acestor dispozitive este utilizat
BIOS-ul care duce la îndeplinire următoarele funcţii:
 Activarea/Dezactivarea întreruperilor dispozitivelor
individuale;
 Asigurarea unui sistem de prioritate legat de fiecare
semnal de întrerupere (acordarea unui nivel de
prioritate);
 Păstrarea poziţiei adresei vectorului în tabela
vectorilor de întreruperi (IVT – Interrupt Vector Table)
legat de o anumită întrerupere.
19.03.2020 39
Sistemul PC - Porturi - Conectori
S/PDIF (Sony/Philips Digital Interface) -
digital audio interconnect - audio equipment to
output audio over reasonably short distances.
The signal is transmitted over either a coaxial
cable with RCA connectors or a fiber optic
cable with TOSLINK connectors. S/PDIF
interconnects components in home theaters and
other digital high-fidelity systems.

eSATA - Serial Advanced Technology


Attachment interface.

19.03.2020 40
Porturile serial şi paralel

- PC-urile compatibile IBM susţineau în general


până la patru porturi seriale (COM1, COM2, COM3 şi
COM4) şi trei porturi paralele (LPT1, LPT2 şi LPT3)
- Porturile seriale folosesc specificaţiile interfeţei
electrice standard RS-232C
- Porturile paralele utilizează interfaţa standard de
imprimanta Centronics (Cunoscută şi sub numele
de Epson FX-100 standard)
Ca şi în cazul tuturor porturilor din sistem,
instrucţiunile directe I/O pot fi folosite pentru a le
accesa, dar exista de asemenea şi servicii BIOS şi
DOS specifice disponibile pentru a simplifica
aceasta sarcina.

19.03.2020 41
Privire de ansamblu asupra portului paralel
- La început acesta a fost destinat să fie numai ca
o interfaţa de ieşire spre imprimanta, şi de aici
porturile paralele sunt numite uneori şi porturi
imprimanta.
- Avantajul de a avea o interfaţă paralelă pentru
un dispozitiv încet ca o imprimantă este că statutul şi
informaţiile de control pot fi trecute simultan cu
datele.
- Apoi a fost folosit ca o interfaţa de I/O mult mai
generala pentru conectarea multor dispozitive
diferite, ex: scanner-ele, drive-urile Zip, Dispozitivele
de capturi video, cititoare de carduri flash, etc.

19.03. 4
2
2020
Privire de ansamblu asupra portului paralel

- Portul paralel introdus de IBM în 1981 în primul PC era


cunoscut sub numele de Portul Paralel Standard (SPP) şi era
capabil doar de ieşire de date.
- Până în anul 1987, designerii văzuseră deja potenţialul
folosirii porturilor paralele pentru achiziţionarea rapidă de
date şi în modelul PC IBM PS/2, portul LPT a fost modificat
pentru a-l face bidirecţional.
- Porturile LPT ale PS/2, totuşi, erau prea încete, au condus la
dezvoltarea Portului Paralel îmbunătăţit (EPP) care este în
esenţă la fel cu cel al PS/2 dar mult mai rapid.
- În curând, însa şi acesta a fost prea lent, iar nevoia pentru
un port LPT şi mai rapid pentru perifericele modem, a condus
la Portul de Capacitate Extinsa (ECP)
Portul ECP avea toate caracteristicile lui EPP dar include
suport pentru transferurile DMA (Direct memory access) şi
compresia de date făcându-l ideal pentru perifericele de
înaltă viteză, cum ar fi imprimantele laser şi scanerele de
rezoluţie înaltă.
19.03.2020 43
Portul paralel PC

19.03.2020 44
Portul serial PC

Standardul de interfaţa serială RS-232


- Porturile seriale în PC-urile IBM folosesc standardul
RS-232 pentru conectarea unor componente externe mai
lente cu ar fi modem-urile, mouse-urile, cititoarele de
date şi de asemenea alte calculatoare.
- Standardul RS-232 defineşte o cale de semnal de 25 de
fire capabilă să stabilească 18 circuite, cu o întoarcere
obişnuită prin masă.
- Portul serial IBM PC utilizează numai 9 din aceste fire
şi poate fi folosit des cu numai trei.
- Viteza maximă este în jur de 115 kbps ( deşi se poate
şi mai mare), ceea ce este foarte încet în comparaţie cu
capacitatea portului paralel (3-10 Mbps)
19.03.2020 45
Sistemul PC - Interfaţa serială

 Oferă o interfaţă RS232C


Folosită pentru trimite şi a recepţiona date
seriale la şi dinspre sistemele externe;
Poate fi folosită pentru a comunica direct cu alte
sisteme;
Poatede asemenea fi folosită pentru a interfaţa
cu modem-uri în comunicaţiile la distanţă;
Folosită ca o intrare pentru mouse serial sau
pentru orice dispozitiv periferic bazat pe
interfaţă serială.

19.03.2020 46
A DB-25 connector as described in the
RS-232 standard
Standard RS-232-C as of 1969 defines:
Electrical signal characteristics such as voltage levels, signaling rate,
timing, and slew-rate of signals, voltage withstand level,
short-circuit behavior, and maximum load capacitance.
Interface mechanical characteristics, pluggable connectors and pin
identification.
Functions of each circuit in the interface connector.
Standard subsets of interface circuits for selected telecom applications.
The standard does not define such elements as the character
encoding (i.e. ASCII, EBCDIC, or others), the framing of characters
(start or stop bits, etc.), transmission order of bits, or error detection
protocols. The character format and transmission bit rate are set by the
serial port hardware which may also contain circuits to convert the
internal logic levels to RS-232 compatible signal levels. The standard
does not define bit rates for transmission, except that it says it is
intended for bit rates lower than 20,000 bits per second. 18.03.2020 47
Sistemul PC - Interfaţa de tastatură
 Acesta este un dispozitiv care acţionează ca o legătură între
tastatură şi cipul suport, şi prin el cu CPU/programul
software;
 Recepţionează un cod serial pe 8 biţi atunci când o tastă este
apăsată şi apoi eliberată;
 Transformă acest cod într-un cod de scanare (scan code) şi îl
trimite mai departe la PPI - Pixels per Inch;
 În final generează o întrerupere hardware prin PIC – Peripheral
Interface Controller pentru a transmite
CPU-ului că o tastă a fost apăsată şi apoi eliberată.

Keyboard controller and


AT-Keyboard jack on an AT-Mainboard
19.03. 4
2020 8
Sistemul PC

Keyboard controller and


AT-Keyboard jack on an AT-
Mainboard

The color-coded PS/2 connection ports


(purple for keyboard and green for
mouse)
18.03.2020 49
Sistemul PC - Interfaţa video (Adaptorul video)
 Folosit pentru a controla ieşirea la o unitate de
afişare video (VDU – Visual Display Unit);
 Este conectat atât la memoria primară cât şi la
memoria I/O;
 Permite un număr de moduri de ecran posibile:
 Mono – monochrome;
 CGA – Colour Graphic Adapter – 1981 -
16 kilobytes of video memory and could be
connected either to a dedicated direct-drive CRT
(Catode Ray Tube) monitor using a 4-bit digital
(TTL – Transistor Transistor Logic) RGB (Red Green
Blue) interface or to an NTSC-compatible television
or composite video monitor.
19.03.2020 50
Sistemul PC - Interfaţa video (Adaptorul video)

 VGA - Video Graphics Array (VGA) is the


display hardware first introduced with
the IBM PS/2 line of computers in 1987.

The IBM 90X8941 VGA (Video Graphic


Adapter) chip made in 1989, on the system
board in Personal System/55.
18.03.2020 51
Sistemul PC Interfaţa video (Adaptorul video)
 SVGA - Super Video Graphics Array sau XGA

19.03.2020 52
Sistemul PC - Interfaţa unităţii de disc (Adaptorul
unităţii de disc)

 Folosit pentru controlul unităţilor de stocare (citire și/sau


scriere);
 În general include o interfaţă de driver-e floppy, de
asemenea şi un IDE - Integrated Development Environment
sau SCSI - pentru driver-ele de disc hard (HDD);
 Small Computer System Interface este un grup de standarde
pentru conectarea și transferul de date între un calculator
electronic și dispozitivele sale periferice. Utilizarea sa cea mai
întâlnită este pentru hard-diskuri, SSD-uri și unități optice
(dispozitive de citire/scriere pe CD, DVD sau Blu-ray), deși
standardele acoperă și alte tipuri de dispozitive.
Pot fi de asemenea utilizate pentru a controla CD ROM-urile,
driver-ele ZIP etc. 19.03.2020 53
Sistemul PC - Interfaţa de imprimantă

 Oferă o interfaţă paralelă de


8 biţi între sistem şi o imprimantă
paralelă;
 Utilizată pentru a trimite date
către imprimantă, pentru a citi
starea curentă a imprimantei şi
pentru a controla starea
imprimantei;
 În prezent este folosită cu
driver-e de ZIP, scanner-e şi alte
dispozitive periferice paralele.
19.03.2020 54
18.03.2020 55
Sistemul PC - Ceasul de timp real

 Utilizat pentru a menţine ora și data


curentă a sistemului chiar şi atunci când
calculatorul este scos de sub tensiune
 De asemenea este folosit pentru a menţine
unele informaţii legate de configuraţia
sistemului de calcul
 Se foloseşte cipul MOTOROLA 6818 CMOS
Alimentat de la baterie de acumulatori (când
este sistemul sub tensiune bateria se
încarcă).

19.03.2020 56
Sistemul PC - Tabela vectorilor de întreruperi

 Conţine 256 de adrese de 20 de biţi (perechi


CS:IP);
 Fiecare adresă point-ează la o rutină de serviciu
pentru întrerupere hardware sau software;
 Folosite de USER, BIOS şi DOS (MSDOS, BASIC)
Date BIOS
 Folosit de BIOS pentru spaţiu sau manevră ca bază
BIOS şi ROM; datele nu pot fi scrise în ROM;
Aici sunt memorate informaţii cum ar fi indexul de
tastatură, modul ecran şi alte variabile
temporare.

19.03.2020 57
Harta memoriei sub MS-DOS
(Microsoft – Disk Operating System)

Date DOS
 Folosit de DOS pentru a stoca informaţii temporare cum ar fi
numele fişierului curent, al directorului etc.
 Operează foarte asemănător cu spaţiul de lucru BIOS
Partea rezidentă a DOS-ului
 Conţine programe DOS cum ar fi COPY, DIR, CD, MD, DEL, REN
etc.
 De asemenea conţine peste 200 de segmente de cod de nivel
înalt care gestionează sistemul de calcul
Acest cod rămâne în memoria RAM pe toată durata sesiunii de
lucru curente (cât timp calculatorul este sub tensiune)
18.03.2020 58
Harta memoriei sub MS-DOS
(Microsoft – Disk Operating System)
Spaţiul de memorie al utilizatorului
 În modul real cam 500 KB de memorie RAM din total stă la
dispoziţia utilizatorului;
 Fiecare program are diferite segmente în spaţiul utilizatorului
(de exemplu, segmentul de cod, segmentul de date,
segmentul de stivă etc.);
 De asemenea include 256 octeţi pentru a păstra parametrii de
apel a comenzii sistem de nivel înalt (PSP - Program Segment
Prefix).
Zona tranzientă a DOS-ului
 Folosită de programe DOS care sunt mai rar apelate
 De obicei rezervată pentru programe de tip PTINT, FORMAT
etc. 18.03.2020 59
Harta memoriei sub MS-DOS
(Microsoft – Disk Operating System)

RAM-ul ecran (Memoria video)


 Este zonă a memoriei interne rezervată pentru a fi
folosită de adaptorul de vido display;
 RAM-ul video se găseşte fizic pe adaptorul video
dar este map-at în memoria internă;
 Map-area întreagă în RAM se face la adaptoarele
MONO şi CGA;
Pentru tipurile EGA/VGA/XGA map-area se
realizează prin swaping de blocuri de memorie
între VRAM-ul adaptorului de display şi memoria
internă RAM.

18.03.2020 60
Harta memoriei sub MS-DOS
(Microsoft – Disk Operating System)
Zona de extensie ROM
 Folosit pentru dispozitivele hardware adiţionale
 Oferă spaţiu unde rutinele pot fi oferite pentru a iniţia şi
controla o componentă hardware „necunoscută” (orice
dispozitiv periferic nou)
Zona ROM utilizator
 Spaţiu oferit utilizatorilor pentru a instala orice programe
ROM diverse
Zona ROM BASIC
 IBM PC-urile timpurii aveau un BASIC boot up
 Dacă nu este găsit sistemul de operare DOS pe nici un driver
este invocată această zonă a ROM-ului

18.03.2020 61
Harta memoriei sub MS-DOS
(Microsoft – Disk Operating System)

Zona BIOS
 Sistemul de bază I/O (Basic Input/Output System)
 Cipuri instalate via ROM
 Conţine:
 Rutine care verifică hardware-ul sistemului PC în
timpul boot-ării;
 Programe care încarcă sistemul de fişiere DOS;
 Unele rutine sistem puse la dispoziţia
programatorilor, rutine care invocate efectuează
anumite funcţii (rutine care asigură servicii BIOS);
 Aceste rutine de serviciu gestionează in general
întreruperile, dar pot fi folosite pentru a controla
direct hardware-ul, de exemplu: modurile ecran,
accesul la disc etc.

18.03.2020 62
Serviciile BIOS&DOS
 Atât BIOS cât şi DOS includ un mare număr de rutine de
servicii (de bază) care asigură programatorului o
interfaţă simplificată la nivel scăzut, la toate nivelurile
hardware inclusiv la CPU
 Dacă aceste rutine de servicii nu ar exista, atunci CPU
şi în consecinţă şi programatorul în limbaj de
asamblare, ar fi nevoit să efectueze pas cu pas fiecare
element al protocolului de comunicare necesar pentru
interfaţa cu un anumit dispozitiv
 De exemplu, imprimarea de text pe imprimantă (de
orice tip) necesită o serie întreagă de operaţii care
includ: verificarea stării imprimantei, transmiterea
fiecărui caracter al textului, recunoaşterea
eventualelor erori de transmitere, etc., etc., etc.
19.03.2020 63
• Serviciile BIOS&DOS
BIOS include rutine de servicii care permit
programatorului să iniţieze imprimarea unor şiruri
întregi de octeţi cu ajutorul unor comenzi foarte
simple
• Multe din funcţiile oferite sunt similare cu cele care
se regăsesc în limbajele de nivel înalt, de exemplu:
deschiderea unui fişier sau afișarea unui caracter pe
ecran
• Sistemul de bază BIOS se află (fizic) şi este alimentat
de către placa de bază (mather-bo ard), însă unele
sericii BIOS sunt implementate pe plăcile de extensie
cum ar fi de exemplu, placa VGA ( cu BIOS propriu).

19.03.2020 64
• BIOS-ul (Basic Input Output System)
 Este constituit dintr-un grup de rutine sau funcţii
folosite pentru asigurarea controlului tuturor resurselor
hardware ale unui sistem de calcul electronic
(microprocesor, memorie, periferice, etc.), BIOS-ul
poate fi utilizat direct de către hard sau de către
programator în limbaj de asamblare pentru interfaţa cu
hardware-ul
Se păstrează în memoria ne-dinamică de tip read only
(ROM) astfel încât să fie tot timpul la dispoziţia
sistemului pentru a controla operaţiile de bază
• În sistemele EEPROM (Ellectrically Erasable &
Programmable ROM) sunt posibile (având în vedere că
acest lucru este permis) şi ştergeri ale BIOS-ului şi
rescrierea sau upgraded lui pentru dezvoltare.

19.03.2020 65
Spaţiul de stocare secundar în PC-urile
IBM (memoria externă pe discuri)

- Sistemele compatibile IBM PC necesită ca toate


discurile asociate lor să fie partiţionate şi formatate
corespunzător.
- Formatarea discurilor face accesul aleator eficient
(un disc neformatat este ca o caseta video).
Datele pot fi după aceea accesate manual (prin citiri şi
scrieri via port către controler-ul de disc
corespunzător) sau mai convenabil folosind serviciile
BIOS şi DOS.

19.03.2
020

66
Organizarea discului
- Înainte de a putea fi formatate, discurile trebuie
partiţionate sau dimensionate (în DOS aceasta se
face folosind programul fdisk - pentru partiţionarea
hard-discurilor

- Partiţionarea împarte discul în secţiuni diferite:


- Mai întâi, organizează numărul partițiilor de pe
disc
- Aceste partiţii sunt, după aceea, divizate într-un
număr de piste concentrice (de exemplu, 0-79
pentru 360 k).
- Apoi, toate pistele sunt împărţite în sectoare.

19.03.2 6
020
7
Organizarea discului:
- Acest format tine evidenţa tuturor sectoarelor bune,
defecte, folosite sau goale ale discului, precum şi informaţii
despre fişiere şi directoare.

19.03.2 6
020
8
Organizarea discului:
- Atât floppy-urile cât şi hard disck-urile
formatate în DOS conţin următoarele informaţii
de bază:
o Înregistrare Boot (în sectorul boot) – pentru a
porni OS
o Tabelul de alocare a fişierelor (FAT) – pentru a
face legătura între sectoarele care alcătuiesc
fişiere (2 copii)
o Lista de directoare – pentru organizarea folder-
elor
o Spaţiul de date pentru fişiere (în clustre-re) –
stocarea de Date/Programe

19.03.2
020

69
Clustere
- Un cluster este un grup de sectoare
- Mărimea minimă pe care o poate lua un fişier este
aceea a un cluster
- Numărul de sectoare per cluster este dat de
numărul de platane de disc sau feţe
o 1 cluster = 1 sector pe un discul cu o singură faţă
o 1 cluster = 2 sectoare pe un disc cu două feţe
o 1 cluster = mai multe sectoare pe un hard disc
- E.g. un disc cu două feţe de 80 de piste, cu 9
sectoare per pistă conţine
2x80 = 1440 sectoare = 1440/2 = 720 clustere

19.03.2
020

70
71
Tabelele de alocare a fişierelor ( FAT-uri)

- Tabelele de alocare a fişierelor sau FAT-urile sunt


poziţionate direct după înregistrarea boot a
discului
- Aceste tabele conţin înregistrarea tuturor cluster-
ilor existenţi pe disc după formatare, fiecare
cluster este notat fie ca fiind în stare bună fie rea
(conţine cel puţin un BAD sector) şi dacă este
folosit sau nefolosit
La formatare se creează de obicei două FAT-uri, unul
principal şi al doilea de rezervă în caz că primul se
alterează (devine corupt).

72
Directoarele
- Directoarele sunt tipuri speciale de fişiere folosite de
DOS, conţinând o listă de alte fişiere şi subdirectoare
(structură arborescentă)
- Comanda DIR din DOS listează conţinutul
arborescenţei
- Fiecare înregistrare în director conţine:
o Numele fişierului – 8 caractere original ( Win95 + = 256
caractere)
o Extensie – 3 caractere original
O Atributul fişierului – Read only/System/Hidden/Directory/
Archive
o Timp – oracreării
o Data – data creării
o Mărimea fişierului – în octeţi
Punctul de înregistrare a clusterului–inregistrare din FAT
pentru începutul fişierului
73
Spaţiul de date

- Acesta este spaţiul de pe disc unde


conţinutul fişierelor şi directoarelor este
stocat.
- Un fişier poate ocupa un set continuu de
clastere, sau, mai probabil, să fie împrăştiat
întâmplător pe disc, FAT-ul reuneşte fişierul.
Programele de defragmentare pot fi folosite
pentru a reface împrăştierea fişierele de pe
disc (fiecare fişier va ocupa o zonă contiguă
de clustere după defragmentare) pentru a
obţine o îmbunătăţirea a vitezei de accesare
a informaţiilor din fişiere.

19.03.2
020

74
Harta memoriei
sub MSDOS

18.03. 7
2020 5
Registrele CPU

CPU este un microprocesor complex a cărui


sarcină principală este să proceseze date
dintr-o memorie internă RAM, în funcţie de
instrucţiunile stocate de asemenea în
memoria internă RAM
Cu toate acestea, CPU-ul conţine o
memorie internă rapidă formată din
totalitatea registrelor de care dispune
acesta.

18.03.2020 76
Registrele CPU

Registrele pot fi utilizate de programator/utilizator


ca o “tăbliţă de scris” pentru a efectua calcule sau
alte sarcini care trebuie efectuate în cadrul CPU;
 Toată familia de microprocesoare 80X86 dispune
de registre de 14, 16 (80286) sau 32 şi 64 (80386),
registre care se află în mod constant la dispoziţia
utilizatorului;
Începând cu 80386, Intel a adăugat un nou set de
registre pe 32 de biţi şi instrucţiuni care lucrează cu
ele;
în acest curs ne vom opri numai asupra a ceea ce
Intel a numit operaţii în “mod real” a CPU.

18.03.2020 77
Registrele CPU
• Operaţie Real Mode
 Modul special numit Real Mode transformă
orice familie CPU 8086 într-un mod de compatibilitate
cu microprocesorul standard 8086 (și
microprocesoarele Pentuim IV au implementate acest
mod);
 În acest mod, utilizatorului îi este permis
accesul la 14 registre de bază de 14 biţi, 1Mb de RAM şi
64 Kb de spaţiu I/O;
 Odată ce această parte a fost însuşită,
abilităţile de bază şi cunoştinţele necesare pentru a
înţelege CPU-urile (chiar şi cele ce vor urma să vină în
viitor) sunt deja asimilate si vor fi uşor de dezvoltat.
(80386, 80486, Pentium-uri, Pentium II-uri cu MMX etc.

18.03.2020 78
Componente CPU

• Componente de bază
 Registre şi Flag-uri
 Unitatea aritmetică şi
Logică ALU
 Deplasări şi rotaţii
 Module de decodare
a adreselor
• Componente avansate
 Co-Procesor Matematic
 Data & Program Pipelines
 Caches
 Decodor de instrucţiuni mico-cod
 Procesor Extensie
Multimedia (MMX)
18.03. 7
 Etc. 2020 9
Organizarea memoriei

•1 Mb RAM
 În mod real, familia de CPU 8086 poate adresa
maximul 1Mb de RAM
Din punct de vedere conceptual această memorie
poate fi considerată ca o zonă continuă de octeţi de
memorie (unitatea minimă de acces la memorie este
octetul) începând de la adresa 00000h până la
FFFFFh;
În practică, această memorie este segmentată în
blocuri de 64 Kb, blocuri notate de la 0000h la FFFFh;
Acest lucru a fost făcut pentru a păstra
compatibilitatea cu procesoarele timpului 8085, care
aveau doar 16 linii de adresare, oferind acces la 64
Kb de memorie (216 = 64 Kb).

18.03.2020 80
Organizarea memoriei
STRUCTURA FIZICĂ A MEMORIEI
Biţii unui cuvânt trebuiesc ordonaţi într-un mod unic.
Pentru aceasta, se foloseşte ordinea puterilor lui 2.
Toate tipurile de SC numerotează biţii începând cu 0.
Dintre biţii unui octet se remarcă:
− bitul cel mai semnificativ, MSB, cel care corespunde puterii
celei mai mari a lui 2;
− bitul cel mai puţin semnificativ, LSB, cel care corespunde
puterii celei mai mici a lui 2.
In funcţie de modelul de procesor, biţii unui octet sunt
numerotaţi crescător de la dreapta la stânga (format little
endian, specific procesoarelor Intel) sau de la stânga la
dreapta (format big endian, specific procesoarelor Motorola).

18.03.2020 81
Organizarea memoriei

18.03. 8
2020 2
Familia 8086. Registrele modului real

18.03. 8
2020 3
Familia 8086. Registrele modului real
Registrele de date (AX, BX, CX, DX)
Sunt registre cu scop general – pentru calcule aritmetice,
stocare temporară de date, transfer de date etc.
• Registrul Acumulator AX (AH/AL)
Registrul cel mai utilizat
Folosit în instrucţiuni de tip şir de caractere (STOSB, STOSW
etc.) pentru a reține datele care sunt transferate
Utilizat în instrucţiuni I/O (IN, OUT) pentru reţine datele care
sunt transferate
Folosit la instrucţiunea de înmulţire (MUL) sau la împărţire (
DIV) pentru a reţine datele înainte de execuţia instrucţiunii si
pentru a reţine rezultatul după executarea acesteia
Folosit la instrucţiuni pe şiruri şi BIOS pentru a reţine valori
ASCII şi ATTRIBUTE atunci când se scrie pe ecran în modul text.
18.03.2020 84
Familia 8086. Registrele modului real
Registrele de date (AX, BX, CX, DX)
• Registrul de bază BX (BH/BL)
Utilizat la mai multe instrucţiuni în modul de adresare bazată
pentru a reţine adresa bazei unui bloc de date ce urmează a fi
manipulat
Un bloc conţine în general unele date cu aceleaşi
caracteristici, de exemplu, un mesaj în ASCII de imprimat
• Registrul de contorizare CX (CH/CL)
Utilizat în instrucţiuni cum ar fi REP şi LOOP ca numărător
(contor), de exemplu: dacă se introduce în CX valoarea 10,
atunci instrucţiunea LOOP ce urmează va executa o buclă de 10
ori, scăzând în mod repetat din CX valoarea 1 (decrementare
executată la fiecare parcurgere a buclei) până se ajunge la
valoarea zero când se încheie bucla
• De asemenea este folosit în instrucţiunile de deplasare (SHR,
SHL) şi re rotaţii (ROR, ROL) pentru precizarea numărului de
deplasări şi rotaţii.
18.03.2020 85
Familia 8086. Registrele modului real

Registrele de date (AX, BX, CX, DX)


• Registrul destinaţie DX (DH/DL)
Utilizat la instrucţiuni I/O (IN, OUT) pentru a reţine
adresa portului accesat
Folosit la instrucţiunea de înmulţire (MUL) sau la
împărţire ( DIV) pentru a reţine rezultatul după
executarea acestora folosind date pe 32 de biţi
De asemenea este utilizat de BIOS pentru a seta
poziţia cursorului.

18.03.2020 86
Familia 8086. Registrele modului real
• Contorul (pointer-ul) de instrucţiuni (IP)
Un registru de 16 biţi care arată întotdeauna adresa din
RAM a viitoarei instrucţiuni ce urmează a fi executată
Dacă, de exemplu, se execută o instrucţiune pe doi octeţi
aflată la adresa 0100h, atunci în IP se află valoarea 0102h,
adică (în momentul curent) adresa viitoarei instrucţiuni ce
urmează a fi executată în secvenţă;
IP poate conţine valori cuprinse între 0000h (0000 zecimal)
şi FFFFh (65535 zecimal)
Aceasta înseamnă că CPU-ul poate accesa numai până la
64 Kb din instrucţiuni, dacă se foloseşte doar IP-ul pentru
adresare;
Registrul IP lucrează întotdeauna împreună cu registrul CS
(Code Segment) pentru a se genera adresa fizică de
memorie (perechea CS:IP).

18.03.2020 87
Familia 8086. Registrele modului real
•Registrele de segment (CS, DS, SS, ES)
Aceste registre sunt folosite deoarece IP este
numai de 16 biţi lungime, în timp ce spaţiul de
memorie RAM adresabil (în modul real) este de
1Mb = 220 = 216+4 lungime
 Adresa fizică actuală (adresă absolută) din RAM
se calculează ca:
(SEGMENT * 16) + IP , i. e. (in extenso) Segment &

Offset
De exemplu, dacă CS = 07A0 şi IP = 0100 atunci
adresa fizică = 07A00 + 0100 = 07B00
 Notă: Aceiaşi adresă fizică se poate exprima prin
mai multe combinaţii de segment şi pointer, de
exemplu: 07B00 = 07A0:0100 sau 07B0:0000

18.03.2020 88
Familia 8086. Registrele modului real
•Registrele de segment (CS, DS, SS, ES)
Registrul Code Segment (CS)
Utilizat pentru a defini segmentul de cod, unde se află
instrucţiunile de executat ale programului curent.
Folosită ca bază de adresare pentru segmentul de cod. În
timpul execuţiei programului CS conţine adresa fizică
absolută a începutului segmentului de cod, iar IP va conţine
adresa relativă (offset) faţă de începutul segmentului de cod
pentru viitoarea instrucţiune ce urmează a fi executată
Registrul Data Segment (DS)
Folosit pentru a defini segmentul de date (constante şi
variabile) unde se află toate datele programului
Registrul Stack Segment (SS)
Folosit pentru a defini segmentul de stivă (o zonă de stocare
temporară a conţinutului registrului, adresa de returnare de
la subrutine şi întreruperi etc.) în timpul execuţiei
programului 18.03.2020 89

S-ar putea să vă placă și