CPU chips e bus. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1



Documenti analoghi
La Comunicazione tra i dispositivi

Livello logico digitale. bus e memorie

Collegamento al sistema

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

DMA Accesso Diretto alla Memoria

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

C. P. U. MEMORIA CENTRALE

La memoria centrale (RAM)

Dispensa di Informatica I.1

Laboratorio di Informatica

Architettura hardware

introduzione I MICROCONTROLLORI

CPU. Maurizio Palesi

ARCHITETTURA DEL CALCOLATORE

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

= 0, 098 ms. Da cui si ricava t 2 medio

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico pagina 1

Esame di INFORMATICA

Approccio stratificato

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

Architettura del calcolatore

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Input/Output: bus, interfacce, periferiche

Architettura di un calcolatore

Il microprocessore 8086

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

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Struttura del calcolatore

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

Organizzazione della memoria principale Il bus

Architettura dei computer

Il Sistema Operativo (1)

STRUTTURE DEI SISTEMI DI CALCOLO

I dischi ottici. Fondamenti di Informatica -- Rossano Gaeta 43

PREMESSA AUTOMAZIONE E FLESSIBILITA'

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Il bus PCI. Piccinetti Stefano

Architettura di un sistema operativo

Calcolatori Elettronici A a.a. 2008/2009

Dispositivo Modbus. Manuale di installazione e uso. Doc Rev.1 (03/15)

Informatica - A.A. 2010/11

Architettura di un sistema di calcolo

Hardware delle reti LAN

LABORATORIO DI SISTEMI

Il Sistema Operativo

Laboratorio di Informatica

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

8 Microcontrollori PIC

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

I dischi magnetici floppy disk

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

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

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

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

COME È FATTO IL COMPUTER

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Corso di Sistemi di Elaborazione delle informazioni

RETI E SISTEMI INFORMATIVI

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

12. Implementazione di un File System Struttura a livelli Allocazione contigua

Appunti di informatica. Lezione 6 anno accademico Mario Verdicchio

Corso di Sistemi Automatici di Misura

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Il Personal Computer

Corso di Informatica

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

Organizzazione Monolitica

Corso di Laurea di Ingegneria Elettronica

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

Gerarchia delle memorie

Capitolo Silberschatz

1.4a: Hardware (Processore)

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

Configurazione & Programmazione Profibus DP. in Ambiente Siemens TIA Portal

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

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

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

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

Calcolo numerico e programmazione Architettura dei calcolatori

Architettura dei calcolatori I parte Introduzione, CPU

Lezione 3: Architettura del calcolatore

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

Software di base. Corso di Fondamenti di Informatica

CALCOLATORI ELETTRONICI A cura di Luca Orrù

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

IL CENTRALINO VoIP. Schema progetto: Work-flow. Hydra Control

Architettura hw. La memoria e la cpu

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Elettronica dei Sistemi Programmabili

Sommario. Introduzione 1

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Microprocessori, Microcontrollori e DSP (Digital Signal Processors)

Corso PLC - Manuale Pratico 1

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

P R O G E T T O L A R S A A P P U N T I S U L P. L. C.

Transcript:

CPU chips e bus anno accademico 2006 2007 pagina 1

Layout di una cpu anno accademico 2006 2007 pagina 2

I bus in un sistema a microprocessore anno accademico 2006 2007 pagina 3

Proprietà di un bus Bus width ( dimensioni del bus) Bus clocking (temporizzazione) Syncrounous bus (bus sincroni) Asyncrounous bus (bus asincroni) Bus arbitration ( gestione del bus) Bus operation (operazioni sul bus) anno accademico 2006 2007 pagina 4

Bus Width Le linee di indirizzamento (address lines) gestiscono la modalità d indirizzamento: se un bus ha 11 linee d indirizzamento gli indirizzi gestibili sono 2 11. Maggiori sono le linee disponibili per l indirizzamento e più ampio è lo spazio d indirizzamento stesso. Di contro maggiori sono i costi: più fili e connettori più grandi. anno accademico 2006 2007 pagina 5

Multiplexed bus Per contenere il numero dei fili del bus pur aumentando le sue dimensioni si possono multiplexare alcune linee, ossia far viaggiare sullo stesso filo informazioni diverse in istanti diversi. Normalmente vengono multiplexate le linee dei dati e degli indirizzi. Per un operazione di scrittura, l indirizzo deve essere inviato nel ciclo di bus n, mentre i dati vengono inviati al ciclo successivo ( n+1 ). Multiplexare un bus riduce i costi ma rallenta anche le operazioni sul bus stesso. anno accademico 2006 2007 pagina 6

