Computer Architecture and Systems (PDF)
Document Details
Uploaded by SolicitousMagic
Tags
Summary
This document provides detailed information on computer architecture, explaining the structure and function of computer systems. It also covers various components and their roles, such as the central processing unit (CPU), memory units, input/output devices, and more.
Full Transcript
Capitolul 3 ARHITECTURA SISTEMELOR DE CALCUL Structura generală şi funcţionarea unui sistem de calcul • Calculatorul - o maşină care prelucrează automat informaţia. • El primeşte: – datele care trebuie prelucrate (date de intrare) – o listă de instrucţiuni (programul) care îi spune cum să prelucr...
Capitolul 3 ARHITECTURA SISTEMELOR DE CALCUL Structura generală şi funcţionarea unui sistem de calcul • Calculatorul - o maşină care prelucrează automat informaţia. • El primeşte: – datele care trebuie prelucrate (date de intrare) – o listă de instrucţiuni (programul) care îi spune cum să prelucreze aceste date. • La sfârşit, va oferi utilizatorului rezultatele obţinute în urma prelucrării (date de ieşire). • este alcătuit din două componente: – Hardware – reprezintă totalitatea componentelor fizice care compun un calculator (circuite electronice, circuite electrice, circuite optice, circuite magnetice, dispozitive magnetice) – Software – reprezintă ansamblu programelor prin care reuşim să transmitem calculatorului instrucţiunile necesare prelucrării informaţiilor Un PC este format din trei părţi: 1. o cutie numită unitate sistem (system unit) 2. tastatura (keyboard) şi mouse 3. monitorul (display) Unitatea sistem conţine: 1.Placa de bază (motherboard sau mainboard) acea placă mare cu multe circuite şi prize (sloturi) de diverse forme, la care sunt conectate prin cabluri sau prin plantare în sloturi celelalte componente din sistem = Componentele principale le plăcii de bază • chipsetul sistemului şi controlerele - sunt componentele „inteligente” ale plăcii de bază = circuite integrate care dirijează traficul de informaţii şi coordonează multele dispozitive din computer. • magistralele de sistem - căile prin care circulă semnalele electrice între componente ce includ atât circuitele trasate pe placa de bază, cât şi diversele sloturi în care pot fi plantate diverse plăci şi integrate. • BIOS-ul (de la Basic Input/Output System - "sistem de bază de intrare/ieşire") - un program înscris într-o componentă de pe placa de bază- BIOS Chip. • plăcile adaptoare - introduse opţional în sloturi Cele mai importante plăci adaptoare sunt: – adaptorul video (display adapter), care transformă comenzile calculatorului în imagini vizibile pe ecran; – adaptorul unităţii de disc (disk drive adapter), care transformă comenzile calculatorului în înregistrări magnetice pe suportul de informaţii şi invers; – plăcile de memorie (memory boards), care se adaugă memoriei de bază a calculatorului pentru a mări capacitatea memoriei interne; – porturile serie şi paralel (serial and parallel ports) prin intermediul cărora se pot conecta imprimanta şi modemul pentru teletransmisie. 2. Sursa de alimentare (power supplay) şi carcasa • Sursa de alimentare (power supplay) • preia curentul alternativ şi îl transformă în curent continuu • asigură tensiunile electrice necesare funcţionării circuitelor • conţine componente care se încălzesc puternic în timpul funcţionării, există un ventilator care o răceşte • Carcasa • adăposteşte toate componentele • formtă dintr-o structură de susţinere pe care se fixează componentele calculatorului • mai multe tipuri de carcase aşa cum se poate vedea mai jos: carcase turn (tower) şi desktop Blocurile funcţionale ale unui sistem de calcul UM Interfeţele de intrare-ieşire UCC Magistrale UAL Unităţile de intrare-ieşire REGIŞTRII Sistemul de intrareieşire UCP A. Unitatea Centrală de Prelucrare (UCP) – are rolul de a prelucra informaţiile şi de a controla activitatea celorlalte echipamente. Ea este alcătuită din: 1. Unitatea de Comandă şi Control (UCC) – emite semnale de control către celelalte dispozitive, controlează decodificarea şi executarea instrucţiunilor 2. Unitatea Aritmetică şi Logică (UAL) – utilizată pe parcursul execuţiei instrucţiunilor, efectuează operaţii aritmetice şi logice 3. Regiştrii – zone de stocare temporară a informaţiilor B. Unitatea de Memorie (UM) – are rolul de stoca datele şi instrucţiunile programelor în curs de execuţie. În funcţie de modul de acces la informaţii, memoria internă poate fi: 1. ROM (Read Only Memory) – cu acces numai la citire 2. RAM (Random Acces Memory) – cu acces la scriere şi citire C. Sistemul de Intrare/Ieşire (DI/DE) – permite introducerea/extragerea informaţiilor şi este constituit din: 1. Dispozitive de intrare (DI) – utilizate pentru introducerea informaţiilor 2. Dispozitive de ieşire (DE) – utilizate pentru extragerea informaţiilor 3. Dispozitive de intrare/ieşire (DI/E) - utilizate pentru introducerea şi extragerea informaţiilor 4. Dispozitive de memorare externe (ME) – utilizate pentru stocarea informaţiilor D. Magistrale şi interfeţe – au rolul de a conecta între ele componentele calculatorului A. Unitatea Centrală de Prelucrare (UCP) = componenta cea mai importantă - „creierul” unui calculator Denumirea de unitate centrală de prelucrare provine din următoarele consideraţii: • unitate, deoarece, de cele mai multe ori, este un circuit integrat care conţine zeci sau sute de milioane de tranzistori – un microprocesor • central, deoarece este centrul de prelucrare a datelor din sistem • procesor, deoarece prelucrează datele • În cazul microcalculatoarelor, construirea unităţii centrale se bazează pe un singur circuit integrat numit microprocesor (chip), - conţine milioane de tranzistori, încapsulaţi într-un înveliş ceramic de numai câţiva centimetri pătraţi, înveliş care are rol de protecţie, dar şi de disipare termică. • Deoarece calculatorul este o maşină cu două stări, informaţia prelucrată de acestea trebuie codificată prin cifre binare. Acest cod se numeşte cod maşină. • Setul de instrucţiuni pe care microprocesorul le înţelege şi le poate executa se numeşte limbajul maşină. Orice procesor conţine trei mari blocuri funcţionale: 1. Unitatea de comandă şi control (UCC) microprocesorul • Aceasta comandă, coordonează şi controlează întreaga activitate de prelucrare, procesul de decodificare şi executare a instrucţiunilor unui program memorat în memoria internă la adrese succesive astfel: – – – – extrage din memoria internă o instrucţiune decodifică instrucţiunea extrage din memoria internă datele necesare activează circuitele necesare din UAL pentru a efectua operaţia – scrie la o anumită adresă din memoria internă rezultatul obţinut • Unitatea de comandă şi control conţine: – FU (Fetch Unit – unitatea de încărcare) – care încarcă din memoria calculatorului în registrul de instrucţiuni RI, instrucţiunea ce urmează a fi executată – DU (Decoding Unit – unitatea de decodificare) – traduce instrucţiunile într-un format acceptat de unitatea aritmetico-logică şi le transferă unităţii de control – CU (Control Unit – unitatea de control) – coordonează execuţia instrucţiunilor. În funcţie de instrucţiunile transmise de DU, emite semnale de comandă către UAL şi către regiştrii. Caracteristicile importante ale unui microprocesor • frecvenţa de lucru (frecvenţa de tact a ceasului intern) - este standardizată, se măsoară în MHz, şi cu cât este mai mare, cu atât microprocesorul este mai performant. • numărul de biţi ce îl poată prelucra microprocesorul la un moment dat (în paralel), - reprezintă cuvântul microprocesorului (microprocesoare INTEL folosesc cuvinte pe 32 şi 64 de biţi). • Fiecare procesor este proiectat astfel încât să recunoască un anumit set de instrucţiuni (lista de instrucţiuni a calculatorului). • O instrucţiune apare ca o configuraţie de cifre binare (de regulă cu lungimea de un cuvânt de memorie). • Lista de instrucţiuni se mai numeşte limbaj maşină sau cod maşină al calculatorului. • Instrucţiunile recunoscute pot fi clasificate în următoarele grupe: – transferuri de date (între regiştri sau cu memoria internă) – operaţii aritmetice şi logice asupra datelor (operanzi) din regiştri – instrucţiuni de control (salturi condiţionate şi necondiţionate, oprirea execuţiei programului, etc.) EVOLUŢIA MICROPROCESOARELOR • Primul procesor 4004, pe 4 biţi, a fost realizat de firma Intel în 1971. Acesta a fost repede îmbunătăţit rezultând procesorul 8008. • În 1974, Intel realizează a doua generaţie de microprocesoare al cărui reprezentant de bază este 8080. Acesta a fost primul microprocesor de uz general având o importanţă deosebită pentru industria de microcalculatoare. • În 1978, a treia generaţie introduce 8086 trecându-se de la microprocesoarele pe 8 biţi la cele pe 16. Acesta este punctul unde începe evoluţia familiei 80x86. • Microprocesorul 8088 frate mai mic a lui 8086 este folosit pentru realizarea calculatorului IBM Personal Computer introdus în 1981, cu care începe revoluţia calculatoarelor personale. • Familia 80x86 se măreşte în 1982 cu microprocesorul 80186. Acesta este arhitectural identic cu 8086 dar conţine câteva dispozitive sistem încorporate în acelaşi circuit. • În acelaşi an este introdus şi microprocesorul 80286 care are o arhitectură extinsă faţă de 8086. El poate lucra exact ca un 8086, având în plus unele facilităţi. Începând cu acest microprocesor au fost introduse mecanismele de memorie virtuală, de multitasking şi de protecţie. • În 1985, a fost lansat 80386, care face saltul la microprocesoarele pe 32 de biţi, dezvoltând şi conceptele introduse de 80286. • În 1989, apare 80486, care respectă arhitectura lui 80386, înglobând însă şi coprocesorul matematic 80387, în acelaşi circuit. Procesorul 80486, măreşte mult performanţele reducând viteza internă de execuţie a instrucţiunilor. Generaţii de Procesoare Anul apariţiei Număr de tranzistori 4004 şi 8008 8080 8086 şi 8088 1971 1974 1978-81 29.000 A 2-a Generaţie 80286 1984 134.000 A 3-a Generaţie 80386DX şi 80386SX 1987-88 275.000 A 4-a Generaţie 80486SX, 80486DX, 80486DX2 şi 80486DX4 1989-92 1.200.000 A 5-a Generaţie Pentium Cyrix 6X86 AMD K5 IDT WinChip C6 1993-95 1996 1996 1997 3.100.000 --3.500.000 A 5-a Generaţie îmbunătăţită Pentium MMX IBM/Cyrix 6x86MX IDT WinChip2 3D 1997 1997 1998 4.500.000 6.000.000 6.000.000 A 6-a Generaţie Pentium Pro AMD K6 Pentium II AMD K6-2 1995 1997 1997 1998 5.500.000 8.800.000 7.500.000 9.300.000 A 6-a Generaţie îmbunătăţită Mobile Pentium II Mobile Celeron Pentium III AMD K6-3 Pentium III CuMine 1999 27.400.000 18.900.000 9.300.000 ? 28.000.000 A 7-a Generaţie AMD original Athlon AMD Athlon Thunderbird Pentium 4 1999 2000 22.000.000 37.000.000 42.000.000 Prima Generaţie Coprocesorul matematic = este un circuit integrat proiectat astfel încât să permită (dacă utilizaţi un soft care să beneficieze de facilităţile coprocesorului) efectuarea unor calcule matematice de nivel înalt, cum ar fi: – extragerea radicalilor, – calcularea unor funcţii trigonometrice, – calcularea logaritmilor, etc. cu o precizie mult mai mare decât procesorul principal, şi de 10 până la 100 de ori mai rapid. Evoluţia coprocesoarelor matematice este asociată cu evoluţia microprocesoarelor Microprocesor Coprocesor matematic 8086/8088 8087 286 287 386 SX/DX 387 SX/DX 486 SX 487 SX 486 DX, Pentium Coprocesor matematic 2. Unitatea Aritmetică şi Logică (UAL) Este un ansamblu de circuite electronice specializate să realizeze operaţiile aritmetice de bază: adunarea, scăderea, înmulţirea şi împărţirea şi operaţiile logice: AND, OR, NOT şi XOR. Operaţiile logice sunt prezentate mai jos: 0 AND 0 0 0 AND 1 0 1 AND 0 0 1 AND 1 1 0 OR 0 0 0 OR 1 1 1 OR 0 1 1 OR 1 1 0 XOR 0 0 0 XOR 1 1 1 XOR 0 1 1 OR 1 0 Componentele principale ale UAL sunt: a) un set de regiştri, elemente de memorie rapidă, folosiţi pentru a păstra operanzii şi rezultatele operaţiilor efectuate asupra operanzilor, încărcaţi cu informaţii din memoria internă, iar conţinutul lor este depus tot în memoria internă; b) magistrale de informaţie, prin care se asigură circulaţia informaţiei în cadrul UAL şi legătura cu exteriorul (cu memoria internă). 3. Regiştri • zone de stocare temporară a informaţiilor, funcţionează ca o memorie proprie a microprocesorului - citite şi scrise foarte rapid. (dimensiunea şi numărul regiştrilor microprocesorului - un indiciu foarte important asupra cantităţii de informaţii pe care UCP o poate prelucra la un moment dat) • Există mai multe tipuri de regiştri: – – – – – Regiştri generali Regiştri de segment Registrul contor de program Registrul de instrucţiuni Registrul indicator de condiţie REGIŞTRI GENERALI REGIŞTRI DE SEGMENT DS AX AH AL BX BH BL ES Segment de date auxiliare CS Segment de cod program SS Regiştri de date Segment de date Segment de stivă CX CH CONTORUL DE PROGRAM CL DX DH IP DL Pointerul de instrucţiuni DI Regiştri de index SI (sursă,destinaţie) SP Regiştri indicatori BP (stivă, bază) REGISTRUL DE INSTRUCŢIUNI RI REGISTRUL INDICATORILOR DE CONDIŢIE I T S Z Regiştrii microprocesorului 8088 P C Regiştri generali sunt reprezentaţi prin • regiştri de date (de exemplu AX, BX, CX, DX), care au proprietatea că pot fi adresaţi global sau pe octeţi, • regiştri pointer – SP – Stack Pointer, – BP – Base Pointer • regiştri de index – SI – Source Index, – DI – Destination Index) - utilizaţi în operaţii pe şiruri. Regiştri de segment permit adresarea memoriei interne: • CS (Code Segment) – reţine adresa de început a segmentului în care este memorat codul programului. • DS (Data Segment) – reţine adresa de început a segmentului în care sunt memorate datele necesare programului • SS (Stack Segment) – reţine adresa de început a segmentului în care este alocată memorie pentru stivă. Accesul la stivă se realizează prin intermediul registrului SS şi a registrului SP (care conţine adresa relativă a vârfului stivei) sau a registrului BP • ES (Extra Segment) – reţine adresa de început a segmentului în care este alocată memorie pentru date, în afara segmentului de date de 64 Kb. Registrul contor de program reţine adresa relativă (offset) a instrucţiunii curente faţă de începutul segmentului ce reţine codul programului. După ce procesorul execută o instrucţiune, registrul IP este modificat automat, astfel încât să indice instrucţiunea ce urmează a fi executată. Registrul de instrucţiuni stochează instrucţiunea în curs de execuţie. Registrul indicator de condiţie are rolul de a memora starea procesorului în urma efectuării unei operaţii aritmetice sau logice. Fiecare indicator de condiţie (flag) are asociat un bit. Valoarea 1 a bitului asociat are următoarea semnificaţie: – C (Carry) – indică apariţia unei cifre de transport – P (Parity) – indicator de paritate – A (Auxiliary) – indicator de transport de la bitul 4 la bitul 5 – Z (Zero) – indicator pentru rezultat nul – S (Sign) – indicator pentru rezultat negativ – T (Trap) – indicator pentru întrerupere internă după fiecare instrucţiune – I (Interrupt) – indicator de întrerupere externă – D (Direction) – indicator de decrementare/incrementare a regiştrilor SI, DI – O (Overflow) – indicator de depăşire aritmetică