Microprocessori, Microcontrollori e DSP (Digital Signal Processors)



Похожие документы
CPU. Maurizio Palesi

Architettura hardware

C. P. U. MEMORIA CENTRALE

Esame di INFORMATICA

Dispensa di Informatica I.1

Struttura del calcolatore

Architettura del calcolatore

I componenti di un Sistema di elaborazione. CPU (central process unit)

introduzione I MICROCONTROLLORI

Architettura di un calcolatore

Il Processore: i registri

Architettura del computer (C.Busso)

Laboratorio di Informatica

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

Informatica - A.A. 2010/11

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

RETI E SISTEMI INFORMATIVI

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Lezione 3: Architettura del calcolatore

Il microprocessore 8086

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Ing. Paolo Domenici PREFAZIONE

Introduzione all'architettura dei Calcolatori

ARCHITETTURA DELL ELABORATORE

clock DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus indirizzi Bus di controllo

La macchina programmata Instruction Set Architecture (1)

Lezione 2 OPERAZIONI ARITMETICHE E LOGICHE ARCHITETTURA DI UN ELABORATORE. Lez2 Informatica Sc. Giuridiche Op. aritmetiche/logiche arch.

Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai

Protocolli di Comunicazione Elettronica dei Sistemi Digitali L-A Università di Bologna, Cesena

Architettura dei computer

Collegamento al sistema

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

FONDAMENTI di INFORMATICA L. Mezzalira

L HARDWARE parte 1 ICTECFOP@GMAIL.COM

DMA Accesso Diretto alla Memoria

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

La Macchina Virtuale

Circuiti sequenziali e elementi di memoria

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

LABORATORIO DI SISTEMI

Vari tipi di computer

Parte II.2 Elaboratore

Elettronica dei Sistemi Programmabili

Livello logico digitale. bus e memorie

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

La Comunicazione tra i dispositivi

Approccio stratificato

Testi di Esercizi e Quesiti 1

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Calcolo numerico e programmazione Architettura dei calcolatori

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Il Software. Il software del PC. Il BIOS

Corso di Laurea in Informatica Architetture degli Elaboratori

SOMMARIO. La CPU I dispositivi iti i di memorizzazione Le periferiche di Input/Output. a Montagn Maria

Reti sequenziali sincrone

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A.

Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA

Corso di Informatica

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

SISTEMI INFORMATIVI AZIENDALI

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

Appunti di Sistemi Elettronici

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Il Sistema Operativo (1)

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Centro Iniziative Sociali Municipio III

L architettura di riferimento

Architettura dei calcolatori II parte Memorie

Laboratorio di Architettura degli Elaboratori A.A. 2015/16 Circuiti Logici

Capitolo. Interfacciamento di periferiche I/O con il PC. 1.1 Il BUS di espansione del PC

Elementi di informatica

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

PLC Programmable Logic Controller

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

ARCHITETTURA DEL CALCOLATORE

Gestione della memoria centrale

Corso di Sistemi di Elaborazione delle informazioni

Транскрипт:

Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Il microprocessore è un dispositivo integrato digitale che può essere programmato con una serie di istruzioni per effettuare una specifica funzione sui dati. Connesso a una memoria ed a dispositivi per scambiare dati con l esterno costituisce la struttura tipica di un elaboratore (computer). Il microprocessore viene spesso anche utilizzato in sistemi integrati per scopi di controllo o di monitoraggio di macchine, di motori, ecc. sistemi che assumono in questo caso il nome di microcontrollori. I DSP (Digital Signal Processor) sono dispositivi integrati molto simili, dedicati espressamente all acquisizione ed elaborazione di segnali. Come sopra definito un microprocessore è un componente integrato che contiene l intera CPU di un computer. Ma l uso dei microprocessori non è limitato solo ai computers e alle potentissime workstations, in quanto essi vengono ampiamente impiegati all interno delle periferiche come stampanti e disk drivers, e in moltissime applicazioni per il controllo di macchine, motori, processi, elaborazione di segnali e quindi dovunque sia conveniente effettuare l elaborazione per via digitale, utilizzando un hardware programmabile. I microprocessori dedicati espressamente al controllo sono chiamati microcontrollori. Poiché le grandezze sulle quali devono operare sono in genere in forma analogica, spesso già contengono al loro interno anche un multiplexer, un S/H, un convertitore A/D e/o circuiti per pilotare attuatori all uscita. Una classe speciale di sistemi integrati utilizzanti microprocessori sono i DSP, studiati per facilitare le operazioni di elaborazione di segnali. 1

