Architettura del Computer PDF

Title Architettura del Computer
Author Oleh Kulyk
Course Fondamenti di Informatica
Institution Politecnico di Bari
Pages 15
File Size 861.2 KB
File Type PDF
Total Downloads 80
Total Views 151

Summary

The complete and well-structured lecture notes on computer architecture....


Description

FONDAMENTI DI INFORMATICA ARCHITETTURA DEL COMPUTER

INTRODUZIONE Un calcolatore è una macchina programmabile, ovvero in grado di eseguire programmi. Un calcolatore è un sistema, cioè un oggetto costituito da molte parti (componenti ) che interagiscono, cooperando, al fine di ottenere un certo risultato. Studiare l’architettura di un sistema vuol dire: ▪ ▪ ▪

individuare ciascun componente del sistema; comprendere i principi generali di funzionamento di ciascun componente; comprendere come i vari componenti interagiscono tra di loro. SW applicativo

La prima decomposizione di un calcolatore è relativa ai seguenti macrocomponenti: ▪ ▪

SW di base

HARDWARE – la struttura fisica del calcolatore, costituita da componenti elettroniche ed elettromeccaniche SOFTWARE – l’insieme dei programmi che consentono all’hardware di svolgere dei compiti utili; il software comprende il software di base (tra cui il sistema operativo) e il software applicativo (applicazioni a disposizione dell’utente)

Hardware

1 Monitor (schermo) 2 Scheda madre 3 Processore (CPU) 4 Memoria RAM 5 Slot di espansione 6 Alimentatore 7

Unità per la lettura di supporti ottici

8 Disco rigido 9 Mouse 10 Tastiera

L’ARCHITETTURE DI VON NEUMANN L’architettura dell’hardware di un calcolatore reale è molto complessa, per cui viene introdotta la macchina di von Neumann, che è un modello semplificato dei calcolatori moderni e che, come tale non è una macchina reale.

John von Neumann, matematico ungherese, progettò, verso il 1945, il primo calcolatore con programmi memorizzabili anziché codificati mediante cavi e interruttori. La grande intuizione di Von Neumann, che oggi appare una cosa ovvia, fu quella di utilizzare la memoria non solo per i dati ma anche per i programmi. In questo modo i programmi (su schede perforate) potevano essere caricati in memoria con un lettore di schede evitando complesse e dispendiose configurazioni/programmazioni con interruttori e cavi.

La macchina di von Neumann è composta da quattro tipologie di componenti funzionali fondamentali: ▪

▪ ▪ ▪

UNITÀ CENTRALE DI ELABORAZIONE (chiamata anche processore o Central Processor Unit o CPU): componente in grado di eseguire istruzi oni per l’elaborazione dei dati; svolge anche funzioni di controllo, ovvero di coordinamento, delle altre componenti funzionali; MEMORIA CENTRALE: memorizza e fornisce l’accesso a dati e programmi; BUS: svolge la funzionalità di trasferimento di dati e di informazioni di controllo tra le varie componenti funzionali PERIFERICHE: consentono il flusso di informazioni tra l’elaboratore e l’esterno: le unità di input verso l’elaboratore, quelle di output verso l’esterno.







tastiera

mouse

schermo

memoria

interfaccia I/O

interfaccia I/O

interfaccia I/O

interfaccia I/O

MEMORIA CENTRALE

CPU

MACCHINA DI VON NEUMANN

Lo scopo fondamentale di un calcolatore è di permettere l’elaborazione di informazioni. Le informazioni sono rappresentate sotto forma di dati. Un dato è una informazione elementare che viene rappresentata nell’elaboratore sotto forma di codice binario. I dati, rappresentati in codice binario, possono opportunamente essere sottoposti a trattamento, che prevede la loro: ▪









