Microelettronica Corso introduttivo di progettazione di sistemi embedded

Documenti analoghi
Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Architettura dei calcolatori

Macchina di von Neumann/Turing

Sistemi e reti CPU Concetti di base

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

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

Capitolo 5 Elementi architetturali di base

Il modello di von Neumann

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

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

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

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

Architettura dei Calcolatori Elettronici

Il Microprocessore. Modello di Von Neumann

L'architettura del processore MIPS

Elementi di informatica

ARCHITETTURA DI UN CALCOLATORE ELETTRONICO

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

L unità di controllo di CPU a singolo ciclo

Le operazioni. di somma. e sottrazione

Lezione 15. L elaboratore Elettronico

Macchina di Riferimento: argomenti

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

Componenti principali

Struttura del calcolatore

Struttura di un elaboratore

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

Architettura di von Neumann

Architettura di von Neumann

ARCHITETTURA DI UN ELABORATORE

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

Richiami sull architettura del processore MIPS a 32 bit

Architettura di un processore basato su registri generali.

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

CALCOLATORI ELETTRONICI II

Lezione 22 La Memoria Interna (1)

Sistemi di numerazione

Elementi di informatica

Componenti e connessioni. Capitolo 3

Architettura di un calcolatore: Introduzione parte 2

Corso di Fondamenti di Informatica Elementi di Architettura

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Sistemi di Elaborazione delle Informazioni

Architettura degli elaboratori

CPU pipeline hazards

Richiami sull architettura del processore MIPS a 32 bit

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

L architettura di riferimento

Esame di INFORMATICA Lezione 4

CPU a ciclo multiplo

Pinout PD32. Memoria di lavoro esterna. tramite l indirizzo ad esse associato. e possono essere lette o scritte: Le singole celle sono distinguibili

CPU a ciclo multiplo

ARCHITETTURA DI UN ELABORATORE

INFORMATICA GENERALE

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

NOZIONI BASE DEL PROCESSORE (CPU)

Lezione 3: Architettura del calcolatore

Elementi di base del calcolatore

Architettura di un calcolatore

I registri A, B, T contengono dati su cui è possibile eseguire operazioni elementari da parte dell ALU;

Il processore: unità di controllo

Architettura dei computer

Il processore: unità di elaborazione

Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Seconda v2.0

Corso di Informatica

Lezione 1: L hardware

Introduzione all Architettura dei Calcolatori Elettronici

Architettura dei Calcolatori elettronici

Architettura di una CPU

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Architettura degli Elaboratori

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

Architettura dei calcolatori

La macchina di Von Neumann

Il Processore: l unità di controllo

Calcolatori Elettronici

Componenti di un processore

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

ARCHITETTURA DI UN ELABORATORE

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

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

Microelettronica. Organizzazione hardware del processore ARM. Stefano Salvatori. Università degli Studi Roma Tre.

Architettura hardware

Dispensa di Informatica I.3

HSA HSA HARDWARE SYSTEM ARCHITECTURE. Livelli. Livello assemblativo. Livello di. Sistema Operativo. Livello di. linguaggio macchina.

Elementi di Architettura

CPU. Maurizio Palesi

Capitolo 6 Le infrastrutture HardWare

Architettura di un elaboratore. Il modello di von Neumann

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

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.

Sommario FONDAMENTI DI INFORMATICA. Architettura di Von Neumann. Algoritmi e programmi ESERCITAZIONE PYTHON ARCHITETTURA DEI CALCOLATORI

La macchina di Von Neumann

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

Lezione4: MIPS e Istruzioni (1 Parte)

Il modello di Von Neumann

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Transcript:

Microelettronica Corso introduttivo di progettazione di sistemi embedded Architettura dei sistemi a microprocessore prof. Stefano Salvatori A.A. 2014/2015 Eccetto dove diversamente specificato, i contenuti di questo documento sono rilasciati sotto Licenza Creative Commons Attribuzione 3.0 Italia. S. Salvatori - Microelettronica marzo 2015 (1 di 38)

Sommario Livelli di astrazione sistemi logica Macchina basata su microprocessore Architettura di Von Neumann Esecuzione di una istruzione Sistema generico (CISC) Architettura di tipo Load/Store Elementi fondamentali di una CPU Prossimamente S. Salvatori - Microelettronica marzo 2015 (2 di 38)

Competenze versus conoscenze Certamente dobbiamo acquisire competenze sistemi a up/uc sistema di sviluppo per i progetti Queste non possono però prescindere dalle conoscenze architettura del sistema elementi di elettronica digitale ma anche fondamenti di programmazione S. Salvatori - Microelettronica marzo 2015 (3 di 38)