Diagramma a blocchi di un sistema di elaborazione dati (computer) Memoria RAM, ROM hard disk Porte di input Porte di output CPU microprocessore bus indirizzi bus dati bus controlli Una porta è un interfaccia fisica, paragonabile ad una finestra, attraverso la quale i dati vengono scambiati con le periferiche esterne. I blocchi funzionali sono interconnessi attraverso tre bus: -Il bus indirizzi (Address bus) è una strada a senso unico, attraverso la quale il microprocessore invia l indirizzo della locazione di memoria o del periferico con il quale vuole colloquiare. Le dimensioni del bus sono definite dal numero di linee: ad es. nei primi microprocessori si utilizzavano 16 linee, con le quali si potevano individuare 2 16 = 65536 locazioni diverse. Il Pentium usa 32 linee di indirizzo. -Il bus dati (Data bus) è una strada a due sensi, sulla quale i dati da elaborare o le istruzioni da eseguire sono trasferite al microprocessore, oppure i risultati ottenuti sono inviati all esterno o alla memoria. Il bus dati può essere ampio (a seconda del processore) da 8 bits a 64 bits. -Il bus controlli (Control bus) è usato dal microprocessore per coordinare le operazioni: specificare se un trasferimento dati è un operazione di lettura o scrittura e in quale istante va eseguito, inserire stati di attesa (wait) per ritardare alcune operazioni e prevenire conflitti di occupazione del bus dati da parte di dispositivi diversi che tentassero di inviare dati contemporaneamente sul bus. 2

Architettura di un microprocessore Ogni microprocessore contiene diverse unità funzionali, ciascuna con un suo compito. L insieme di queste unità, la loro funzione e la loro organizzazione, viene definito l architettura del microprocessore. Tre elementi fondamentali di ogni architettura sono: ALU (Arithmetic Logic Unit) Register array Control Unit ALU Register Array Control unit -L ALU (Arithmetic Logic Unit) è l unità la quale, comandata dalla Control unit, esegue le operazioni aritmetiche come somme e sottrazioni o logiche quali NOT, AND, OR. I dati su cui operare sono forniti dalla Register Array. -La Register Array è un insieme di elementi di memoria (registri) in cui, durante l esecuzione di un programma, i dati e gli indirizzi su cui si opera, così come i risultati delle operazioni, sono momentaneamente immagazzinati. Alcuni registri sono di tipo general purpose, cioè possono essere usati dal microprocessore per qualsiasi scopo definito dal programma, altri sono dedicati a specifiche funzioni. -La Control Unit ha lo scopo di processare le istruzioni di programma. Fornisce le informazioni di temporizzazione e i segnali di controllo per trasferire i dati da e verso l esterno e per sincronizzare l esecuzione delle istruzioni. 3

La programmazione di un microprocessore Assembly language Engl. like Assembler Machine language High level language Compiler - Ogni microprocessore lavora con un set di istruzioni formulato dal progettista. Ogni istruzione consiste in una stringa binaria che è decodificata dal microprocessore prima di essere eseguita. Le istruzioni in codice binario sono dette linguaggio macchina (machine language) - Per semplificare il compito di programmazione si è creato un linguaggio detto Assembly (linguaggio di basso livello) in cui le istruzioni sono di tipo English like, (mnemonics o op-codes). Ogni microprocessore ha il suo specifico linguaggio Assembly -Un programma detto assembler converte le istruzioni del linguaggio Assembly in linguaggio macchina. - Linguaggi di livello elevato (come il BASIC, FORTRAND, Pascal, C ecc.) sono indipendenti dal tipo di processore e necessitano di un programma apposito detto Compiler per essere tradotti in linguaggio macchina. - Il vantaggio di un linguaggio di alto livello è di essere universale, mentre il linguaggio assembly permette in genere un esecuzione più veloce e un controllo più diretto del processo. 4