AQUISIZIONE: un calcolatore può essere collegato a diversi dispositivi di ingresso e/o uscita, chiamati periferiche. Ogni periferica viene controllata mediante un’opportuna interfaccia, che ha il compito di tradurre i segnali interni del calcolatore in un formato comprensibile alla periferica stessa, e viceversa. MEMORIZZAZIONE: un calcolatore memorizza sia i dati, che rappresentano informazioni di interesse sia i programmi per l’elaborazione dei dati. La memoria è l’unità responsabile della memorizzazione dei dati, che fornisce due sole operazioni: memorizzazione di un dato in una cella (scrittura); accesso al dato memorizzato in una cella (lettura). ELABORAZIONE: le istruzioni di un programma corrispondono ad operazioni elementari di elaborazione: operazioni aritmetiche, operazioni relazionali (confronto tra dati), operazioni su caratteri e operazioni logiche. Queste operazioni elementari vengono svolte dall’unità aritmetico -logica in modo molto efficiente e ad elevata velocità . TRASFERIMENTO: permettere lo scambio dei dati e dei segnali di controllo tra le varie componenti funzionali del calcolatore. Il bus è un insieme di linee dedicato al trasferimento di informazioni all’interno del calcolatore. CONTROLLO: il coordinamento tra le varie parti del calcolatore è svolto dall’unità di controllo. Il controllo consiste nel coordinamento dell’esecuzione temporale delle operazioni sia internamente all’unità di elaborazione sia negli altri elementi funzionali. Ogni componente dal calcolatore esegue solo le azioni che gli vengono richieste dall’unità di controllo.

BUS La comunicazione fra le varie componenti avviene attraverso il bus di sistema. Tramite il bus la CPU legge/scrive dati e istruzioni in memoria, li trasferisce dalla memoria ai dispositivi di I/O e viceversa, etc. L’utilizzo di un bus favorisce la modularità e l’espandibilità del calcolatore. Il BUS ▪ ▪ ▪ ▪ ▪ ▪

L’insieme di connessioni elettriche (fili) parallele utilizzate per collegare tutti i componenti di un calcolatore. Analogo alla colonna spinale. Controllato dalla CPU. Consente il trasferimento di dati tra le unità hardware. Velocità è misurata in megahertz (come la CPU), ma di solito più lento. E’ il collo di bottiglia per molti PC.

CPU

MEMORIA CENTRALE

CONTROL BU ADDRESS BU DATA BUS

DISPOSITIVI DI I/O

Questa organizzazione è detta “bus oriented”. Programmi e dati sono trasferiti entrambi attraverso il bus dati. Il bus indirizzi è utilizzato dalla CPU per indicare alla memoria le locazioni dove risiedono le informazioni da trasferire.

Vantaggi ▪ ▪ ▪

Semplicità: unica linea di connessione implica costi ridotti Estendibilità: aggiunta di nuovi dispositivi molto semplice Standardizzabilità: regole precise di comunicazione tra dispositivi diversi

Svantaggi ▪ ▪ ▪

Lentezza: il bus è utilizzabile solo in mutua esclusione Limitata capacità: al crescere del numero di dispositivi collegati Sovraccarico del processore: la CPU funge infatti da master sul controllo del bus

MOTHERBOARD La scheda madre (motherboard) è chiamata anche piastra madre o scheda di sistema ed è l’elemento centrale del computer. Si tratta di un grande circuito stampato, ricavato da un insieme di strati di vetronite e rame, sul quale trovano posto i componenti elettronici principali: i chip di silicio su cui si fonda il funzionamento del PC. La scheda madre ha integrato il bus di sistema, composto da 50 a 100 fili in rame incisi su di essa. È dotata di connettori separati ad intervalli regolari per l’innesto dei moduli di memoria e di I/O. Vi sono montate le componenti del computer (CPU, RAM, hard disk, etc.)

5

2

Socket (alloggiamento) per la CPU

2 Slot per la memoria RAM

3 1

3

Controller e slot PCI di espansione

4

Batteria della CMOS del BIOS

5

Porte: USB, seriale, parallela, PS2…

4 2

ALIMENTATORE È un contenitore metallico avvitato ad una estremità dello chassis, con alcuni fili colorati che fuoriescono. Il computer è un dispositivo elettrico che ha bisogno di energia per poter funzionare. La corrente elettrica alternata presente nelle nostre case ha una tensione di 220 volt. L’alimentatore svolge la funzione di ricevere la corrente alternata a 220 volt e trasformarla in corrente continua nel voltaggio richiesto dalle varie componenti del PC: 12 e 5 volt. L’alimentatore agisce anche in modo di limitare le irregolarità del flusso di corrente.

