I registri A, B, T contengono dati su cui è possibile eseguire operazioni elementari da parte dell ALU;

Documenti analoghi
Il processore. Istituzionii di Informatica -- Rossano Gaeta

Componenti di un processore

Il Processore: l unità di controllo

Il Processore. Informatica di Base -- R.Gaeta 27

Elementi di informatica

Lezione 15. L elaboratore Elettronico

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Architettura dei computer

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

Architettura dei calcolatori

Struttura hw del computer

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf

La memoria principale

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association)

Macchina di Riferimento: argomenti

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Architettura hardware

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

HARDWARE 1.4a: (Processore)

Corso di Informatica

Struttura del calcolatore

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

Architettura dei calcolatori

Capitolo 5 Elementi architetturali di base

Caratteristiche di un PC

Architettura di un processore basato su registri generali.

La macchina di Von Neumann

Struttura di un sistema di elaborazione. SDE: basi. Descrizione dei componenti (2) Descrizione delle componenti

Architettura dei calcolatori I parte Introduzione, CPU

Architettura dei calcolatori

Architettura dei Calcolatori elettronici

Architettura generale del calcolatore Hardware (tutto ciò che e tangibile) Software (tutto ciò che non e tangibile)

Modulo 1: Le I.C.T. UD 1.4c: Il Processore

UD 1.4c: Il Processore IL MICROPROCESSORE

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Il modello di Von Neumann

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Microelettronica Corso introduttivo di progettazione di sistemi embedded

LEZIONE 2 Il processore e la memoria centrale

Architettura hardware

Lezione 1: L hardware

Componenti e connessioni. Capitolo 3

Hardware. I parte. Sommario

Lezione4: MIPS e Istruzioni (1 Parte)

Esame di INFORMATICA Lezione 4

Hardware. Sommario. Architettura dei computer

Il Processore: i registri

ARCHITETTURA DI UN ELABORATORE

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Architettura di una CPU

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Elementi di base del calcolatore

HSA HSA HARDWARE SYSTEM ARCHITECTURE. Livelli. Livello assemblativo. Livello di. Sistema Operativo. Livello di. linguaggio macchina.

Sistemi di numerazione

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

DEFINIZIONE. particolare l'unità di elaborazione centrale è una tipologia di

NOZIONI BASE DEL PROCESSORE (CPU)

Ingegneria Gestionale della logistica e produzione Prof. A. Palomba - Elementi di Informatica (J-Z) Componenti

Architettura dei calcolatori

Introduzione all'architettura dei Calcolatori

La macchina di Von Neumann. Elementi base. Central Processing Unit (CPU) Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B ALU

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003

Modulo: Elementi di Informatica

2. Architettura di un calcolatore

Architettura dei calcolatori

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Ciclo del Processore. Memoria

La macchina di Von Neumann

1.4a: Hardware (Processore)

Architettura del calcolatore

Struttura dell elaboratore elettronico

Macchine Astratte. Luca Abeni. February 22, 2017

Sistemi di Elaborazione delle Informazioni

INFORMATICA GENERALE

Lezione 3: Architettura del calcolatore

Architettura di un calcolatore

CPU. Maurizio Palesi

Il processore N.12. Vediamo come è strutturato un microprocessore e con quale sequenza esegue le istruzioni dettate da un programma assembler.

Computer e Programmazione

La macchina di Von Neumann. Architettura di un computer. Central Processing Unit (CPU) Elementi base MEMORIA CENTRALE PERIFERICHE SR PC A B INTR

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Colloquio di informatica (5 crediti)

Macchina di von Neumann/Turing

Il processore: unità di elaborazione

Corso di Calcolatori Elettronici I A.A Il processore Lezione 18

ARCHITETTURA DI UN ELABORATORE

Architettura del Calcolatore

Arithmetic and Logic Unit e moltiplicatore

Architettura del Calcolatore. Danilo Ardagna Politecnico di Milano

Fondamenti di Informatica

C. P. U. MEMORIA CENTRALE

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

LA STRUTTURA DEL COMPUTER

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Architettura di un calcolatore e principali caratteristiche tecniche e tecnologiche

Transcript:

Il microprocessore La prima e più importante componente della scheda madre è sicuramente il microprocessore, ovvero la cosiddetta CPU (central processing unit). A dire il vero, microprocessore e CPU non sono proprio la stessa cosa: il microprocessore è l'oggetto fisico che si trova nel nostro computer (ma anche nelle fotocamere digitali, negli impianti HI-FI, nei televisori, ecc..), mentre la CPU, ovvero l unità di elaborazione centrale, è soprattutto un concetto logico-funzionale. Concretamente, la CPU è dentro il microprocessore, (insieme ad alcune componenti aggiuntive), però, i due termini vengono usati in maniera quasi intercambiabile. La CPU è composta da un insieme di elementi, collegati tra di loro da uno o più bus interni, ovvero bus di comunicazione ricavati dallo stesso elemento di silicio della CPU. Tali componenti sono: i registri; l unità aritmetico logica (ALU); l unità di controllo (CU); l unità floating point (FPU).