Famiglie di microprocessori Intel: 4004 8008 80X86 80286 80386 80486 Pentium, Celeron Pentium I,II,III IV Motorola: 680X0 68020 68030 68040 68060 Power PC MPC601 MPC750 Intel e Motorola hanno dato luogo alle due famiglie più note di microprocessori, quella Intel impiegata in tutti i Personal di tipo IBM e compatibili, quella Motorola nei computers Apple Macintosh. Il primo microprocessore fu l Intel 4004, messo sul mercato nel 1971, con un data bus di soli 4 bit. A metà degli anni 70 fu introdotto il 8008 a 8 bit, ma la famiglia 80X86 che con la sua evoluzione porterà sino all attuale Pentium vide la luce nel 1978. Il Pentium ha un bus indirizzi a 32 bit e un bus dati a 64 bit Il Motorola 68000 fu il primo microprocessore a 16 bit introdotto da Motorola nel 1979 e fu il capostipite della fortunata famiglia che si è evoluta sino ai giorni nostri. 5

Sistemi di Interconnessione PE (Processing Elements): Unita che si scambiano le informazioni Collegamento Punto a punto Multipunto Collegamento Monodirezionale Bidirezionale 6

Tipo di cammino Path: cammino dedicato condiviso anello Interconnessione completa Bus 7

Trasferimento dati tipo seriale o parallelo Computer 01 01 1 0001 0 Modem seriale Computer 1 1 0 1 1 0 0 1 Printer Parallelo Il trasferimento di un dato puo avvenire in forma seriale, cioe un bit dopo l altro, ad ogni colpo di clock, su un singolo conduttore, oppure in forma parallela, dove tutti i bit di un dato vengono trasmessi contemporaneamente, ad ogni colpo di clock, su linee separate. Il trasferimento di tipo parallelo e molto piu veloce, ma richiede di disporre di un numero di conduttori molto elevato. Tipicamente si preferisce un trasferimento parallelo dove e necessaria grande velocita e si puo disporre spazio per multiplare i conduttori. 8

Protocolli logici Definizioni: Master: il PE che inizia un trasferimento Slave: un PE che e coinvolto nel trasferimento Protocollo di comunicazione: Insieme delle regole che permettono lo scambio di informazione senza rischio di incomprensioni 9

Protocolli Logici - Diagrammi temporali Ogni evento ha una sorgente che puo essere un fronte od un livello, o l azione combinata di due eventi contemporanei A B C Master: il PE che inizia un trasferimento Slave: un PE che e coinvolto nel trasferimento Nell esempio si mettono in evidenza tutte e tre le possibilita, indicando la simbologia che utilizzeremo per rappresentare la dipendenza temporale tra i diversi eventi. La transizione (fronte) di A tra 0 ed 1 e la sorgente per l evento transizione di C da 1 a 0. Il livello 0 di C e la sorgente della transizione di B tra 0 ed 1. La contenmporanea presenza (AND) del livello 1 in B e del fronte di discesa tra 1 e 0 in A e l evento che provoca la transizione da 0 ad 1 di C 10

Protocollo punto a punto sincrono DATO VALID t valid t next t valid et next sono tempi fissi Dati e segnale di VALID emessi dal master, non vi e nessuna conferma da parte dello slave Nel caso di comunicazioni punto-punto si ha una sorgente che vuole inviare delle informazioni ad un unica destinazion. La sorgente invia I dati ma la destinazione deve sapere quando questi sono validi. Occorre quindi che la sorgente invii anche un segnale di validazione. Il segnale di validazione deve essere inviato in un tempo successivo all aver posto i dati sulle linee, con un ritardo che assicuri che alla destinazione i dati siano ormai stabili.. Per poter poi inviare un dato successivo occorre che comunque i dati permangano stabili per un tempo sufficiente a far si che vengano acquisiti e, passato questo tempo t valid, avvertire la destinazione che il dato verra tolto prima di cambiarlo. Per permettere di cambiare il dato sara necessario che passi il tempo tnext, dopo di che potra iniziare un nuovo ciclo. Poiche in questo esempio e il master che determina i tempi t valid etnext, occorrera che questi siano congruenti con il modo di funzionamento piu lento del destinatario. Inoltre poiche in questo protocollo non vi e nessun segnale di risposta da parte del destinatario il master non sa se il trasferimento e andato a buon fine. 11