saremo qui Livelli di astrazione apparati schede (PCB) sistemi integrati sistemi compl.: processori, memorie ELE_2 ELE_1 sistemi LSI-MSI: somm., ALU, porte logiche: per simboli livello transistor: logic gates layout del singolo dispositivo S. Salvatori - Microelettronica marzo 2015 (4 di 38)

Cosa dobbiamo conoscere? S. Salvatori - Microelettronica marzo 2015 (5 di 38)

Al livello di sistema Oggi Architettura di Von Neumann blocchi fondamentali sistema di scambio informazioni CPU periferiche bus processo di lavoro ciclo di esecuzione di un'istruzione S. Salvatori - Microelettronica marzo 2015 (6 di 38)

Dal sistema alla logica Prossimamente CPU come sistema schema a blocchi (a livello di datapath) macchina sequenziale macchine di Mealy e Moore nel dettaglio Registri latch flip/flop ALU logica (NOT, AND, OR, XOR) aritmetica (ADD, SUB, MUL, DIV, SHIFT, CMP, ) Incrementer Decoder S. Salvatori - Microelettronica marzo 2015 (7 di 38)

Dal sistema alla logica Prossimamente Memorie come sistema datasheet schema a blocchi nel dettaglio decoder sistemi combinatori celle loop di ma anche: latch e flip/flop S. Salvatori - Microelettronica marzo 2015 (8 di 38)

Architettura di una macchina di calcolo automatica S. Salvatori - Microelettronica marzo 2015 (9 di 38)

Sistemi programmabili I sistemi elettronici a cui facciamo riferimento sono quelli programmabili, nel senso che sono in grado di eseguire un programma FF..FF16 instructions registers address data processor instructions and data memory 00..0016 S. Salvatori - Microelettronica marzo 2015 (10 di 38)

Architettura di Von Neumann Dobbiamo ricordare l'architettura di una macchina di calcolo automatica che segua lo schema di Von Neumann processore bus alle periferiche S. Salvatori - Microelettronica marzo 2015 (11 di 38)

Microcontrollore Un microcontrollore è un singolo chip in cui sono integrati tutti (o quasi) gli elementi di una macchina di calcolo Processore Memoria Periferiche S. Salvatori - Microelettronica marzo 2015 (12 di 38)

Fasi coinvolte nella esecuzione di una istruzione da parte della CPU S. Salvatori - Microelettronica marzo 2015 (13 di 38)

Esecuzione di una istruzione /i Supponiamo che la CPU debba eseguire la seguente istruzione aritmetica: ADD M3, M2, M1 cioè: [M3] := [M2] + [M1] M1 = 5000 M2 = 5100 M3 = 5200 dati L'istruzione si trova all'indirizzo 1000 programma S. Salvatori - Microelettronica marzo 2015 (14 di 38)

Esecuzione di una istruzione /ii [M3] := [M2] + [M1] Prima: Dopo: dati dati 5000 92 M1 5000 92 M1 5100 73 M2 5100 73 M2 5200 12 M3 5200 165 M3 S. Salvatori - Microelettronica marzo 2015 (15 di 38)

Esecuzione di una istruzione /iii ADD M3, M2, M1 le fasi principali che devono essere coinvolte saranno: prelievo dell'istruzione esecuzione della stessa address bus control bus CPU programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (16 di 38)

Esecuzione di una istruzione /1 ADD M3, M2, M1 per prima cosa la CPU indirizza la programma in cui può trovale l'istruzione corrente da eseguire Deve esserci un contatore per gli indirizzi 1000 address bus control bus 1000 CPU 1000 programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (17 di 38)

Esecuzione di una istruzione /2 ADD M3, M2, M1 la CPU deve anche inviare il segnale di controllo che indica alla che si ha una LETTURA: address bus 1000 read control bus read CPU read programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (18 di 38)

Esecuzione di una istruzione /3 ADD M3, M2, M1 a questo punto la programma deposita sul bus dati il CODICE DELL'ISTRUZIONE: Serve un registro per l'istruzione address bus 1000 read control bus CPU op-code data bus programma dati interfaccia I/O op-code ADD M3,M2,M1 S. Salvatori - Microelettronica marzo 2015 (19 di 38)

Esecuzione di una istruzione /4 ADD M3, M2, M1 Acquisito il codice operativo, la CPU interpreta (decodifica) l'istruzione e prepara i passi che saranno necessari alla sua prossima esecuzione Serve una unità di calcolo address bus control bus CPU ADD M3,M2,M1 programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (20 di 38)

Esecuzione di una istruzione /5 ADD M3, M2, M1 la CPU per prima cosa deve prelevare il primo operando dell'addizione: invia l'indirizzo di M2 segnalando la lettura di un dato in 5100 address bus read control bus 5100 read 5100 read CPU programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (21 di 38)

