Structura și Organizarea - cs.ucv.roluci/SOC/SOC_04.pdf · Dezavantajele procesoarelor CISC...
Transcript of Structura și Organizarea - cs.ucv.roluci/SOC/SOC_04.pdf · Dezavantajele procesoarelor CISC...
Structura și Organizarea Calculatoarelor
Titular:
BĂRBULESCU Lucian-Florentin
Capitolul 4
ORGANIZAREA CALCULATOARELOR
– NOȚIUNI FUNDAMENTALE
3/20/2018 SOC_04 2017-2018 3
CONȚINUT
Schema celor 5 unități
Principiile arhitecturii von Neumann
Funcționarea unui calculator von Neumann
Arhitectura Harvard
Harvard vs von Neumann
Arhitectura Harvard Modificată
Procesoare CISC și RISC
3/20/2018 SOC_04 2017-2018 4
SCHEMA CELOR 5 UNITĂȚI
Definiție:
Se numește sistem de calcul orice sistem care este capabil sărealizeze următoarele obiective:
1. să accepte intrări care reprezintă o formă codificată de informație (date de intrare sau operanzi);
2. să prelucreze datele conform unui algoritm;
3. să furnizeze la ieșire informațiile (date de ieșire sau rezultate) într-o formă accesibilă omului sau altui calculator.
3/20/2018 SOC_04 2017-2018 5
SCHEMA CELOR 5 UNITĂȚI
3/20/2018 SOC_04 2017-2018 6
SCHEMA CELOR 5 UNITĂȚI
3/20/2018 SOC_04 2017-2018 7
CONȚINUT
Schema celor 5 unități
Principiile arhitecturii von Neumann
Funcționarea unui calculator von Neumann
Arhitectura Harvard
Harvard vs von Neumann
Arhitectura Harvard Modificată
Procesoare CISC și RISC
3/20/2018 SOC_04 2017-2018 8
PRINCIPIILE ARHITECTURII VON NEUMANN
P1. Informațiile în calculator sunt codificate binar.
P2. Regulile de codificare binară sunt aceleași indiferent de natura informației.
P3. Pentru păstrarea datelor și programelor codificate binar calculatorul dispune de un bloc specializat numit memorie.
3/20/2018 SOC_04 2017-2018 9
PRINCIPIILE ARHITECTURII VON NEUMANN
P4. Comenzile codificate binar au o structură relativ rigidă, formată în principiu din două zone numite câmpuri (câmpul codului operației (OPCODE) și câmpul de adresă). O astfel de comandă se numește instrucțiune cod mașină.
P5. Toate operațiile din calculator se execută secvențial, adicăuna după alta. Nu se acceptă nici un fel de paralelism în executarea diverselor tipuri de operații.
3/20/2018 SOC_04 2017-2018 10
CONȚINUT
Schema celor 5 unități
Principiile arhitecturii von Neumann
Funcționarea unui calculator von Neumann
Arhitectura Harvard
Harvard vs von Neumann
Arhitectura Harvard Modificată
Procesoare CISC și RISC
3/20/2018 SOC_04 2017-2018 11
FUNCȚIONAREA UNUI CALCULATOR VON NEUMANN
3/20/2018 SOC_04 2017-2018 12
FUNCȚIONAREA UNUI CALCULATOR VON NEUMANN
Pentru a putea executa un program este necesar să fie rezolvate două probleme, și anume:
1. precizarea adresei de început a programului;
2. precizarea adresei următoarei instrucțiuni.
Se utilizează o componentă specială a procesorului, numită numărător de program (program counter-PC) sau indicator de instrucțiuni (instruction pointer-IP).
Instrucțiunile care se execută una după alta trebuie s fie plasate în memorie la adrese consecutive.
Conținutul numărătorului de program se poate modifica și prin instrucțiuni speciale numite instrucțiuni de salt
3/20/2018 SOC_04 2017-2018 13
CONȚINUT
Schema celor 5 unități
Principiile arhitecturii von Neumann
Funcționarea unui calculator von Neumann
Arhitectura Harvard
Harvard vs von Neumann
Arhitectura Harvard Modificată
Procesoare CISC și RISC
3/20/2018 SOC_04 2017-2018 14
ARHITECTURA HARVARD
Arhitectura Harvard presupune existența unor blocuri de memorie separate pentru date și pentru instrucțiuni.
Numele provine de la calculatorul Harvard Mark I ce folosea cartele performate pentru stocarea instrucțiunilor (reprezentate pe 24 de biți) și blocuri de relee pentru date (23 digiți)
Cele două blocuri de memorie comunică cu Procesorul prin magistrale separate – îmbunătățire a vitezei de calcul.
Memoria de instrucțiuni poate fi numai citită în timp de memoria de date poate fi și citită, și scrisă, în funcție de instrucțiunea executată
Fiecare bloc de memorie are propriul spațiu de adrese, ambele începând de la valoarea 0
3/20/2018 SOC_04 2017-2018 15
ARHITECTURA HARVARD
3/20/2018 SOC_04 2017-2018 16
CONȚINUT
Schema celor 5 unități
Principiile arhitecturii von Neumann
Funcționarea unui calculator von Neumann
Arhitectura Harvard
Harvard vs von Neumann
Arhitectura Harvard Modificată
Procesoare CISC și RISC
3/20/2018 SOC_04 2017-2018 17
HARVARD VS VON NEUMANN
În cazul arhitecturii Von Neumann pură, procesorul se află fie in faza FETCH și citește codul instrucțiunii, fie în faza EXECUTE și procesează sau citește/scrie date din/în memorie.
Orice paralelism între cele două faze este exclus deoarece memoria și procesorul sunt conectate printr-o singură magistrală.
Performanța Procesorului este afectată deoarece timpul de procesare este mult mai mic decât timpul de accesare a memoriei
La ora actuală există și memorii cu timp de acces mult mai mic decât cele uzuale dar datorită consumului și prețului de cost nu pot fi utilizate decât la capacități foarte mici.
De aceea în aplicațiile unde viteza este o prioritate este utilizată arhitectura Harvard
3/20/2018 SOC_04 2017-2018 18
HARVARD VS VON NEUMANN
Arhitectura Harvard permite o extensie simplă pentru prelucrări SIMD(Single Instruction, Multiple Data), folosind o singură memorie de instrucțiuni și mai multe memorii de date
3/20/2018 SOC_04 2017-2018 19
HARVARD VS VON NEUMANN
Într-o arhitectură von Neumann instrucțiunile pot fi prelucrate ca și orice alt operand (principiul P2) ceea ce mărește flexibilitatea utilizării.
Păstrarea în aceeași memorie a datelor și codului executabil simplifică implantarea unor viruși introduși sub forma unui pachet de date deși în realitate este vorba de instrucțiuni executabile.
Din această cauză au fost create diferite arhitecturi care să combine avantajele celor două arhitecturi pure prezentate anterior și în același timp să elimine neajunsurile specifice.
3/20/2018 SOC_04 2017-2018 20
CONȚINUT
Schema celor 5 unități
Principiile arhitecturii von Neumann
Funcționarea unui calculator von Neumann
Arhitectura Harvard
Harvard vs von Neumann
Arhitectura Harvard Modificată
Procesoare CISC și RISC
3/20/2018 SOC_04 2017-2018 21
ARHITECTURA HARVARD MODIFICATĂ
Arhitectura Harvard modificată este orice variantă a arhitecturii Harvard care permite accesarea conținutului memoriei de instrucțiuni ca și cum ar reprezenta date.
Modificările pot fi realizate în diverse variante, scopul fiind de fiecare dată înlăturarea barierei stricte între cod și date, fără a pierde totuși avantajul accesului paralel la instrucțiuni și date specific arhitecturii Harvard pure.
Unele variante păstrează spațiile de adrese separate dar oferă instrucțiuni cod mașină speciale pentru a accesa memoria de instrucțiuni ca și cum ar conține date. Această abordare permite păstrarea unor constante în memoria de instrucțiuni eliberând spațiu în memoria de date.
De asemenea datele inițiale pot fi transferate direct din memoria de instrucțiuni în memoria de date care la pornirea calculatorului are un conținut aleator.
La ora actuală calculatoarele cu arhitectură Harvard folosesc din ce mai mult memorii flash pe post de memorie de instrucțiuni ceea ce permite citirea și scrierea instrucțiunilor ca într-o memorie RAM, dar cu viteză mai mică.
3/20/2018 SOC_04 2017-2018 22
CONȚINUT
Schema celor 5 unități
Principiile arhitecturii von Neumann
Funcționarea unui calculator von Neumann
Arhitectura Harvard
Harvard vs von Neumann
Arhitectura Harvard Modificată
Procesoare CISC și RISC
3/20/2018 SOC_04 2017-2018 23
PROCESOARE CISC ȘI RISC
Se consideră că o instrucțiune este simplă dacă realizează o operație relativ simplă, care implică un număr mic de resurse și poate fi în general executată pe perioada unui impuls de tact.
Exemplu: incrementarea unui registru al procesorului, citirea unei date din memorie, scrierea unei date în memorie, operații de adunare/scădere între conținutul a două registre, instrucțiuni de salt sau ramificare etc.
Se consideră că o instrucțiune este complexă dacă nu poate fiexecutată pe perioada unui impuls de tact, implică mai multe resuse diferite (procesor+memorie) și poate fi înlocuită printr-o serie de instrucțiuni simple.
Examplu: operații aritmetice și logice cu un operand din memorie,apelul la subrutine etc.
3/20/2018 SOC_04 2017-2018 24
PROCESOARE CISC ȘI RISC
O instrucțiune simplă poate fi executată direct de către procesor folosind o unitate specializată (ALU)
Pentru instrucțiunile complexe acest lucru este mai rar întâlnit. Aceste instrucțiuni sunt inițial transformate în microinstrucțiuni executate de un procesor microprogramat.
CISC - Complex Instruction Set Computer
RISC - Reduced Instruction Set Computer
3/20/2018 SOC_04 2017-2018 25
PROCESOARE CISC ȘI RISC
Avantajele procesoarelor CISC
Micșoraea lungimii programelor;
Simplificarea compilatoarelor;
posibilitatea de a modifica limbajul cod mașină doar prin modificarea microprogramului, fără a modifica structura hardware a procesorului;
Micșorarea memoriei ocupată de cod (foarte utilă în anii 60-70).
3/20/2018 SOC_04 2017-2018 26
PROCESOARE CISC ȘI RISC
Dezavantajele procesoarelor CISC
Diferențe foarte mari în lungimea diferitelor instrucțiuni, ceea ce impune procesorului operații logice suplimentare (numărarea octețiilor pentru citirea unei instrucțiuni, execuția secvențială a unui număr diferit de microinstrucțiuni pe instrucțiune etc.);
Diferențe foarte mari între timpii de execuție iar viteza de execuție trebuie corelată cu timpul de execuție al celei mai complexe instrucțiuni;
realizarea unității microcodate ocupă mult spațiu pe pastila de siliciu;
studiile statistice au arătat că, în aplicații, instrucțiunile complexe sunt mult mai puțin frecvente decât cele simple (sub 10%) dar ele penalizează întregul sistem;
3/20/2018 SOC_04 2017-2018 27
PROCESOARE CISC ȘI RISC
Avantajele procesoarelor RISC
utilizarea a unui set cu mai puține instrucțiuni simple;
eliminarea microcodului și implicit creșterea vitezei de lucru;
posibilitatea executării unei instrucțiuni pe un singur ciclu de tact;
Instrucțiuni cu aceiași lungime;
accesarea memoriei principale prin doar două instrucțiuni simple LOAD și STORE;
simplificarea modurilor de adresare a memoriei prin arhitectura internă;
creșterea numărului de registre interne, ceea ce reduce numărul acceselor la memoria principală;
utilizarea unui format de instrucțiune care elimină aproape complet decodificatorul de instrucțiuni, simplificând mult structura procesorului (la procesoare pe 32 sau 64 biți);
facilitarea paralelismuluiîn activitatea procesorului (procesoare pipeline);
reducerea consumului de energie pe procesor.
Dezavantajele procesoarelor RISC
Sunt necesare compilatoare complexe pentru optimizarea codului;
Codul obținut prin compilare este mai mare.
3/20/2018 SOC_04 2017-2018 28
ÎNTREBĂRI?