Evoluzione storica dei bus per i chip della Intell anno accademico 2006 2007 pagina 7

Bus skew Per aumentare la capacità di trasferimento dei dati ( bytes per second) è necessario diminuire il ciclo del bus (piu trasferimenti di dati al secondo) o aumentare la dimensione ( più dati per ogni trasferimento) del bus stesso. Diminuire il ciclo del bus è più complicato perché si da origine al bus asimmetrico (bus skew). Minore è il ciclo e maggiore è il problema del bus skew. La soluzione preferita è aumentare le dimensioni del bus. anno accademico 2006 2007 pagina 8

Valori di velocità per bus standard. Il tradizionale bus ISA (Industry standard architecture) disponibile sui PC basati sui microprocessori Intel ha una velocità di 8.33 MHz Il più recente PCI bus ha una velocità di 33 MHz o 66 MHz. anno accademico 2006 2007 pagina 9

Bus sincroni 25 ns anno accademico 2006 2007 pagina 10

anno accademico 2006 2007 pagina 11

Bus asincroni: tempi di lettura anno accademico 2006 2007 pagina 12

Il Protocollo Bus Le regole che definiscono come lavora il bus e come si devono comportare tutti i dispositivi collegati al bus stesso, sono chiamate il protocollo del bus. In aggiunta sono definite anche le specifiche elettriche ( tensioni, assorbimenti di potenza, temporizzazione dei segnali) e meccaniche (tipo di connettori, disposizioni delle linee sul connettore stesso). Alcuni bus standard sono Omnibus (PDP-8), Unibus (PDP-ll), Multibus (8086), IBM PC bus (PC/XT), ISA bus (PC/AT), EISA bus (80386), Microchannel (PS/2), PCI bus (many PCs), SCSI, Universal Serial Bus (modern PCs), FireWire (consumer electronics), anno accademico 2006 2007 pagina 13

Masters and slaves Alcuni dispositivi sono attivi e possono iniziare il trasferimento (lettura o scrittura) dei dati, altri invece sono passivi e aspettano la richiesta di trasferimento. Gli attivi sono chiamati masters; i passivi invece slaves. Quando la CPU ordina al controllore del disco di leggere o scrivere un blocco, la Cpu si comporta come master mentre il controllore come slave. Comunque anche il controllore del disco può eseguire trasferimenti diretti in memoria comportandosi anche come master. anno accademico 2006 2007 pagina 14

Master e slave nella gestione di un bus anno accademico 2006 2007 pagina 15

Bus drivers, bus receivers and bus transceivers I masters sono collegati al bus tramite un chip che si chiama bus driver ; gli slaves invece con un bus receiver. Dispositivi che agiscono come master e, in differenti istanti,anche come slave si collegano con bus transceiver. Questi dispositivi di interfaccia hanno configurazioni tipo tri-state, per permettere loro di scollegarsi dal bus, quando non necessario o sono aggangiati al bus in modo leggermente differente con una configurazione open collector. anno accademico 2006 2007 pagina 16

Bus arbitration Per il corretto funzionamento un solo dispositivo fra quelli collegati allo stesso bus può agire come master. Se esistono due o piu masters è necessario un meccanismo di arbitraggio L arbitraggio può essere centralizzato e decentralizzato. anno accademico 2006 2007 pagina 17

Arbitraggio centralizzato L arbiter determina chi sul bus si comporta come master. Molte CPU hanno l arbitro integrato, altri sistemi hanno un elemento singolo che funziona come arbitro. Bus request è un wired-or che viene attivato (Basso) quando uno o più dispositivo lo richiedono. E necessario un meccanismo per capire chi ha fatto richiesta. anno accademico 2006 2007 pagina 18

Daisy Chain Wired or Uno qualunque dei dispositivi richiede il bus abbassando la linea bus request. L arbitro concede bus grant. Il 1, se ha fatto richiesta trattiene il grant e si prende il bus, altrimenti lo inoltra. Se più dispositivi richiedono contemporaneamente attenzione, quello con maggior priorità è il più vicino all arbitro. anno accademico 2006 2007 pagina 19