MICROPROCESSORE – CPU La CPU (Central Processing Unit), è considerata il cervello del computer. A volte ci si riferisce ad essa con il termine processore. Molte operazioni di calcolo hanno luogo all'interno della CPU. In termini di potenza di calcolo, è l'elemento principale del computer. Esiste in diversi formati, ognuno dei quali richiede uno specifico slot o socket sulla motherboard. I produttori più comuni di CPU sono Intel ed AMD. Il socket della CPU è il connettore che si interfaccia tra la scheda madre ed il processore stesso. La maggior parte dei socket e dei processori della CPU sono costruiti solitamente attraverso l'architettura a matrice di griglia dei pin, dove i pin sul lato del processore sono inseriti nel socket, con forza di inserzione zero ( ZIF - zero insertion force).

La CPU ha il compito di gestire (si dice che ha il ruolo di master) l’intero sistema e in particolare l’accesso al bus, impedendo alle unità periferiche la possibilità di accedervi autonomamente. La CPU si occupa di eseguire tutte le operazioni richieste dal sistema operativo e dal software applicativo. Ogni trasferimento di dati attraverso il bus avviene sotto la supervisione della CPU che sincronizza con segnali di controllo i dispositivi che devono colloquiare. La potenza di una CPU viene misurata dalla sua velocità, dalla quantità di dati che riesce ad elaborare e dalla dimensione dei registri. La velocità della CPU viene misurata in cicli al secondo ed è determinata dall’ orologio di sistema (clock), che fornisce una cadenza temporale a cui tutte le attività elementari sono sincronizzate. La velocità delle odierne CPU viene misurata in miliardi di cicli al secondo, detti gigahertz (GHz). La quantità di dati che una CPU riesce ad elaborare in un'unità di tempo dipende dalla grandezza del bus del processore, ovvero dal numero di bit che il processore è in grado di ricevere e di elaborare simultaneamente. Questo viene anche detto CPU bus o front side bus (FSB). Più grande è il bus del processore, più potente sarà il processore. I processori odierni hanno un bus di 32-bit o 64 -bit .

MEMORIA CENTRALE O PERIFERICHE

leggi scrivi BUS CONTROLLO

indirizzo BUS INDIRIZZI

UNITÀ DI CONTROLLO PC IR

PSW

MAR registro A

dati BUS DATI

MDR

registro B

stato

registro C

esegui



operazione

CPU L’unità di elaborazione è composta da: ▪

Unità di Controllo o CU: decodifica le istruzioni prelevate dalla memoria centrale nella fase di fetch, coordina le varie unità nell’esecuzione dei programmi, comandando opportunamente i segnali di controllo dei registri, dell’ALU e dei bus che interfacciano la memoria;



Unità Aritmetico-Logica o ALU: effettua le operazioni di tipo aritmetico e logico su 2 operandi forniti ai suoi ingressi; oltre al risultato dell’operazione può produrre ulteriori informazioni su linee specifiche (overflow, zero); REGISTRI: piccole celle di memoria interne alla CPU ad alta velocità su cui vengono memorizzate i risultati temporanei e le informazioni di controllo necessarie al funzionamento d ell’ALU. Normalmente i registri hanno tutti le stesse dimensioni, alcuni vengono utilizzati per compiti specifici altri sono general purpose.



• • • • • •

Program Counter (PC) è il registro più importante che indica la prossima istruzione da eseguire. Instruction Register (IR) è il registro che memorizza l’istruzione che si sta per eseguire. Memory Address Register (MAR) contiene l’indirizzo della cella di memoria che deve essere acceduta o memorizzata. Memory Data Register (MDR) indica il dato che è stato acceduto o che deve essere memorizzato. Program Status Word (PSW) contiene informazioni, opportunamente codificate, circa l’esito dell’ultima istruzione che è stata appena eseguita. Altri registri sono utilizzati, ad esempio, per la memorizzazione degli operandi e del risultato di una operazione aritmetica.

