Lezione 2. Lezione 2

Documenti analoghi
Lezione 2. Lezione 2 CPU CPU. Organizzazione. Organizzazione. Organizzazione. Organizzazione. Memoria. Memoria Dati. Dati Istruzioni.

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

Architettura hardware

Lezione 1. Sommario. Simone Buso - Microcontrollori e DSP - Lezione 1 1

Lezione 1. Lezione 1. Microcontrollori (mc) Microcontrollori (mc) Microcontrollori (mc) Microcontrollori (mc) Materiale di riferimento.

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

Architettura dei calcolatori

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

Architettura hardware

Sistemi di numerazione

Il processore. Istituzionii di Informatica -- Rossano Gaeta

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

Il computer. Architettura

Ingegneria e Tecnologie dei Sistemi di Controllo. Unità di Elaborazione: MicroControllori e DSP

ARCHITETTURA DI UN ELABORATORE

Programmazione A.A Architettura dei Calcolatori. ( Lezione V ) Componenti hardware e loro schema funzionale

Il Processore: l unità di controllo

Elementi di informatica

Architettura di von Neumann

Architettura di von Neumann

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

Componenti di un processore

Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Struttura del calcolatore

Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Lezione 22 La Memoria Interna (1)

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

Il modello di Von Neumann

ARCHITETTURA DI UN ELABORATORE

Capitolo 5 Elementi architetturali di base

Microelettronica Corso introduttivo di progettazione di sistemi embedded

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

Componenti principali

Macchina di von Neumann/Turing

Architettura degli Elaboratori - 1

Scopo della lezione. Analizzare i tipi di macchine Indirizzamento e memorie Tipi di dato

Elementi di informatica

La memoria principale

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella

Corso di Fondamenti di Informatica Elementi di Architettura

Architettura degli elaboratori - CPU multiciclo A.A. 2016/17. Architettura degli elaboratori

Il modello di von Neumann

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

A.S. 2017/2018 PIANO DI LAVORO PREVENTIVO CLASSE 4Be

Architettura dei Calcolatori Elettronici

Calcolatori Elettronici A a.a. 2008/2009

ARCHITETTURA DI UN ELABORATORE

Elementi di base del calcolatore

Esame di INFORMATICA Lezione 4

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

Architettura dei Calcolatori elettronici

Architettura di un calcolatore: Introduzione parte 2

Architettura dei computer

L insieme delle istruzioni (6)

ARCHITETTURA DI UN ELABORATORE

Componenti e connessioni. Capitolo 3

Lezione 15. L elaboratore Elettronico

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

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

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

UD 1.4c: Il Processore IL MICROPROCESSORE

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Architettura degli Elaboratori

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

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Corso di Calcolatori Elettronici I. Memorie. Prof. Roberto Canonico

Memorie a semiconduttore

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).

Struttura di un elaboratore

Lezione 3: Architettura del calcolatore

Corso di Informatica

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

Sistemi e Tecnologie per l'automazione LM. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Caratteristiche di un PC

CALCOLATORI ELETTRONICI

Architettura dei Calcolatori. Macchina di von Neumann /2. Macchina di von Neumann /1. Architettura dei Calcolatori

Calcolatori Elettronici

Macchine Astratte. Luca Abeni. February 22, 2017

Introduzione all'architettura dei Calcolatori

Lezione 1: L hardware

Sistemi di Elaborazione delle Informazioni

Calcolo numerico e programmazione Architettura dei calcolatori

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

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

Architettura dei calcolatori

Modulo: Elementi di Informatica

CALCOLATORI ELETTRONICI II

Architettura degli elaboratori

Il Sottosistema di Memoria

Corso di Informatica

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

Lezione 7 Sommatori e Moltiplicatori

Macchina di Riferimento: argomenti

Lezione 3. Lezione 3. Architettura di un processore. Architettura di un processore. Architettura di un processore. Classificazione delle architetture

Architettura di un processore basato su registri generali.

Sistemi a microprocessore

HARDWARE 1.4a: (Processore)

Architettura del calcolatore

Transcript:

Lezione 2 Sommario Struttura base dell hardware di un processore (ALU, memoria, I/O). Organizzazione Von Neumann vs Harvard. Organizzazione della ALU. Bus dati, istruzioni, indirizzi. Metodi di controllo. Sistemi di memoria (registri, RAM, ). Periferiche di I/O. Simone Buso - Microcontrollori e DSP - Lezione 2 Lezione 2 Materiale di riferimento. D. A. Patterson, J. L. Hennessy, Computer Organization and Design, Morgan Kaufmann, cap. 5 pagg. 338-426. 2. A. Clements, "The principles of computer hardware", Oxford, 2, cap. 5, pagg. 22-26. 3. Berkeley Design Technology, Inc.(BDTi), The evolution of DSP processors, reperibile sul sito del corso in formato pdf. Simone Buso - Microcontrollori e DSP - Lezione 2 2

Organizzazione Tutti i microprocessori hanno in comune alcuni elementi di organizzazione di base: ALU (unità aritmetico-logica + controllo) Memoria Dispositivi di I/O I mc e i DSP spesso presentano speciali caratteristiche rispetto ai processori general purpose (GPP) in ciascuno di questi elementi, per ragioni di costo e di prestazioni richieste (potenza di calcolo, consumo ). Simone Buso - Microcontrollori e DSP - Lezione 2 3 Organizzazione Esistono due diverse filosofie organizzative:. Von Neumann Organizzazione semplice (e quindi economica) usata in processori general purpose e in mc di basso costo. I dati e le istruzioni condividono la memoria. C è un solo sistema di bus (dati + indirizzi). 2. Harvard Organizzazione per processori ad alte prestazioni, molto comune nei DSP. I dati e le istruzioni risiedono in memorie separate. Sono presenti 2 (o più) sistemi di bus. Simone Buso - Microcontrollori e DSP - Lezione 2 4

Organizzazione CPU Bus dati N linee (bit) Bus indirizzi M linee (bit) Memoria Dati Istruzioni Organizzazione di tipo Von Neumann: una sola memoria per dati e istruzioni, un bus per il trasferimento degli operandi e delle istruzioni alla CPU, un bus per inviare alla memoria gli indirizzi di lettura/scrittura. Simone Buso - Microcontrollori e DSP - Lezione 2 5 Organizzazione CPU Bus dati N linee (bit) Bus indirizzi P linee (bit) Bus istruzioni M linee (bit) Bus indirizzi Q linee (bit) Memoria Dati Memoria Programmi Organizzazione di tipo Harvard. Simone Buso - Microcontrollori e DSP - Lezione 2 6

Organizzazione L organizzazione di tipo Harvard presenta caratteristiche adatte ai processori ad alte prestazioni. Permette più accessi simultanei alla memoria in un ciclo di clock, riducendo i tempi di esecuzione di un programma. Esempio: esecuzione del calcolo y = c x Il numero di accessi alla memoria richiesti in una organizzazione di tipo Von Neumann può arrivare a 4. In una architettura di tipo Harvard gli accessi richiesti possono invece essere solo 2. Simone Buso - Microcontrollori e DSP - Lezione 2 7 Organizzazione Il crescente sviluppo dei DSP ha portato alla realizzazione di processori con organizzazioni più complesse, che vengono spesso indicate come Harvard modificate. Presentano generalmente caratteristiche di parallelismo: alcune unità funzionali della CPU (ad esempio l ALU) sono presenti in più copie, in modo da permettere l esecuzione di più istruzioni/azioni simultaneamente. A ciò si accompagna solitamente una struttura apposita del sistema di bus. Simone Buso - Microcontrollori e DSP - Lezione 2 8

Bus All interno di un processore, i bus svolgono funzioni di collegamento (trasferimento dati) tra le diverse unità funzionali. Sono costituiti da un certo numero di linee (denominate per estensione bit ) che, se opportunamente pilotate, possono assumere uno dei due livelli logici. Il pilotaggio del bus è affidato ad opportune porte logiche, caratterizzate da un uscita di tipo tri-state (o three-state). Ciò permette di disconnettere le unità dal bus, una volta conclusa la trasmissione\ricezione del dato. Simone Buso - Microcontrollori e DSP - Lezione 2 9 Bus In un mc e/o DSP sono normalmente presenti diversi tipi di bus. Come nelle CPU per uso generico, dati e istruzioni vengono trasferiti attraverso un bus separato rispetto a quello degli indirizzi. In più, talora sono presenti bus dedicati alla gestione delle interruzioni o bus interni a specifiche unità funzionali. Il numero di linee (bit) di ciascuno di questi bus può in generale essere diverso. Simone Buso - Microcontrollori e DSP - Lezione 2

