Cpu abacus

541 views

Published on

Published in: Education, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
541
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cpu abacus

  1. 1. CPU Central Processing Unit
  2. 2. CPU <ul><li>CPU </li></ul><ul><li>Famiglie </li></ul><ul><li>La storia </li></ul><ul><li>L’evoluzione delle cpu dell’AMD </li></ul><ul><li>I compiti </li></ul><ul><li>Schema a blocchi semplificato di una CPU </li></ul><ul><li>L’interprete del linguaggio macchina </li></ul><ul><li>Il consumo dell’IDLE </li></ul>
  3. 3. <ul><li>L' unità centrale di elaborazione , “ CPU” , anche chiamata nella sua implementazione fisica processore , è uno dei due componenti principali della macchina di von Neumann, il modello su cui sono basati la maggior parte dei moderni computer. </li></ul><ul><li>Compito della CPU è quello di leggere i dati dalla memoria ed eseguirne le istruzioni; il risultato dell'esecuzione dipende dal dato su cui opera e dallo stato interno della CPU stessa, che tiene traccia delle passate operazioni. </li></ul>
  4. 4. Famiglie di CPU <ul><li>In base all'organizzazione della memoria si possono distinguere due famiglie di CPU: </li></ul><ul><li>con architettura di Von Neumann classica, in cui dati e istruzioni risiedono nella stessa memoria (è dunque possibile avere codice automodificante). Questa architettura è la più comune, perché è più semplice e flessibile. </li></ul><ul><li>con architettura Harvard , in cui dati e istruzioni risiedono in due memorie separate. Questa architettura garantisce migliori prestazioni poiché le due memorie possono lavorare in parallelo ma è più complessa da gestire. È tipicamente utilizzata nei DSP. </li></ul>
  5. 5. La storia <ul><li>Durante gli anni 70’ dello scorso secolo il mercato dei calcolatori era in pieno sviluppo e aumentava sempre di piu’ la richiesta di calcolatori a basso costo. Lo sviluppo di software eliminava i limiti di costo inerenti alla esecuzione di istruzioni complesse. Venne creato il calcolatore VAX della Digital Equipment Corporation, la cui CPU aveva migliaia di istruzioni e piu’ di 200 modi diversi per accedere ai dati in memoria. Verso la fine degli anni 70’ un gruppo tento’ di creare un minicomputer ad alto rendimento, che venne chiamato 801. Nell’ambito di un nuovo studio, un gruppo di Berkeley progetto’ una CPU su chip VLSI che non utilizzava l’interpretazione (tramite microcodice) e la chiamarono RISC (Reduced Instruction Set Computer). Poco dopo venne creato un nuovo chip che prese il nome di MIPS. Questi processori erano molto diversi da quelli in commercio e ben presto si capi’ l’importanza di proggettare processori che eseguissero le istruzioni velocemente. Inizio’ quindi una lotta tra RISC e CISC (Complex Istruction Set Computer) tuttora aperta. </li></ul>
  6. 6. L’evoluzione delle cpu dell’AMD <ul><li>AMD è praticamente da sempre attiva nel mondo dell'elettronica, in particolare nell'ambito delle memorie, delle logiche programmabili e, ovviamente, dei processori. Benchè adesso sia acerrima avversaria di Intel, un tempo le cose tra i due colossi non stavano in questi termini, ma anzi c'era collaborazione e (addirittura) amicizia, ma partiamo dall'inizio... Advanced Micro Device nasce nel 1969, nel ' 76 inizia la partnership con Intel con la quale firma un accordo per lo sfruttamento dei microcodici degli allora neonati processori Intel, nel 1982 AMD e Intel rafforzano la collaborazione firmando un accordo decennale in cui si impegnano a lavorare congiuntamente sulla piattaforma x86. Nel '87 arriva però la rottura, AMD accusa Intel di non aver rispettato i patti e vince la causa nel 1992 anno in cui comincia a sviluppare autonomamente un processore alternativo a quello Intel. Ai tempi del 486, quando ancora erano in corso gli accordi di collaborazione con Intel, AMD e Cyrix (altro produttore di processori e coprocessori x86) detenevano addirittura quote di mercato del 30%. I prodotti AMD erano in pratica &quot;cloni&quot; dei processori Intel e Intel sopportava la situazione in nome di un principio noto nel mondo dell'elettronica come &quot;Second Source&quot;; in pratica per l'affermazione di un chip è necessario che esistano sul mercato almeno due fornitori dello stesso (o di un prodotto equivalente ed intercambiabile) per scongiurare eventuali problemi di approvvigionamento. La situazione mutò improvvisamente con l'avvento del Pentium, Intel decise di mettere fine al fenomeno dei processori cloni e da allora i progettisti di CPU alternative ai prodotti Intel si sono dovuti arricciare le maniche per sviluppare da capo prodotti competitivi e al contempo totalmente compatibili. </li></ul>
  7. 7. <ul><li>Una generica CPU deve eseguire i suoi compiti sincronizzandoli con il resto del sistema: perciò è dotata, oltre a quanto sopra elencato, anche di uno o più bus interni che si occupano di collegare registri, ALU, unità di controllo e memoria: inoltre all'unità di controllo interna della CPU fanno capo una serie di segnali elettrici esterni che si occupano di tenere la CPU al corrente dello stato del resto del sistema e di agire su di esso. Il tipo e il numero di segnali esterni gestiti possono variare ma alcuni, come il RESET , le linee di IRQ e il CLOCK sono sempre presenti. </li></ul>I compiti
  8. 8. <ul><li>Per quanto riguarda i registri, le CPU possono gestirli in molti modi: i più comuni sono registri nominativi (CPU CISC classiche), file di registri (RISC) e stack di registri (Transputer e simili). </li></ul><ul><li>Stack di registri : i registri sono organizzati in una struttura a stack ( pila ); questa architettura ha il vantaggio di non dover specificare su quale registro interno operare (è sempre quello in cima allo stack) ottenendo istruzioni più corte e più semplici da decodificare. Il rovescio della medaglia è che nel caso sia necessario un dato &quot;sepolto&quot; in fondo allo stack, il suo recupero è un'operazione molto lenta. </li></ul><ul><li>Registri nominativi : ogni registro è identificato singolarmente e le istruzioni che usano registri specificano di volta in volta quale registro devono usare. Spesso alcuni registri sono dedicati a scopi particolari (registri indice, accumulatori, registri di segmento ecc.) imponendo la non ortogonalità del set di istruzioni (vedi oltre). La gran maggioranza delle CPU generiche degli anni '70 e '80 è di questo tipo. </li></ul><ul><li>File di registri : I registri sono organizzati come una memoria interna della CPU e indicizzati: la CPU &quot;alloca&quot; un certo numero di registri per ogni processo e/o subroutine in esecuzione, eliminando la necessità di accedere alla RAM per salvare gli stack di chiamata delle funzioni e i dati di task switching nei sistemi multitask. </li></ul>
  9. 9. Schema a blocchi semplificato di una CPU
  10. 10. La CPU è l'Interprete del linguaggio macchina. <ul><li>Come tutti gli interpreti, si basa sul seguente ciclo: </li></ul><ul><li>Acquisizione dell'istruzione: il processore preleva l'istruzione dalla memoria, presente nell'indirizzo (tipicamente logico) specificato da un registro &quot;speciale&quot; (&quot;speciale&quot; opposto di &quot;generico&quot;), il PC </li></ul><ul><li>Decodifica: una volta che la word è stata prelevata, viene determinata quale operazione debba essere eseguita e come ottenere gli operandi, in base ad una funzione il cui dominio è costituito dai codici operativi (tipicamente i bit alti delle word) ed il codominio consiste nei brani di microprogramma da eseguire </li></ul><ul><li>Esecuzione: viene eseguita la computazione desiderata. Nell'ultimo passo dell'esecuzione viene incrementato il PC: tipicamente di uno se l'istruzione non era un salto condizionale, altrimenti l'incremento dipende dall'istruzione e dall'esito di questa </li></ul>
  11. 11. Von Neumann <ul><li>La Macchina </li></ul><ul><li>Funzionamento schematico della macchina </li></ul>
  12. 12. La Macchina <ul><li>Con il termine “Macchina di von Neumann” si intende la particolare architettura di calcolatori elettronici ideata dal matematico americano John von Neumann; essa è costituita da quattro elementi fondamentali: </li></ul><ul><li>Unità di elaborazione ( CPU, Central Processing Unit ): Insieme di dispositivi elettronici in capaci leggere interpretare ed eseguire le istruzioni contenute nei programmi. </li></ul><ul><li>Memoria centrale ( MM, Main Memory ): Contiene i dati relativi all’esecuzione dei programmi (informazioni ed istruzioni). </li></ul><ul><li>BUS di sistema Canale di comunicazione tra tutti gli elementi dell’ architettura di von Neumann. </li></ul><ul><li>Interfacce delle periferiche Interfacce di comunicazione tra il calcolatore e le periferiche </li></ul><ul><li>Le periferiche vere e proprie come Stampanti, Monitor, Tastiera … sono considerati elementi esterni al calcolatore, in particolare nell’architettura di von Neumann, le memorie di massa (Hard Disk, CD-Rom ecc) sono considerate come periferiche. </li></ul><ul><li>Anche se questa è una semplificazione dei calcolatori moderni, che possono contenere altre componenti, il concetto di base è molto vicino alla realtà e da una ottima rappresentazione delle funzionalità dei calcolatori. </li></ul>
  13. 13. Funzionamento schematico della macchina <ul><li>La CPU si occupa di elaborare le informazioni, coordinando gli altri elementi del calcolatore; recupera le informazioni dalla memoria, le decodifica interpretando il loro significato per poi eseguirle. Le possibili operazioni sui dati recuperati dalla memoria sono di due tipi: </li></ul><ul><li>Elaborazione: Le informazioni recuperate vengono elaborate, ad esempio con operazioni matematiche. </li></ul><ul><li>Trasferimento: Le informazioni recuperate vengono trasferite tra regioni diverse, ad esempio tra memoria di massa e memoria centrale. </li></ul><ul><li>Ogni trasferimento avviene tramite il bus di sistema, che gestisce il collegamento logico tra gli elementi del calcolatore, mentre il collegamento fisico tra di essi è sempre presente. </li></ul><ul><li>Le varie fasi di elaborazione dei dati si svolgono in maniera sincrona alla scansione temporale del clock di sistema , durante la quale, la CPU coordina l’esecuzione delle funzioni svolte dalla CPU stessa o dagli altri elementi del calcolatore. Tutto questo avviene in maniera sequenziale, determinata dalla CPU, mentre architetture più recenti permettono, tramite il parallelismo , di eseguire contemporaneamente più operazioni. </li></ul>
  14. 14. <ul><li>Architettura di Von Neumann </li></ul><ul><li>  .. CPU = Central Processing Unit (Unità centrale di elaborazione) </li></ul><ul><li>ALU = Arithmetic Logic Unit (Unità aritmetico-logica) </li></ul><ul><li>CU = Control Unit (Unità di controllo) </li></ul><ul><li>I/O = Input/Output </li></ul><ul><li>BUS = un insieme di fili per trasferire dati da un’unità all’altra (percorso dell'informazione) </li></ul><ul><li>Il BUS consente il trasferimento dei dati da un'unità all'altra. Ve ne sono essenzialmente di tre tipi: </li></ul><ul><li>bus dati  : per trasferire i dati tra CPU e memoria e tra CPU e unità di I/O </li></ul><ul><li>bus indirizzi  : per identificare la posizione delle celle di memoria </li></ul><ul><li>bus di controllo  : per far transitare i segnali di controllo (selezionare le unità coinvolte nel trasferimento, definire la direzione) </li></ul>
  15. 15. Harvard <ul><li>L' architettura </li></ul><ul><li>Harvard Mark I </li></ul>
  16. 16. L' architettura Harvard <ul><li>L' architettura Harvard è un'architettura che separa la memorizzazione e la trasmissioni dei dati da quella delle istruzioni. Il termine inizialmente indicava l'architettura del computer Harvard Mark I, un computer basato su relè che memorizzava le istruzioni su un nastro perforato mentre i dati venivano memorizzati in un contatore elettromeccanico a 23 cifre. Questa macchina non era dotata di un'unità di immagazzinamento dei dati, questi erano interamente memorizzati dalla CPU e il loro caricamento e salvataggio era un processo eseguito in modo manuale agendo sui contatori. </li></ul>
  17. 18. Harvard Mark I <ul><li>Harvard Mark I , o anche semplicemente Mark I , è il nome con cui è noto l' Automatic Sequence Controlled Calculator (ASCC) , il primo calcolatore digitale automatico. </li></ul><ul><li>È stato progettato da Howard Hathaway Aiken , del dipartimento di fisica della Harvard University (Cambridge, Mass., U.S.A.) che venne affiancato nel suo lavoro dagli ingegneri meccanici C. D. Lake, F. E. Hamilton e B. M. Durfee. </li></ul>
  18. 19. Il consumo dell’IDLE <ul><li>Il 'Ciclo Idle del Sistema' è un processo di windows che in pratica ti dice quanta percentuale di cpu è libera in quel momento. Se non sta girando nessun programma, indica quasi il 100% di cpu. Quando lanci un programma, diminuisce la % del ciclo idle e aumenta quella del programma che hai aperto. </li></ul>

×