Esecuzione di un programma

1. 2. 3. 4. 5. 6. 7. 8.

L’esecuzione di un programma ha inizio con il caricamento della locazione della prima istruzione nel PC; La CU manda un segnale di controllo affinché il contenuto del PC sia spostato nel registro degli indirizzi (MAR); Viene inviato un segnale di controllo (read) alla memoria per effettuare la lettura del dato posto all’indirizzo specificato nel registro indirizzi; In conseguenza del passo precedente il dato viene reso disponibile nel registro dati ( MDR ) attraverso il bus dati; La CPU copia su IR il valore di MDR e decodifica l'istruzione; L'istruzione passa in esecuzione sulla ALU; Terminata l'esecuzione la CPU copia sul registro destinazione il valore prodotto dalla ALU; Si ritorna al punto 1 dopo aver aggiornato il valore di PC (prossima istruzione da eseguire).

L’esecuzione di ciascun’istruzione avviene mediante lo svolgimento delle seguenti tre operazioni di base

▪ ▪ ▪

FETCH (lettura): legge dalla memoria la prossima istruzione da eseguire; DECODE (decodifica): determina il tipo di istruzione che deve essere eseguito; EXECUTE (esecuzione): richiede lo svolgimento di tutte le azioni necessarie per l’esecuzione dell’istruzione.

LE MEMORIE Le memorie sono le componenti del calcolatore in grado di memorizzare le informazioni: dati, programmi e risultati indispensabili per il suo funzionamento. Ogni calcolatore utilizza tipi di memoria diversi per esigenze diverse: ▪ ▪

SUPPORTO ALLA CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile ARCHIVIO: deve consentire di archiviare dati e programmi garantendone la conservazione e la reperibilità anche dopo elevati periodi di tempo.

I computer usano quindi supporti di memorizzazione di più tipi: ▪ ▪ ▪

una MEMORIA CENTRALE, RAM: contiene i programmi durante la loro esecuzione ed i dati relativi, altrimenti il processore sarebbe per la maggior parte del tempo fermo in attesa di dati da/per la memoria; una o più MEMORIE DI MASSA (dischi etc.): mantengono tutti i dati ed i programmi in attesa di essere eseguiti in modo persistente, anche dopo lo spegnimento del calcolatore. un insieme di REGISTRI : contengono informazioni necessarie alla elaborazione della singola istruzione all’interno della CPU.

MEMORIA CENTRALE: RAM La MEMORIA CENTRALE o RAM (Random Access Memory) è una memoria ad accesso casuale volatile. Accesso casuale indica che il processore può accedere a qualunque cella di memoria direttamente, individuando direttamente la posizione (indirizzo) fisica dei dati depositati. Volatile perché il suo contenuto viene perduto quando il calcolatore non è alimentato. La RAM rappresenta fisicamente il posto dove sono conservate tutte le informazioni su cui si sta lavorando ed è preposta a immagazzinare i programmi in esecuzione e i relativi dati. Le memorie si compongono di un numero di celle (o locazioni) ognuna delle quali è in grado di memorizzare una parte delle informazioni. Ogni cella è associata a un numero (indirizzo) che la identifica univocamente. Tutte le celle di una memoria mantengono lo stesso numero di bit. Il numero di bit associato a un indirizzo è detto parolla. La dimensione minima per una parola è il byte (8 bit) anche se normalmente i calcolatori moderni utilizzano parole più lunghe (32-64 bit). La dimensione della parola determina anche le dimensioni dei registri e delle istruzioni. I chip di memoria non vengono venduti singolarmente ma sono normalmente organizzati su schede stampate. Ogni scheda contiene generalmente da 8 a 16 chip.

Principali proprietà: ▪ ▪ ▪ ▪ ▪ ▪ ▪

VELOCE: per leggere/scrivere una cella ci vuole un tempo di accesso dell’ordine di poche decine di nanosecondi (millesimi di milionesimi di secondo = 10 - 9 sec); VOLATILE: è fatta di componenti elettronici, togliendo l’alimentazione si perde tutto; COSTOSA (relativamente); ACCESSO DIRETTO alle informazioni; Tutte le celle hanno UGUALE DIMENSIONE: 8, 16, 32, o 64 bit; Le operazioni che si eseguono sulla memoria sono operazioni di LETTURA e SCRITTURA Una cella può contenere un DATO o un’ ISTRUZIONE