Bus Bus a m bit E Ao Ao A Ai. E Ai E Bo B Bo Bi E Bi Unità funzionali della CPU Porte tri-state d d d 2 d m- Simone Buso - Microcontrollori e DSP - Lezione 2 Bus In A E A Out Out = Enable In Out X X Floating Floating Porta tri-state a livello logico basso Out = In Out = In Simone Buso - Microcontrollori e DSP - Lezione 2 2

Bus In A E A Out Out = Enable In Out X X Floating Floating Porta tri-state a livello logico alto Out = In Out = In Simone Buso - Microcontrollori e DSP - Lezione 2 3 Bus In A E A Out Out = floating Enable In Out X X Floating Floating Porta tri-state con uscita flottante Out = In Out = In Simone Buso - Microcontrollori e DSP - Lezione 2 4

Enable Porta tri-state CMOS Vcc PMOS Out In NMOS Gnd Il segnale di Enable (attivo basso), abilita il buffer CMOS. Se non abilitata, l uscita si presenta in uno stato ad alta impedenza. Simone Buso - Microcontrollori e DSP - Lezione 2 5 Esempi di organizzazione L organizzazione di tipo Von Neumann è spesso utilizzata nei mc. Il mc XC67 di Infineon presenta una organizzazione Von Neumann. Anche se logicamente separati, dati e istruzioni risiedono nella stessa memoria. Simone Buso - Microcontrollori e DSP - Lezione 2 6

Esempi di organizzazione D altra parte, alcuni mc sono organizzati secondo la filosofia Harvard. I mc della famiglia PIC presentano una separazione fisica delle memorie dati e programmi. Sono quindi caratterizzati da un sistema di bus doppio. Nell esempio accanto, (7C7xx) il bus dati ha 8 bit, il bus istruzioni 6 (ma non tutte le unità funzionali li usano). Simone Buso - Microcontrollori e DSP - Lezione 2 7 Esempi di organizzazione L organizzazione Harvard è invece spesso usata nei DSP. Ad esempio nel DSP 56F8XX Motorola Le memorie dati e istruzioni sono fisicamente separate. Simone Buso - Microcontrollori e DSP - Lezione 2 8

Esempi di organizzazione ovvero nei DSP della serie 2xx di Analog Devices. Simone Buso - Microcontrollori e DSP - Lezione 2 9 Struttura di base di una CPU Gli elementi fondamentali che caratterizzano la CPU di un mc o DSP sono: architettura (set di istruzioni disponibili); frequenza di clock (velocità); organizzazione hardware (numero di bit, risorse disponibili). Tutti i datasheet di mc o DSP pongono questi elementi in grande evidenza, talvolta in modo non propriamente obbiettivo. Simone Buso - Microcontrollori e DSP - Lezione 2 2

Struttura di base di una CPU Esistono diversi tipi di architetture, ma i più diffusi sono: architettura RISC (Reduced Instruction Set Computer); architettura CISC (Complex Instruction Set Computer) Il tipo di architettura ha effetto sulle scelte relative all organizzazione del processore e anche sulla sua programmabilità. Ci sono architetture più orientate alla programmazione ad alto livello (linguaggio C e derivati), altre meno. Simone Buso - Microcontrollori e DSP - Lezione 2 2 Struttura di base di una CPU Per esigenze di costo e di consumo, nel settore dei mc e DSP le realizzazioni di CPU con frequenze di clock molto elevate sono estremamente rare, riservate ai prodotti di altissima gamma (DSP di ultima generazione, per esempio per il mercato telecom ). La gran parte dei mc e DSP lavorano a frequenze di clock piuttosto basse (tipicamente poche decine di MHz). La differenza dai processori per PC è quindi notevole! Simone Buso - Microcontrollori e DSP - Lezione 2 22

Struttura di base di una CPU Nelle CPU dei mc e dei DSP si ritrovano gli stessi componenti fondamentali propri dei microprocessori per uso generico, ovvero: una (o più) ALU (unità aritmetico-logica); vari registri (PC, IR, MBR, etc.); circuiti e sistemi di controllo. Tuttavia, nei prodotti per uso industriale, le soluzioni adottate nel progetto della CPU sono sempre frutto di compromessi tra esigenze concorrenti, tra le quali: velocità, consumo di potenza, costo. Simone Buso - Microcontrollori e DSP - Lezione 2 23 Struttura di base di una CPU Ne consegue che i mc e i DSP offrono, per ragioni differenti, prestazioni molto superiori a quelle ottenibili con i migliori processori general purpose (per PC). Ad esempio, interfacciare un processore generico con un qualunque processo industriale è solitamente molto costoso. Con un mc è invece quasi immediato. Oppure, far svolgere ad un processore generico operazioni di signal processing è molto penalizzante sotto il profilo delle prestazioni. Un DSP è, di norma, lo strumento più adatto. Simone Buso - Microcontrollori e DSP - Lezione 2 24