Protocollo punto-punto asincrono a 4 fronti DATO VALID ACK In questo caso quando la destinazione riceve il dato invia un segnale di riconoscimento (acknowledge ACK) alla sorgente in formandola che il trasferimento e andato a buon fine. Fasi del trasferimento : 1. DATI VALIDI (fronte di salita di VALID generato dal master) 2. DATI ACCETTATI (fronte di salita di ACK generato dallo SLAVE) 3. DATI NON PIU VALIDI (discesa di VALID) 4. SLAVE PRONTO PER UN ALTRO CICLO ( discesa di ACK) 12

Ciclo asincrono di lettura DATO REQUEST VALID Nel caso di un ciclo di lettura il master deve inviare la richieata dati (REQUEST), lo slave pone i dati sulla via di comunicazione e informa quando sono pronti per essere letti (segnale VALID). Quando il master li ha ricevuti informa dell avvenuto trasferimento togliendo il segnale di REQUEST) e lo slave informa che I dati saranno non piu validi portando a 0 VALID> 13

Protocollo advanced read/write DATO READ/WRITE (scrittura) (lettura) STROBE ACK Il segnale READ/WRITE indica sin dall inizio quale tipo di trasferimento si vuole fare, ( 0 scrivi, 1 leggi) e quindi lo SLAVE puo predisporsi subito alla richiesta. Azioni del protocollo di scrittura: 1) Dati validi ( fronte di salita di STROBE) 2) Dati accettati (fronte di salita di ACK) 3) Dati non piu validi (fronte di discesa di STROBE) 4) Slave pronto per un altro ciclo (fronte di discesa di ACK) Ciclo di lettura: 1) Richiesta dati (fronte di salita di STROBE) 2) Dati validi (fronte di salita di ACK) 3) Dati accettati (fronte di discesa di STROBE) 4) Dati non piu validi (fronte di discesa di ACK) 14

Tre bus DATI ADD COMANDI 15

Indirizzamento codificato ADD ADVAL ADD D E C O D E R ADVAL 16

Indirizzamento Misto D E C O D E R SELECT n SELECT 2 SELECT 1 K M S 1 S 2 S 3 M-K 17

Protocollo multislave asincrono a 4 fronti ADD DATA ADDSTB ADDACK DATASTB DATACK Nei protocolli multislave occorre aggiungere anche l informazione di indirizzo dello slave che si intende coinvolgere nel trasferimento.questo puo essere fatto in due fasi successive, per ciascuna delle quali si utilizzano I protocolli prima descritti. Poiche ogni fase richiede quattro fronti, in totale occorrono 8 fronti, il che rallenta la velocita di trasferimento. 18

Protocollo sincrono per gli indirizzi, asincrono per i dati ADD DATA ADDSTB DATASTB ACK Il protocollo precedente puo essere semplificato utilizzando una fase sincrona per gli indirizzi, che non attende l acknowledge prima di iniziare la fase di trasferimento dati. Ecco I passi descritti: 1. INDIRIZZI VALIDI (fronte di salita di ADDSTB) 2. DATI VALIDI (fronte di slita di DATASTB) 3. DATI ACCETTATI( fronte di salita di ACK) 4. DATI NON PIU VALIDI (fronte di discesa di DATASTB) 5.INDIRIZZI NON PIU VALIDI (fronte di discesa di ADDSTB) 6. SLAVE PRONTO PER UN ALTRO CICLO ( fronte di discesa di ACK) Questo protocollo e molto usato a livello di standard industriali Il parametro utilizzato per misurare le prestazioni di un sistema e relativo protocollo e il throughput, definito come numero delle informazioni scambiate nell unita di tempo: e dato dal prodotto tra W (dimensione del canale= numero di bit trasmessi contemporaneamente) per B (numero di trasferimenti al secondo). 19