Si possono eseguire solo due operazioni: ▪ ▪

LETTURA: con questa operazione si accede al contenuto di una cella di memoria che viene trasferito, senza essere modificato, alla CPU. SCRITTURA: con questa operazione il contenuto di una cella di memoria viene modificato, e viene sostituito con dati provenienti dalla CPU.

La connessione tra memoria e processore rappresenta un limite degli elaboratori di Von Neumann. ▪ ▪

LIMITE ARCHITETTURALE: permette l’accesso ad una sola informazione per volta (“collo di bottiglia”). LIMITE TECNOLOGICO: la velocità con cui il processore ottiene le informazioni dalla memoria centrale (velocità di accesso della RAM) è inferiore alla velocità con cui è in grado di elaborarle.

Soluzioni: ▪ ▪

Allargamento del bus dati, in modo da poter estrarre più istruzioni e/o dati per volta. Superamento del limite tecnologico mediante l’introduzione di una memoria intermedia tra memoria centrale e processore che approssimi la velocità del processore.

CACHE Per migliorare la velocità di accesso del processore alla memoria centrale si utilizza la memoria cache detta anche SRAM (RAM statica). Si tratta di un chip è di dimensioni ridotte (256Kb fino a 4Mb ), interposto fra memoria RAM e microprocessore, e ha tempi di accesso paragonabili a quelli della CPU. I computer attuali hanno tutti uno o più livelli di cache per ottimizzare le prestazioni della CPU. L’uso di una memoria cache ad alta velocità è basato sul presupposto che usualmente l’elaborazione richiede dati e istruzioni che sono vicini fra loro nella memoria principale. Di conseguenza nella cache vengono caricate le aree della memoria principale che sono contigue al dato e all’istruzione “corrente” con evidenti vantaggi in termini di tempo di esecuzione. In generale quasi tutte le periferiche hanno al loro interno una memoria cache. Per esempio, le stampanti sono molto lente rispetto alla CPU e se il sistema dovesse attendere il completamento della stampa la CPU rimarrebbe a lungo inattiva. I dati invece vengono temporaneamente memorizzati in una memoria cache chiamata anche buffer di stampa. Più grande è il buffer e tanto meno l’elaboratore risente della lentezza della stampante.

ROM I chip della memoria di sola lettura ( ROM) sono situati sulla motherboard. La CPU ha accesso alle istruzioni contenute nei chip della ROM in modo diretto. Le istruzioni di base necessarie per l'avvio del computer ed il caricamento del sistema operativo (boot-strap) sono memorizzate nella ROM. Il nucleo di ROM contiene anche il BIOS, che fornisce una serie di funzioni di base per l'accesso all'hardware del computer e alle periferiche integrate nella scheda madre da parte del sistema operativo e dei programmi . I suoi chip sono in grado di mantenere il contenuto anche quando il computer viene spento. I contenuti non possono essere cancellati o cambiati tramite metodi normali.

LE MEMORIE SECONDARIE O DI MASSA Le memorie secondarie o di massa sono utilizzate per memorizzare grandi volumi di dati in modo permanente. La caratteristica principale di tali memorie è la NON VOLATILITÀ. Consentono la memorizzazione di dati e programmi che non sono istantaneamente utilizzati ma che possono essere reperiti nel momento in cui la CPU ne fa richiesta. La memoria di massa è costituita dai floppy disk, dall’hard disk, ma anche dai lettori e masterizzatori CD, dai lettori ottici e dai nastri magnetici.

Le caratteristiche principali sono: ▪ ▪

NON VOLATILITÀ GRANDE CAPACITÀ

Le memorie secondarie o di massa sono basate principalmente su tecnologie magnetiche e ottiche. Rispetto alla memoria centrale, le memorie di massa hanno: ▪ ▪ ▪ ▪<...


Similar Free PDFs