Unità aritmetico logica (ALU) L unità aritmetico logica è responsabile dell esecuzione delle istruzioni che comportano operazioni aritmetiche (addizione, sottrazione, moltiplicazione) o logiche (AND, OR, ) sui dati. Nei mc si trovano ALU capaci di operare su dati a 4, 8, 6, 32 bit. Nei DSP si trovano invece solo ALU a 6, 32 o più bit (anche 28 per applicazioni particolari, e.g. videogames). La presenza di una o più unità di moltiplicatore hardware è ormai piuttosto comune anche nei mc. Simone Buso - Microcontrollori e DSP - Lezione 2 25 Unità aritmetico logica (ALU) I dati che vengono elaborati dalla ALU vengono ospitati in opportuni registri. Esistono diverse filosofie organizzative per le ALU, che usano un diverso numero di registri. Nei casi più semplici l ALU è dotata di un solo registro detto accumulatore. Le istruzioni agiscono quindi sempre su questo registro, ad esempio: ADD X Questa istruzione aggiunge all accumulatore il contenuto della locazione di memoria X. Simone Buso - Microcontrollori e DSP - Lezione 2 26

Unità aritmetico logica (ALU) Altre organizzazioni mettono più registri a disposizione dell ALU permettendo la realizzazione di istruzioni con più operandi, ad esempio: ADD X, Y, Z L istruzione somma i contenuti delle locazioni di memoria X e Y e deposita il risultato nella locazione Z. Questa organizzazione consente maggiori velocità di esecuzione. Simone Buso - Microcontrollori e DSP - Lezione 2 27 Unità aritmetico logica (ALU) Struttura di una tipica ALU con accumulatore. Simili organizzazioni si trovano in mc di basso costo (ST6, PIC) MBR Accumulatore ALU Gli operandi provengono dal memory buffer register (MBR) e dall accumulatore. Uno dei due viene sovrascritto dal risultato. Simone Buso - Microcontrollori e DSP - Lezione 2 28

Unità aritmetico logica (ALU) Struttura di una tipica ALU con molti registri. Simili organizzazioni si trovano in mc ad alte prestazioni e nei DSP. Registro # Registro # Registro #N ALU Gli operandi provengono dal memory buffer register (MBR) o da uno dei molti registri. Il risultato può essere posto in memoria o in un ulteriore registro. Simone Buso - Microcontrollori e DSP - Lezione 2 29 Registri. d d d 2 d m- D Q C D Q C. D Q C Q Q Q m- Un registro a m bit si ottiene dalla connessione di m FLIP-FLOP di tipo D. Spesso le uscite sono bufferizzate per permettere la connessione ad un bus. Bus Clock Simone Buso - Microcontrollori e DSP - Lezione 2 3

Registri Oltre ad ospitare i dati che l ALU elabora, i registri della CPU svolgono altre importanti funzioni: program counter (PC); memory address register (MAR); memory buffer register (MBR) instruction register (IR); condition code register (registro di stato); gestione interruzioni; gestione/configurazione periferiche. Simone Buso - Microcontrollori e DSP - Lezione 2 3 Metodi di controllo Il controllo di una CPU può essere realizzato tramite due metodi fondamentali:.controllo a logica cablata; 2.controllo microprogrammato. Il controllo a logica cablata usa opportuni circuiti per generare le sequenze di segnali necessarie a consentire l esecuzione di un programma. Il controllo microprogrammato scompone le istruzioni in sequenze di microistruzioni, ciascuna delle quali viene poi eseguita da un opportuno processore (interpretazione). Simone Buso - Microcontrollori e DSP - Lezione 2 32

Metodi di controllo Il controllo a logica cablata traduce ogni istruzione (ovvero il suo OPCODE) direttamente nella sequenza di segnali di controllo necessari ad eseguirla. Questo richiede un numero consistente di circuiti logici combinatori e sequenziali. Tipici elementi di questi circuiti sono:.decoder (e.g. per riconoscere un OPCODE); 2.generatori di sequenze di impulsi (sequencer); 3.gate arrays (esecuzione delle istruzioni). Simone Buso - Microcontrollori e DSP - Lezione 2 33 Metodi di controllo Il controllo microprogrammato viene realizzato attraverso unità di controllo la cui struttura riproduce quella di una ulteriore CPU. Ogni istruzione del processore principale (macroistruzione) corrisponde ad un microprogramma. L esecuzione del microprogramma produce la generazione della sequenza di segnali di controllo che determinano l esecuzione della macroistruzione. I microprogrammi sono contenuti in una apposita memoria (di tipo ROM) contenuta nella CPU. Simone Buso - Microcontrollori e DSP - Lezione 2 34