La CPU trasferisce le informazioni in formato digitale dalla memoria del computer a piccoli scaffali di lavoro disponibili al suo interno, i cosiddetti registri, elementi di memoria ad alta velocità usati per memorizzare risultati temporanei e informazioni di controllo; leggendo i valori che trova nei registri, li modifica se necessario, in base alle regole previste dal programma che sta eseguendo e quindi trasferisce nuovamente nella memoria i valori eventualmente modificati. Fra i registri dei quali dispone la CPU ricordiamo: I registri A, B, T contengono dati su cui è possibile eseguire operazioni elementari da parte dell ALU; instruction register (IR): memorizza l istruzione da eseguire; program counter (PC): memorizza l indirizzo della prossima istruzione, un programma corrisponde infatti ad una sequenza di istruzioni immagazzinate nella memoria centrale. La prima fase dell'esecuzione di ogni istruzione corrisponde al prelevamento (fetch) dalla memoria dell'istruzione da eseguire. Questa operazione richiede l'indirizzo in memoria del primo byte dell'istruzione, contenuto nel program counter. Dopo che l'istruzione è stata prelevata, il program counter viene incrementato del numero di bytes di cui l'istruzione è composta, e quindi conterrà l'indirizzo iniziale dell'istruzione successiva. Durante l'esecuzione della istruzione il program counter potrebbe venire modificato nel caso l'istruzione sia un'istruzione di salto che modifica l'esecuzione sequenziale del programma;