Esecuzione di una istruzione /6 ADD M3, M2, M1 a questo punto la dati deposita sul bus dati il contenuto della locazione di indirizzo M2: 5100 address bus read control bus CPU programma dati 73 73 data bus interfaccia I/O 73 S. Salvatori - Microelettronica marzo 2015 (22 di 38)

Esecuzione di una istruzione /7 ADD M3, M2, M1 la CPU registra il valore letto dal data-bus Serve un registro per l'operando address bus control bus CPU 73 programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (23 di 38)

Esecuzione di una istruzione /8 ADD M3, M2, M1 la CPU ora preleva il secondo operando dell'addizione: indirizza la invia il segnale di lettura 5000 address bus read control bus 5000 read 5000 read CPU programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (24 di 38)

Esecuzione di una istruzione /9 ADD M3, M2, M1 la dati deposita sul bus dati il contenuto della locazione di indirizzo M1: 5000 address bus read control bus CPU programma dati 92 92 data bus interfaccia I/O 92 S. Salvatori - Microelettronica marzo 2015 (25 di 38)

Esecuzione di una istruzione /10 ADD M3, M2, M1 la CPU registra questo secondo valore letto dal data-bus... Serve un secondo registro per l'operando address bus control bus CPU 92 programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (26 di 38)

Esecuzione di una istruzione /11 ADD M3, M2, M1 ed esegue l'operazione di addizione Serve un registro per il risultato address bus control bus CPU 73+92=165 programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (27 di 38)

Esecuzione di una istruzione /12 ADD M3, M2, M1 la CPU ora indirizza la dati per poter memorizzare il risultato... 5200 address bus control bus 5200 5200 CPU programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (28 di 38)

Esecuzione di una istruzione /13 ADD M3, M2, M1 inviando il segnale di controllo scrittura 5200 address bus write control bus 5100 write 5100 write CPU programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (29 di 38)

Esecuzione di una istruzione /14 ADD M3, M2, M1 il risultato dell'addizione viene scritto dalla CPU sul data-bus in modo che la dati possa caricarlo 5200 address bus write control bus CPU 165 programma dati 165 165 data bus interfaccia I/O 165 S. Salvatori - Microelettronica marzo 2015 (30 di 38)

Esecuzione di una istruzione /15 nuova istruzione la CPU può ora indirizzare la programma per trovare l'istruzione successiva (tutto ricomincia ) 1001 address bus control bus 1001 CPU 1001 programma dati interfaccia I/O data bus S. Salvatori - Microelettronica marzo 2015 (31 di 38)

Osservazione ADD M3, M2, M1 n di accessi alla = 4 1 : prelievo dell'istruzione 2 e 3 : prelievo operandi 4 : scrittura risultato Processore generico che può eseguire istruzioni aritmetiche con operandi in L'accesso alla è generalmente il fattore limitante sulla velocità di esecuzione S. Salvatori - Microelettronica marzo 2015 (32 di 38)

Architettura Load/Store ADD R3, R2, R1 le operazioni aritmetiche possono lavorare solo sul contenuto di registri interni alla CPU n di accessi alla 1: prelievo dell'istruzione; 2 e 3 : prelievo operandi 4: scrittura risultato Processore RISC naturalmente, prima della elaborazione vi sarà il load dei dati e al termine lo store dei risultati vantaggioso quanto più lunga è l'elaborazione Serve un certo numero di registri interni alla CPU S. Salvatori - Microelettronica marzo 2015 (33 di 38)

Gli elementi fondamentali che sono presenti in una CPU S. Salvatori - Microelettronica marzo 2015 (34 di 38)

Elementi fondamentali di una CPU In base alle fasi che la CPU deve svolgere per giungere all'esecuzione di una istruzione: Unità di calcolo operazioni logiche e aritmetiche shift di operandi Unità di controllo decoder multiplexer Registri per i dati per l'istruzione per puntare all'istruzione S. Salvatori - Microelettronica marzo 2015 (35 di 38)

SEGNALI DI CONTROLLO Elementi fondamentali di una CPU incrementer PC DECODER MDR REG FUNZ BUS INTERNO MAR AI BUS ESTERNI SR... IR R0 R1 ALU BANCO DI REGISTRI Rn REG S. Salvatori - Microelettronica marzo 2015 (36 di 38)

Le prossime lezioni (più o meno) Memorie tipi di dal sistema alla cella Blocchi registri registri a scorrimento sommatore multiplexer Logica porte logiche fondamentali S. Salvatori - Microelettronica marzo 2015 (37 di 38)

Riferimenti http://ssalvatori.altervista.org /architettura-vonneumann.html wikipedia Domande stefano.salvatori@uniroma3.it S. Salvatori - Microelettronica marzo 2015 (38 di 38)