Decentralized bus arbitration Un sistema a microprocessore può avere n linee a priorità diversa per richiedere il bus. Quando un dispositivo desidera usare il bus, attiva la sua linea di richiesta. Tutti dispositivi monitorano le linee di richiesta così che alla fine di ciascun ciclo del bus, il singolo dispositivo (che necessità di diventare master), sa se un dispositivo a più alta priorità ha richiesto il bus (e tale dispositivo diventa master al ciclo successivo) o se lui stesso, al ciclo successivo, può diventare master. anno accademico 2006 2007 pagina 20

Decentralized arbitration Wired or Bus request è un wired-or: serve per richiedere il bus. BUSY è attivata dal corrente bus master. La terza linea è usata per l arbitraggio: è un daisy chain. Per due richieste contemporanee la priorità è stabilita dalla successione degli elementi concatenati. anno accademico 2006 2007 pagina 21

Block transfer Normalmente viene trasferito sul bus un dato (di lettura o scrittura) per volta. Tuttavia, soprattutto quando la cache è presente, viene trasferito un intero blocco di dati. Il trasferimento di un blocco è più efficiente che il trasferimento del singolo byte. anno accademico 2006 2007 pagina 22

Trasferimenti di blocchi di dati. La lettura di un blocco di 4 parole richiede 6 cicli invece dei 12 necessari per i singoli trasferimenti. anno accademico 2006 2007 pagina 23

Interrupt Quando la CPU richiede ad un dispositivo di I/O un operazione, essa normalmente aspetta un segnale di interrupt quando questa operazione è stata eseguita. Poiché molti dispositivi di I/O possono richiedere un interrupt contemporaneamente, è necessario gestire l arbitraggio. L usuale soluzione è di assegnare priorità ai dispositivi e usare un arbitro centralizzato (es: 8259A) per assegnare la priorità. anno accademico 2006 2007 pagina 24

Interrupt Controller Un dispositivo causa un interrupt, attivando la sua linea e conseguentemente l 8259A attiva il segnale di INT verso la CPU. Quando la CPU può rispondere, essa attiva INTA (INTerrupt Acknowledge). A sua volta l 8259A specifica quale dispositivo di I/O ha richiesto l interrupt mettendo sul bus dati il numero del dispositivo richiedente La CPU usa quel numero come indice all interno di una tabella di puntatori alle routine di gestione degli interrupt. anno accademico 2006 2007 pagina 25

Embedded Processors Negli apparati elettronici, anche di costo contenuto (per es televisori, cellulari, palmari, forni a microonde, videocamere, videoregistratori, stampanti etc,etc), i microprocessori sono quasi sempre presenti. Essi sono ottimizzati per svolgere le funzioni richieste e non necessitano di strutture sofisticate per avere alte prestazioni. Tali tipi di microprocessori sono anche chiamati embedded processors e sono programmati in assembler o nei frequenti casi in cui la complessità del software cresce in C, C++ o Java. anno accademico 2006 2007 pagina 26

Linguaggi di programmazione per sistemi embedded Linguaggi tipo il C,C ++,Java producono codice di ridotte dimensioni compatibile con gli spazi ridotti di memoria tipici dei sistemi embedded. In particolare il Java è indipendente dalla particolare piattaforma, tuttavia necessita di un sofware di dimensioni relativamente ampie per realizzare la funzione dell interprete ed esegue le istruzioni con alti tempi. Una soluzione al problema è la costruzione di un chip che abbia come set d istruzioni lo stesso del JAVA. anno accademico 2006 2007 pagina 27

MicroJava 701 2 bus ( uno a 64 bit per la memoria, l altro di 32 bit PCI); Cache: 16 kb per i dati e 16 kb per il programma 2M di transistor per il core e 1.5M per la cache. anno accademico 2006 2007 pagina 28

anno accademico 2006 2007 pagina 29

anno accademico 2006 2007 pagina 30

anno accademico 2006 2007 pagina 31

Caratteristiche del SUN microjava 701 system Una memoria PROM 16 linee I/O (che si possono interfacciare a bottoni, interruttori, lampade,tastiera). Tre timer programmabili. Ha 316 pin(59 per il bus PCI, 123 per il bus di memoria, 3 per il controllo, 3 per il timer, 11 interrupts, 10 di testing, 16 linee di I/O. Sleep mode per risparmiare la batteria, un controllore dell interrupt integrato. anno accademico 2006 2007 pagina 32

Il microprocessore (8086) ROM:microcodice Demultiplexer, multiplexer Alu (Arithmetic Logic unit): Sommatori, comparatori anno accademico 2006 2007 pagina 33