Architettura degli elaboratori Un computer deve: - fare l’input/output dell’informazione usando i dispositivi di input/output - memorizzare l’informazione usando la memoria principale (RAM) usando la memoria secondaria - elaborare l’informazione usando il processore (CPU)
Cos’è un computer Un computer è un apparecchio elettronico che non ha nessuna capacità decisionale o discrezionale, ma si limita a compiere determinate azioni secondo procedure prestabilite (programmi). Hardware: tutti i componenti fisici del computer (circuiti elettrici ed elettronici, cavi, supporti, e in generale tutto ciò che si può toccare materialmente); Software: tutti i programmi, i dati e i documenti che stabiliscono le procedure di funzionamento della macchina e che si trovano registrati sui dischi o nella memoria
Tipi di computer Supercomputer: solo nei grandi centri di ricerca Mainframe: per la gestione di una complessa rete di computer in banche e aziende Workstation: in laboratori di ricerca e università Personal computer: normali computer da casa o ufficio
Macchina di Von Neumann - Struttura CPU E’ il “cervello” del calcolatore, si occupa di eseguire le istruzioni dei programmi. Dispositivi di memoria Supportano l'esecuzione di due istruzioni fondamentali: memorizzazione e recupero delle informazioni. Dispositivi di Input e Output Insieme di dispositivi che consentono l’acquisizione di dati (input) e la loro presentazione verso il mondo esterno (output) Scheda madre raccoglie in sé tutta la circuiteria elettronica di interfaccia fra i vari componenti del computer. Bus è il componente del calcolatore dedicato al trasferimento dei dati e delle informazioni di controllo tra le varie parti del calcolatore
Microprocessore e CPU Microprocessore E’ l’oggetto fisico che si trova nel nostro computer (e ormai anche in moltissimi altri dispositivi, dalle automobili ai televisori, dalle macchine fotografiche agli impianti HI-FI…) CPU (Central Process Unit) E’ l’unità di elaborazione centrale, intesa come modello logico-funzionale. Concretamente, comunque, la CPU è per così dire incarnata’ dentro un microprocessore (magari insieme ad alcune componenti aggiuntive), e nella maggior parte dei contesti i due termini possono essere usati in maniera quasi intercambiabile.
Clock Il termine clock indica un segnale periodico utilizzato per sincronizzare il funzionamento dei dispositivi elettronici digitali Il ciclo di clock è il tempo che intercorre tra due colpi di clock successivi. La frequenza o velocità di clock è il numero di colpi di clock che vengono eseguiti in una determinata unità di tempo. La frequenza di clock quindi deve essere calcolata in modo tale da consentire a tutti i circuiti, anche il più lento, di completare correttamente le proprie operazioni. L'unità di misura usata è l'hertz, ovvero il numero di cicli di clock eseguiti in un secondo. t Clock 1 Clock 2 Ciclo di clock
Componenti di un microprocessore Unità di controllo (CU): si occupa di recuperare le istruzioni ed i relativi dati per la loro esecuzione. Unità aritmetico-logica (ALU): si occupa dell’esecuzione delle operazioni aritmetiche e logiche (valutazioni). Registri: celle di memoria presenti all’interno della CPU ad alta velocità d’accesso. Program Counter Instruction Register Registro indirizzi di memoria Registro dati Accumulatore Registro di stato Unità aritmetico-logica Unità di controllo Schema generale del microprocessore con registri generali Registri
Unità di controllo Ciclo completo di esecuzione di una istruzione L'unità di controllo fa funzionare l’elaboratore, da quando viene acceso a quando è spento, essa esegue in continuazione il ciclo di fetch / decode / execute. fetch trasferimento dell’istruzione dalla memoria centrale alla CPU decode decodifica del codice operativo e degli operandi della CPU Trasferimento dei dati su cui operare dalla memoria centrale alla CPU execute esecuzione dell’istruzione Trasferimento dei dati dalla CPU alla memoria centrale execute decode fetch Memoria centrale
ALU: Unità logico-aritmetica Esegue operazioni aritmetiche (somma, sottrazione, prodotto, divisione), logiche e confronti sui dati della memoria centrale o dei registri. Può essere semplice oppure (più spesso) molto complessa e sofisticata. Classico simbolo di un'ALU: A e B sono gli operando in ingresso, R è il risultato, F sono i segnali provenienti dall'unità di controllo e D sono i segnali di stato dell'unità
Registri I registri sono locazioni usate per memorizzare dati, istruzioni, o indirizzi all’interno della CPU. Program Counter (PC) Indica l’indirizzo della cella di memoria che contiene la prossima istruzione da eseguire Instruction Register (IR) Contiene l’istruzione da eseguire. Registro Indirizzi di memoria (RI) Contiene l’indirizzo della cella di memoria da selezionare per il trasferimento di un dato con la CPU Registro Dati (RD) Contiene il dato attualmente oggetto di elaborazione e il risultato al termine dell’esecuzione Accumulatore è utilizzato per memorizzare risultati parziali delle operazioni Registro di stato per il controllo delle condizioni o delle anomalie che si verificano durante le operazioni
MEMORIE ESTERNE ALL’ELABORATORE MEMORIE INTERNE ALL’ELABORATORE ELABORATORE ROM e RAM (memoria centrale) Registri (nella CPU) Hard Disk Floppy disk Nastri magnetici Supporti magnetici MEMORIE ESTERNE ALL’ELABORATORE CD DVD Supporti ottici Memorie flash MEMORIE DI MASSA
Memoria centrale: Ram e Rom La memoria principale del computer prende il nome di RAM (Random Access Memory). Si tratta di un dispositivo in cui vengono caricati dati e programmi nel momento in cui debbono essere elaborati. I dati restano nella RAM solo finchè il computer è in funzione. La RAM è una memoria volatile, per non essere perduti i dati ed i programmi dovranno quindi essere conservati su supporti permanenti, detti memorie di massa Per rendere sempre più veloci le elaborazioni, nei computer più moderni alla RAM si affianca la memoria cache. Domanda: se al momento dell'accensione del PC la RAM è vuota, dove si trovano le informazioni che consentono al computer di ripartire e di eseguire i vari programmi ? Le istruzioni di base che debbono essere eseguite dal computer all'avvio sono contenute nei circuiti della memoria ROM (Read Only Memory), una memoria permanente di sola lettura anch'essa presente nella scheda madre. All'accensione il computer esegue un piccolo programma registrato nella ROM.
Memorie di massa I supporti di memoria di massa sono molto più lenti rispetto alla memoria centrale. Le memorie di massa hanno capacità di memorizzazione (dimensioni) molto maggiori di quelle delle tipiche memorie principali. Nel caso della memoria centrale si ha sempre l'accesso diretto ai dati, nel caso della memoria periferica solo alcuni supporti consentono l'accesso diretto mentre altri supporti permettono solo l'accesso sequenziale.
Dispositivi di memoria RAM MEMORIE DI MASSA
Memorie di massa Tre tecnologie possibili: Ottica Elettrica Magnetica • Dischi magnetici (Floppy-disk, Hard-disk) - Accesso misto - Operazioni di Lettura/Scrittura • Nastri magnetici - Accesso sequenziale Ottica • CD, DVD - Tipicamente solo lettura Elettrica • Memorie flash ( chiavi USB ) - Accesso casuale
Hard disk Traccia Settore Blocco Testina I dischi sono suddivisi in tracce concentriche e settori, ogni settore è una “fetta” di disco. I settori suddividono ogni traccia in porzioni di circonferenza dette blocchi (o record fisici) In generale gli hard-disk sono formati da una pila di dischi magnetici a due lati.
Metodi di accesso Dato l’indirizzo della cella da leggere o scrivere, si possono individuare le seguenti tipologie di accesso alle memorie: • Accesso sequenziale: le celle sono poste in successione. La lettura di un dato comporta la lettura di tutti i dati precedenti. Il tempo di accesso è molto variabile, dipende dalla posizione del dato nel supporto. (Esempio: nastri magnetici). • Accesso casuale (o diretto): l’accesso a una cella non richiede la lettura delle precedenti. Il tempo d’accesso è indipendente dalla posizione del dato e può essere considerato costante. (Esempio: RAM). • Accesso misto (o semidiretto): per raggiungere un dato all'interno del disco bisogna compiere una serie di operazioni anche meccaniche (spostamento della testina) che rendono il tempo di accesso variabile. (Esempio: dischi magnetici).
Dispositivi di Input/Output Tastiera Casse Monitor Mouse Touchpad Modem Stampante Scanner Cuffie Trackball Videocamere Videoproiettore
Porte di input/output Le piu’ comuni periferiche di I/O comunicano con il sistema tramite porte esterne. Tipicamente sono poste direttamente sulla scheda madre le seguenti porte: Porte PS/2 per il collegamento del mouse e della tastiera (non si possono invertire). Porta Seriale per il modem, o in generale per dispositivi che non richiedono un flusso di dati molto veloce (fino a qualche anno fa veniva usata anche per il mouse). Porta Parallela si usa quasi sempre per la stampante, ma in generale è adatta per qualunque dispositivo che richieda un flusso di dati più veloce rispetto alla capacità della porta seriale. Porta USB (Universal Serial Bus) di recente introduzione, è adatta per connettere al computer qualunque tipo di dispositivo.
Porte di input/output Porta Firewire viene generalmente utilizzata per collegare il computer a dispositivi digitali (telecamere, macchine fotografiche). Porta Video (talvolta integrata direttamente nella scheda madre) per connettere il monitor al computer. Porta di Rete per collegare la macchina direttamente ad una rete di computer. Ne esistono di vari tipi, ma ormai la presa RJ45 ha di fatto rimpiazzato tutte le altre. Porta SCSI per dispositivi che richiedono un flusso di dati molto veloce (scanner, masterizzatore esterno, ecc.). La tecnologia SCSI consente inoltre, come la USB, il collegamento di dispositivi a catena.