1 / 23

Architettura dell’elaboratore

Architettura dell’elaboratore. Materiale didattico P. Ollari A. Ferrari. Struttura di un elaboratore. La struttura tipica di un calcolatore elettronico assume la forma attuale in base ad almeno due svolte tecnologiche fondamentali:

Download Presentation

Architettura dell’elaboratore

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Architettura dell’elaboratore Materiale didattico P. Ollari A. Ferrari Alberto Ferrari

  2. Struttura di un elaboratore • La struttura tipica di un calcolatore elettronico assume la forma attuale in base ad almeno due svolte tecnologiche fondamentali: • un modello costruttivo storico riconducibile allo scienziato austriaco J. Von Neumann (architettura di Von Neumann) anni ’40/’50 • l’invenzione del microprocessore da parte del tecnico italiano F. Faggin (microprocessore Intel 4004) 1971. Alberto Ferrari

  3. Architettura di Von Neumann Alberto Ferrari

  4. Unità funzionali • Il funzionamento di un calcolatore è descrivibile in termini di poche componenti (macro-unità) funzionali • ogni macro-unità è specializzata nello svolgimento di una tipologia omogenea di funzionalità • Eccezione: l’unità centrale di elaborazione, che svolge sia funzionalità di elaborazione che di controllo Alberto Ferrari

  5. Memorizzazione • Un calcolatore memorizza • i dati, che rappresentano informazioni di interesse • i programmi per l’elaborazione dei dati • La memoria è l’unità responsabile della memorizzazione dei dati • Una unità di memoria fornisce due sole operazioni • memorizzazione di un valore (scrittura) • accesso al valore memorizzato (lettura) Alberto Ferrari

  6. Elaborazione • Le istruzioni di un programma corrispondono ad operazioni elementari di elaborazione • operazioni aritmetiche • operazioni relazionali (confronto tra dati) • operazioni su caratteri e valori di verità • altre operazioni numeriche • L’elaboratore sa svolgere poche tipologie di operazioni elementari ma in modo molto efficiente • Può eseguire decine o centinaia di milioni di istruzioni al secondo Alberto Ferrari

  7. Trasferimento • Obiettivo: permettere lo scambio di informazioni tra le varie componenti funzionali del calcolatore • trasferimento dei dati e delle informazioni di controllo • Due possibili soluzioni • collegare ciascun componente con ogni altro componente • collegare tutti i componenti a un unico canale (bus) • L’utilizzo di un bus favorisce la modularità e l’espandibilità del calcolatore Alberto Ferrari

  8. Controllo • Il coordinamento tra le varie parti del calcolatore è svolto dall’unità di controllo • è un componente dell’unità centrale di elaborazione • ogni componente dal calcolatore esegue solo le azioni che gli vengono richieste 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 Alberto Ferrari

  9. Random Access Memory (RAM) • La memoria centrale è un contenitore di celle. • La memoria contiene le istruzioni e i dati. • Le celle sono numerate in sequenza: il numero di ogni cella costituisce il suo indirizzo • Il numero totale di celle è definito spazio degli indirizzi o spazio di indirizzamento. • L’ampiezza dello spazio di indirizzamento fisico è determinato dall’ampiezza del bus indirizzi. • Specificando l’indirizzo di una cella, la CPU e’ in grado di leggere e/o modificare il valore del byte memorizzato in quella cella • La memoria è volatile: perde il suo contenuto tutte le volte che la macchina viene spenta • Random Access Memory (RAM), perché ogni cella e’ indirizzabile direttamente Alberto Ferrari

  10. Struttura della RAM Alberto Ferrari

  11. BIOS • È presente una speciale area di memoria che non perde i valori dopo lo spegnimento. • Infatti il sistema nella fase di avviamento (Bootstrap), deve immettere sul Bus le istruzioni iniziali per configurare i dispositivi di base come video e tastiera (fase di POST o Power On Self Test)) e caricare i programmi del Sistema Operativo da una memoria secondaria come ad es. un disco. • Quest’area è riservata all’interno dello spazio di indirizzamento ed è denominata, genericamente, BIOS (Basic Input/Output System). Alberto Ferrari

  12. Read Only Memory (ROM) • Le regioni di Memoria che contengono il BIOS sono realizzate in Rom (Read Only Memory), cioè una tecnologia che consente alle celle di mantenere il contenuto anche in assenza di alimentazione, cioè a sistema spento. • Il codice e i programmi contenuti in maniera non volatile nella memoria centrale sono detti Firmware (Fw). Alberto Ferrari

  13. BUS • Il Bus è l’unità di interconnessione tra i moduli del modello di Von Neumann. • È un fascio ordinato di linee, ognuna delle quali può assumere un valore binario. • Processore, Memoria e Input/Output si affacciano sul Bus cioè possono leggere o modificare i valori presenti sulle linee che lo compongono. Alberto Ferrari

  14. Input / Output • La sezione di Input/Output (I/O) di un calcolatore è dedicata alla comunicazione con l’”esterno” per l’acquisizione (input) o la comunicazione (output) di dati. • Concettualmente la sezione di I/O è ancora rappresentabile come un contenitore, del tutto analogo alla Memoria, anche se dotato di uno spazio di indirizzamento (spazio degli indirizzi di I/O) molto più ridotto. Ogni dispositivo periferico, di Input o di Output, possiede un proprio range di indirizzi di I/O riservato (indirizzi di I/O, detti anche registri di I/O o porte di I/O) all’interno dello spazio di indirizzamento di I/O. • Qualche volta alcuni dispositivi, magari che necessitano di grandi spazi di I/O, usano indirizzi di Memoria invece di indirizzi di I/O. In questo caso si parla di dispositivi mappati in Memoria. Alberto Ferrari

  15. Processore • Un Processore è un singolo circuito integrato in grado di effettuare operazioni decisionali, di calcolo o di elaborazione dell'informazione • Il microprocessore principale di un computer viene chiamato CPU (Central Processor Unit). • Il Processore può essere visto come suddiviso in tre unità funzionali: • l’Unità di Controllo (UC) • l’area dei Registri • l’ALU (Unità Aritmetico-Logica). Alberto Ferrari

  16. Memoria centrale Struttura del processore Alberto Ferrari

  17. UC - Registri - ALU • L’Unità di Controllo imposta i valori sul BUS. • I Registri contengono i dati e i risultati delle istruzioni che saranno eseguita dall’ALU. • L’ALU esegue le istruzioni; all’interno dell’unità si trovano microprogrammi cablati direttamente in hardware, scritti in microcodice con relative microistruzioni. Alberto Ferrari

  18. Set di istruzioni • Ogni processore viene progettato con un set di istruzioni specifico denominato ISA (Instruction Set Architecture o Instruction Set) • Ogni istruzione è implementata da un microprogramma. • Ogni istruzione dell’ISA è contraddistinta da un numero specifico, denominato Operation Code (Op. Code) • Ogni istruzione necessita di un numero preciso e definito di parametri che, assieme all’Op.Code, determinano la lunghezza dell’istruzione (in byte). • Un registro speciale del Processore, Program Counter (PC), si incrementa della lunghezza dell’istruzione appena eseguita Alberto Ferrari

  19. Fasi di esecuzione di un’istruzione • Fetch • l’unità di controllo pone sul bus degli indirizzi il valore del Program Counter e legge dalla memoria il codice dell’istruzione da eseguire. • Decode • l’unità di controllo decodifica l’istruzione e legge i parametri (Operand Fetch) che vengono memorizzati nei Registri. • Execute • viene avviato il microprogramma relativo all’Op.Code. La frequenza in base alla quale vengono eseguiti i microprogrammi è regolata dal clock di CPU (frequenza del Microprocessore). • Store • al termine della fase di Execute gli eventuali risultati, posti nei Registri, vengono scritti sul Bus dall’UC, o verso la Memoria, o verso l’I/O. Alberto Ferrari

  20. CISC • Complex instruction set computer (CISC) indica un'architettura per microprocessori formata da un set di istruzioni contenente istruzioni in grado di eseguire operazioni complesse come la lettura di un dato in memoria, la sua modifica e il suo salvataggio direttamente in memoria tramite una singola istruzione. • Ogni singola istruzione ha un data path a più cicli. • Il data path è il percorso dei dati all’interno del Processore, attraverso l’attuale istruzione, e i suoi cicli sono scanditi dal clock della CPU. Alberto Ferrari

  21. Architetture CISC • Le architetture CISC possiedono un set di istruzioni molto ampio, istruzioni di grandezza variabile e molto specifiche con corrispondente fase di Decode complessa, un data path a più passi. • Si tratta di architetture che facilitano la portabilità del sw, dato che l’insieme dei microprogrammi (o interprete del processore) può essere trasportato su processori più recenti, e quindi sono processori adatti per essere programmati anche in Assembly. • Esempi di sistemi basati su architettura CISC sono System/360, VAX, PDP-11, la famiglia Motorola 68000, l'architettura x86 di Intel e AMD. Alberto Ferrari

  22. RISC • RISC, acronimo dell'inglese Reduced Instruction Set Computer, indica una filosofia di progettazione di architetture per microprocessori formate da un set di istruzioni contenente istruzioni in grado di eseguire operazioni semplici che possono essere eseguite in tempi simili. • I più comuni processori RISC sono:AVR, PIC, ARM, DEC Alpha, PA-RISC, SPARC, MIPS e POWER. Alberto Ferrari

  23. Architettura RISC • Un’architettura RISC (Reducted Instruction Set Code), possiede un data path a singolo passo. • Il set di istruzioni di una architettura RISC è limitato, contiene istruzioni di lunghezza costante (con un numero di operandi fisso), con fase di Decode breve e senza microprogrammi da eseguire nel processore: ogni istruzione è eseguita direttamente in hardware con pochi cicli di clock. • Un’elaborazione RISC appare nettamente più veloce (almeno di un ordine 10). • Un’istruzione CISC - con molti passi nel data path - equivale a numerose istruzioni RISC con data path singolo. • I programmi per ISA RISC sono molto più lunghi di analoghi programmi per ISA CISC. Alberto Ferrari

More Related