memory data register (MDR o MD): serve a scambiare dati tra la CPU e la memoria, mentre il registro ED e utilizzato per scambiare i dati tra la CPU e le unita esterne di ingresso e di uscita; memory address register (MAR): è caricato di volta in volta con l indirizzo della locazione di memoria che in un certo istante la CPU vuole leggere o scrivere, mentre il registro EAR è caricato con il numero della porta di I/O con cui scambiare i dati; ED: serve allo scambio dati con le unita esterne di ingresso/uscita; program status word (PSW): è il registro dei flag che che memorizza particolari condizioni quali: riporto, traboccamento, risultato positivo/negativo, parità e altro; RC è il registro per i segnali di controllo da e verso le altre unità (scrittura,lettura, attesa, pronto ecc..; status register (SR): contiene informazioni sullo stato corrente del processore, in particolare contiene i bits di condizione, ovvero flags che indicano particolari condizioni che si sono verificate nell'ultima istruzione eseguita. I bit di condizione sono generalmente: bit di Carry C: posto ad 1 quando l'operazione aritmetica appena eseguita ha causato un riporto dal bit più significativo; bit di Zero Z: posto ad 1 quando il risultato dell'ultima istruzione è stato pari a 0; bit di Overflow V: posto ad 1 quando l'ultima operazione ha causato un overflow; bit di segno N: posto ad 1 quando il risultato dell'ultima istruzione è negativo. Molte istruzioni di programma richiedono l'intervento di una componente particolarmente importante della CPU, l'unità aritmetico-logica o ALU, che compie le principali operazioni aritmetiche. L'unità aritmetico-logica è rappresentata da una rete combinatoria composta di sommatori binari, blocchi logici AND, OR, XOR, invertitori e multiplexers. L'attivazione di questi componenti è dettata da un insieme di linee di controllo che, opportunamente comandate dall'unità di controllo, fanno si che la ALU assuma la funzionalità desiderata. Il modulo di controllo rappresenta la parte centrale della CPU, che coordina la sequenza delle fasi di esecuzione delle istruzioni. L'esecuzione di ogni istruzione richiede una sequenza di fasi diverse: la fase di fetch, per leggere dalla memoria l'istruzione da eseguire: il termine fetch indica la copia di un informazione dalla memoria all interno della CPU:

1. (PC) MAR: il contenuto del program counter viene spostato nel registro indirizzi; 2. MEM (MAR) MD: viene prelevato dalla memoria il contenuto dell indirizzo puntato da MAR e viene posto nel registro MD; 3. (MD) IR: il contenuto di MD viene posto nel registro istruzione corrente (IR); 4. (PC) +1 PC: il contenuto del program counter PC viene incrementato. la fase di decode, per la decodifica dell'istruzione; la fase di execute, per l'esecuzione dell'istruzione stessa. Queste fasi possono a loro volta essere suddivise in altre fasi. La CPU pertanto non è rappresentata da una rete combinatoria, bensì da una macchina sequenziale, che attraversa un insieme di stati, sincronizzata da un segnale di clock. L'unità di controllo implementa tale macchina sequenziale, e definirà un certo insieme di bits per contenere lo stato. L'ingresso di tale macchina sequenziale sarà rappresentato dall'istruzione da eseguire (o più precisamente da una parte di essa corrispondente al codice operativo), e le uscite saranno le linee di controllo necessarie per la corretta configurazione della ALU, per la connessione dei bus interni, e per la configurazione dei multiplexer utilizzati al di fuori della ALU. L'esecuzione di un'istruzione richiederà pertanto un certo numero di cicli di clock: maggiore sarà la frequenza di tale clock (limitato tuttavia dai tempi di commutazione del circuito), più veloce sarà l'esecuzione delle istruzioni. L'unità floating point consente di eseguire operazione su numeri reali, normalmente espressi in notazione floating point IEEE 754. Inizialmente la FPU era costituita da un chip separato dalla CPU ed in mancanza di essa le operazioni su numeri reali dovevano essere eseguite via software, ovvero con un'opportuna sequenza di istruzioni che comportassero solo calcoli su numeri interi. Attualmente le CPU utilizzate nei pc montano a bordo dello stesso chip l'unità floating point, e pertanto il set di istruzioni della CPU viene esteso alle operazioni di manipolazione dei numeri reali. I bit che vanno avanti e indietro dai registri e sui quali lavorano l'unità di controllo e la ALU hanno naturalmente bisogno di canali attraverso cui viaggiare: si tratta dei cosiddetti bus. L'architettura di un computer dovrà naturalmente prevedere diversi tipi di bus; ognuno dei componenti funzionali del pc è collegato ad un bus di controllo, un bus degli indirizzi e un bus dei dati, nonché ad una linea di alimentazione: il bus di controllo trasmette segnali che indicano quando un dato è disponibile per l accesso, il tipo di accesso, e segnala eventuali errori occorsi durante l operazione; ciascun componente collegato al bus degli indirizzi può riconoscere una combinazione di segnali elettronici unica, detta indirizzo; i bus di dati sono strade di comunicazione assai trafficate e l'efficienza e la velocità di un computer dipenderanno anche dalla loro portata'': un numero maggiore di corsie'' permetterà di far viaggiare contemporaneamente più bit e migliorerà la velocità del sistema.

Quando il microprocessore deve leggere dati dalla memoria, segnala la locazione desiderata sul bus indirizzi e quindi li legge sul bus dei dati. L esatta sincronizzazione dei bus degli indirizzi e di trasferimento dati è compito del bus di controllo. Il bus è fisicamente realizzato da un gruppo di linee comuni sulla scheda madre a cui sono collegati tutti i dispositivi del pc e, quando una nuova scheda viene innestata in uno slot di espansione, viene inserita direttamente sul bus. Il bus è sotto il controllo diretto del microprocessore che, ad ogni istante, seleziona l interconnessione da attivare e indica l operazione da compiere; le varie altre unità funzionali collegate al bus entrano in azione solo all atto della selezione da parte del microprocessore. Attraverso i bus pertanto, le informazioni provenienti dall esterno sotto forma di dati binari vengono lavorate'' in accordo con le istruzioni del programma, e vengono nuovamente spedite verso l'esterno. I ritmi di lavoro sono scanditi dall'orologio (clock) della CPU (più veloce è questo orologio, più rapidamente vengono eseguiti i compiti richiesti) e la capacità di elaborazione dipende direttamente dall'insieme di istruzioni che il processore può riconoscere ed eseguire: ogni programma costruito per essere eseguito da un particolare processore deve essere basato su comandi tratti dal relativo set di istruzioni.

Il clock è dunque un segnale periodico costituito da una sequenza alternata di uni e zeri che viene distribuito a tutti i circuiti sequenziali sincroni per sincronizzarne il funzionamento: l intervallo di tempo che intercorre tra due successivi impulsi è detto periodo di clock. La CPU lavora a n GHz, segue un ritmo, definito dall orologio del sistema, di n miliardi di impulsi al secondo: questi impulsi determinano pertanto la velocità del processore (frequenza di clock). Ad esempio, il microprocessore Intel Pentium IV con un clock a 3 GHz è temporizzato da tre miliardi di impulsi al secondo. Naturalmente, il fatto che la CPU lavori così velocemente (a una frequenza molto alta) comporta lo sviluppo di calore ed ecco che diventa essenziale raffreddare le CPU mediante una piccola ventola a motore. Si è detto che la frequenza di clock è uno degli indici della velocità del processore, ma la sua potenza effettiva dipende anche dal numero e dal tipo di istruzioni che il processore è in grado di eseguire. Le CPU si dividono in varie tipologie in funzione del tipo di connessione alla scheda madre (ad esempio socket 939, dedicati al processore Amd Athlon 64 FX, socket 775 LGA, dedicati al processore Intel Pentium 4) e dell architettura. Alcune schede madri permettono di alloggiare due CPU che si divideranno il lavoro migliorando così le prestazioni del computer.