Documente Academic
Documente Profesional
Documente Cultură
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
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
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)
18.03.2020 17
Microprocesoarele şi IBM PC (continuare)
18.03.2020 15
Microprocesoarele şi IBM PC (continuare)
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)
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
24
Sistemul PC - Privire de ansamblu (continuare)
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)
19.03.2020 33
Sistemul PC - DMA Direct Memory Access
19.03.2020 34
Sistemul PC - Generatorul de tact (Ceasul, Clock)
19.03.2020 35
Sistemul PC - Generatorul de tact (Ceasul, Clock)
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.
19.03.2020 40
Porturile serial şi paralel
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
19.03.2020 44
Portul serial PC
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ă.
19.03.2020 52
Sistemul PC - Interfaţa unităţii de disc (Adaptorul
unităţii de disc)
19.03.2020 56
Sistemul PC - Tabela vectorilor de întreruperi
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)
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)
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
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)
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
19.03.2
020
74
Harta memoriei
sub MSDOS
18.03. 7
2020 5
Registrele CPU
18.03.2020 76
Registrele 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
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