Metodi di controllo Caratteristiche del controllo cablato: + Velocità + Ottimizzazione -Scarsa flessibilità - Correzione di eventuali errori molto costosa. Attualmente, il controllo cablato viene normalmente impiegato nei processori di tipo RISC. Tecniche CAD molto sofisticate riducono il rischio di errori nella realizzazione dei circuiti logici di controllori anche molto complessi. Simone Buso - Microcontrollori e DSP - Lezione 2 35 Metodi di controllo Caratteristiche del controllo microprogrammato: + Flessibilità + Facilità nella correzione di errori o modifica - Occupazione considerevole di area (costo) - Velocità limitata. Attualmente, il controllo microprogrammato viene usato solo per i processori di tipo CISC, i cui progetti iniziali risalgano agli anni 7. Esistono diverse famiglie di mc con architettura CISC (Renesas H8S, Intel 8XC96, etc.) Simone Buso - Microcontrollori e DSP - Lezione 2 36

Memoria Tutti i processori (inclusi mc e DSP) fanno uso di celle di memoria per immagazzinare dati e istruzioni. La memoria è sempre organizzata in modo gerarchico. La memoria più veloce è realizzata nel processore stesso sotto forma di registri, banchi di registri e memorie cache. Immediatamente prossima a questa è la memoria RAM interna al chip. Infine è spesso possibile la gestione di memorie esterne al chip. Simone Buso - Microcontrollori e DSP - Lezione 2 37 Memoria L uso di memorie cache è tipico dei DSP ad alte prestazioni di ultima generazione. Si tratta di dispositivi costosi, ancora relativamente poco usati. La maggior parte dei mc e dei DSP a basso costo utilizza diversi tipi di memorie realizzate on chip, tra i quali:. RAM di tipo statico; 2. RAM di tipo dinamico (piuttosto rare); 3. FLASH EPROM/EEPROM. Simone Buso - Microcontrollori e DSP - Lezione 2 38

Memoria I costruttori di mc realizzano chip, destinati a produzioni di largo volume, in cui la memoria interna (registri esclusi) è di tipo ROM. Si può trattare di soluzioni EPROM o OTP (one time programmable) adatte a piccole serie (prototipizzazioni) oppure di vere e proprie memorie a sola lettura (ROM), dove il programma da eseguire viene memorizzato in fase di produzione del chip. Queste soluzioni permettono di abbattere fortemente i costi. Simone Buso - Microcontrollori e DSP - Lezione 2 39 Dispositivi di I/O La principale area di impiego dei mc, specialmente se di basso costo, è la gestione di interfacce uomo/macchina. I mc sono inoltre utilizzati nella gestione di sensori e trasduttori, per tutte le funzioni del tipo noto come embedded (real time) control. Per questi processori, la disponibilità di funzioni di interfacciamento e comunicazione con l ambiente esterno è quindi fondamentale. Simone Buso - Microcontrollori e DSP - Lezione 2 4

Dispositivi di I/O Anche per i DSP, la cui funzione primaria è l elaborazione numerica di segnali, sono comunque indispensabili funzioni di comunicazione efficienti (acquisizione dati). Specialmente per i dispositivi impiegati nel controllo real-time di processi, è molto importante la possibilità di operare conversioni A/D dei segnali prodotti da eventuali trasduttori. Tra le funzioni di I/O più comuni è quindi spesso presente un convertitore A/D. Simone Buso - Microcontrollori e DSP - Lezione 2 4 Dispositivi di I/O I principali dispositivi di I/O resi disponibili nei mc e nei DSP sono: pin di I/O (configurabili); porte seriali (sincrone e asincrone); convertitori A/D e D/A. Alcuni mc incorporano unità periferiche per il pilotaggio di dispositivi di I/O standard (e.g. display a 7 segmenti, tastierini). Recentemente sono stati introdotti nuovi protocolli di comunicazione (e.g. CAN bus). Simone Buso - Microcontrollori e DSP - Lezione 2 42