Parte III Logica Digitale, Memorie, Microprocessori e Bus Calcolatori Elettronici (5 crediti) Prof. G. Cosentino III.1 Ma in fondo quali sono i mattoncini che compongono un calcolatore elettronico ? Porte And, Or, Nand, Nor, Not Circuiti Multiplexer, Codif, Shifter, ALU Aritmetica Sommatori Memorie Latch, Flip Flop Bus Sincroni clk, Asincroni M/slave I/O Chip paralleli Calcolatori Elettronici (5 crediti) Prof. G. Cosentino III.2 Circuiti Digitali i1 INGRESSI in CIRCUITO DIGITALE o1 USCITE om • Circuiti elettronici i cui ingressi e le cui uscite assumono solo due livelli • Al circuito sono associate le funzioni che calcolano le uscite a partire dagli ingressi o1 = f1(i1,….,in ) .. . om = fm(i1,….,in ) III.3 Funzioni Logiche (Booleane) y,x1,…,xn ∈{ 0,1} y = f(x1,…,xn) f { 0,1} { 0,1} → n • Variabili con due soli valori possibili: { 0,1} FALSO VERO {F,T} FALSE TRUE Tavola di verità x1 0 0 .. . 1 x2 …… x n-1 xn 0 …….. 0 0 0 …….. 0 1 .. .. .. . . . 1 …….. 1 1 f 0 1 .. . 0 • 2n combinazioni di ingresso n 2 • 2 funzioni distinte di n variabili III.4 Funzioni Booleane (Esempi) • Con n=1 si hanno 4 funzioni: x1 0 1 f0 0 0 f1 0 1 f2 f3 1 1 0 1 • La funzione f2 è detta NOT • Con n=2 si hanno 16 funzioni, tra cui: x1 0 0 1 1 x2 0 1 0 1 f0 0 0 0 0 f1 0 0 0 1 f2 0 0 1 0 f3 0 0 1 1 f4 0 1 0 0 f5 0 1 0 1 f6 0 1 1 0 • La funzione f1 è nota come AND • La funzione f7 è nota come OR III.5 f7 0 1 1 1 Algebra Circuitale (Booleana) • È una struttura algebrica (insieme più operatori) • Reticolo distributivo complementato Insieme: I = { 0,1 } Operatori: AND, OR Complementazione: NOT Notazione • Se x e y sono due variabili booleane: – L’ AND di x e y si indica con x·y – L’ OR di x e y si indica con x + y – Il NOT di x si indica con x III.6 Porte NAND e NOR È possibile simulare AND, OR e NOT, e quindi realizzare qualsiasi circuito, usando soli NAND oppure soli NOR che richiedono meno transistors. 0,0 1 1,1 Simulazione AND III.7 Porte XOR • Calcola la funzione OR Esclusivo (diverso da OR): dà uscita 1 (vero) quando uno solo degli ingressi (ma non entrambi) vale 1 • Facilmente realizzabile con porte AND, OR e NAND 0 0 0 0 1 1 0 0 1 0 1 III.8 Riepilogo Operatore NOT Simbolo y=x Proprietà y=1 se e solo se x=0 AND y=x1x2 y=1 se e solo se x1=x2=1 OR y=x1+x2 y=0 se e solo se x1=x2=0 NAND y=x1/x2 y=0 se e solo se x1=x2=1 NOR y= x↓x2 y=1 se e solo se x1=x2=0 XOR y = x1⊕x2 y=1 se e solo se x1≠x2 XNOR y= x1≡x2 y=1 se e solo se x1=x2 III.9 Porte universali •Con l’insieme delle tre porte (NOT, AND, OR) può essere realizzata qualunque funzione (insieme completo); non è minimo: l’operatore AND (oppure OR) è ridondante •Le porte NAND ed NOR sono le (uniche) porte universali poiché mediante esse può essere realizzata qualunque funzione binaria III.10 Espressioni Algebriche Teor.: ogni funzione booleana è algebrica, cioè rappresentabile con un’espressione dell’algebra Prima Forma Canonica f = Σj=1..m Π i=1..n xij* • xij* vale xi oppure xi • f è espressa come OR delle combinazioni per cui la funzione è vera (somma di mintermini) Qualsiasi funzione booleana può essere messa in questa forma III.11 Funzioni Booleane (Esempio) ES • Tre variabili booleane A, B, C • Funzione di maggioranza M: è vera solo se almeno due delle tre variabili sono vere D0 D1 D2 D3 D4 D5 ABC D6 ABC D7 ABC ABC M = ABC + ABC + ABC + ABC 111 111 111 111 D3 D5 D6 D7 III.12 Funzioni Booleane (Esempio) ES •Tre variabili booleane A, B, C •Funzione di maggioranza M: Consente di operare la sintesi di una qualsiasi funzione logica con una tecnica a due livelli, un primo livello di porte AND ai cui ingressi pervengono le variabili di ingresso (dirette o negate) ed un secondo livello di OR a cui pervengono le uscite delle porte AND del primo livello. M = ABC + ABC + ABC + ABC III.13 Circuiti Logici • Porte Logiche: circuiti elementari che realizzano gli operatori dell’algebra Qualsiasi funzione booleana può essere calcolata con un circuito realizzato con sole porte AND, OR e NOT • Le porte logiche vengono realizzate con circuiti elettronici: NOT NAND NOR III.14 Circuiti Logici •Una porta logica e’ un dispositivo con N ingressi ed una uscita che realizza un legame tra il valore logico presente all’uscita e quelli presenti all’ingresso, esprimibile tramite una funzione logica elementare NOT NAND NOR III.15 Circuiti Logici •La porta AND con due ingressi e’ particolarmente importante perchè consente di controllare il trasferimento dei bit di informazione: ad esempio scegliendo di affidare questa funzione all’ingresso B, si può affermare che l’uscita Y assume lo stesso valore dell’ingresso A quando B vale 1. A B Y 0 0 0 0 1 0 1 0 0 1 1 1 III.16 Circuiti Logici: (Esempio) (Funzione di Maggioranza) M = ABC + ABC + ABC + ABC III.17 Circuiti Logici: (Esempio) (Funzione di Maggioranza) Invia alla sua unica uscita il valore logico presente nell’i-esimo dei suoi 2n ingressi selezionato dal valore i codificato in N ulteriori ingressi di controllo III.18 Circuiti Logici: (Esercizio) 1)Data una rappresentazione delle cifre decimali (0...9) in cui 0 è codificato come 0000, 1 come 0001, 2 come 0010 ,..., 9 come 1001, scrivere la tabella di verità della funzione di commutazione che è vera quando la cifra è compresa tra 4 e 6, estremi inclusi. Fornire il circuito logico che la calcola come somma di mintermini. III.19 Circuiti Integrati • Molte porte realizzate sulla stessa piastrina di silicio (chip) • Contenitori da 14 a 68 piedini • Vari livelli di integrazione: – SSI (Small Scale) 1-10 porte – MSI (Medium Scale) 10-100 ” – LSI (Large Scale) 102-105 ” – VLSI (Very Large Sc.) > 105 ” • Tempi di commutazione 1-20 nsec III.20 Circuiti Integrati • Quattro porte realizzate sulla stessa piastrina di silicio (chip) • Contenitori da 14 piedini: due input e un output per porta, una alimentazione e una terra • livello di integrazione: – SSI (Small Scale) 1-10 porte – il notch identifica l’orientamento III.21 Introduzione •Circuiti combinatori (o reti combinatorie) – Il valore dell’ uscita in un determinato istante dipende unicamente dal valore degli ingressi in quello stesso istante III.22 Introduzione •Circuiti sequenziali (reti sequenziali) – Il valore dell’ uscita in un determinato istante dipende sia dal valore degli ingressi in quell’istante, sia dal valore degli ingressi in istanti precedenti • Reti sincrone, asincrone… – Per definire il comportamento di un circuito sequenziale è necessario tenere conto della storia passata degli ingressi III.23 Circuiti Combinatori Circuiti in cui l’uscita dipende solo dagli ingressi, e non dallo stato cioè dalla storia passata, per esempio come nella Funzione di Maggioranza ES 2n INGRESSI CONTROLLATI n INGRESSI DI CONTROLLO …. …………... MULTIPLEXER UNA USCITA • Gli ingressi di controllo selezionano quale degli ingressi controllati viene mandato in uscita III.24 Multiplexer (circuito) Invia alla sua unica uscita il valore logico presente nell’i-esimo dei suoi 2n ingressi selezionato dal valore i codificato in N ulteriori ingressi di controllo III.25 Funzione Maggioranza come multiplexer • Tre variabili booleane A, B, C • Funzione di maggioranza M: è vera solo se almeno due delle tre variabili sono vere Riga 3 ABC Riga 5 ABC Riga 6 Riga 7 ABC ABC Le tre linee di controllo A,B,C compongono un numero a tre bit che specifica quale delle otto linee di ingresso devono essere inviate all’OR e quindi alla porta di uscita III.26 Decodificatore •Circuito a n ingressi e 2n uscite •Una ed una sola delle 2n uscite assume valore vero in corrispondenza a ciascuna delle 2n configurazioni di ingresso •La sua funzione e’ di attivare l’i-esima di 2n uscite in funzione del valore i codificato negli N ingressi III.27 Decodificatore • Esempio: in base al contenuto del registro istruzione (cioè a seconda della istruzione da eseguire) attivano le appropriate linee di comando delle altre unità ed organi del calcolatore, D0 da ABC, D1 da ABC e cosi via III.28 Comparatore 0 0 0 0 1 0 0 0 0 0 0 0 NOR gate 0 Semplice 4-bit comparatore Word A Word B. Se tutti e quattro i bit sono uguali, al NOR arrivano quattro zero,in uscita avrò zero, faccio NOR cosi da avere 1 se le word sono uguali Calcolatori Elettronici Prof. Gregorio Cosentino Semiaddizionatore (Half Adder) AND gate • Circuito a 2 ingressi e 2 uscite: somma e riporto (carry) • Non può essere usato per la somma di numerali a più bit, dove occorre sommare anche il riporto della cifra precedente III.30 ALU a 1 bit (bit slice) • A e B sono bit omologhi degli operandi • F0 e F1 segnali di controllo selezionano la funzione (00: AND), (01: OR), (10: NOT), (11: SUM) del decoder ( 00 passa linea 0,etc) • La linea passata = 1 abilita un solo and della logical unit oppure il sommatore;uscita su OR semplice • ENA ed ENB sono segnali di enable • INVA permette di negare A • Default ENA=ENB=1 e INVA=0 per non modificare in questo caso il valore di A e B, servono per altre funzioni III.31 ALU a 1 bit (bit slice) • Per realizzare una ALU ad 8 bit non devo fare altro che mettere in serie 8 ALU a 1 bit III.32 Arithmetic Logic Units (2) Otto 1-bit ALU connessi per realizzare un 8-bit ALU. I segnali di Enables e Invert non sono riportati per semplicità grafica. Il segnale INC è utile per effettuare addizioni: esso incrementa ( INC ) di 1 il risultato, rendendo possibili operazioni tipo A+1 e A+B+1 molto utili in tutti i programmi software III.33 Circuiti Sequenziali Circuiti in cui i valori delle uscite sono determinati oltre che dai valori presenti agli ingressi anche dallo STATO in cui il sistema si trova. Il concetto di STATO di una rete logica e’legato alla esistenza di ELEMENTI DI MEMORIA (Latch e Flip Flop) Y1 X1 S1,S2,S3 X2 Y2 III.34 Circuiti Sequenziali Registri • Un Registro è un elemento in grado di memorizzare, cioè di conservare nel tempo, un valore logico • Esso ammette due ( e solo due ) stati stabili che possono essere fatti corrispondere ai valori 0 ed 1 • Circuiti elettronici che realizzano questa funzione sono i Flip Flop e i Latch • Un registro da 16 bit è costituito da 16 Latch o Flip Flop • Per indicare il numero di bit contenuti in un registro si usa parlare della sua lunghezza a) b) III.35 Flip-Flop Vcc Rc + Vu - Il terminale di uscita U si trova a potenziale zero quando l’interruttore e’chiuso. A potenziale Vcc quando è aperto. Il circuito conserva lo stato zero finchè non viene azionato dall’esterno l’interruttore. Esso ricorda quello che si chiama “ bit “ III.36 Clocks (a) A clock.(b) The timing diagram for the clock.(c) Generation of an asymmetric clock. Ilclock è un circuito che emette una serie di impulsi con una precisa ampiezza e un preciso intervallo tra impulsi consecutivi, praticamente da il tempo in modo che due o più eventi “ digitali “ siano sincronizzati. Il delay produce una serie in ritardo, aumento il numero di impulsi ( b ) Se metto A in AND con B aumento ancora il numero di impulsi III.37 Latch e Flip-Flop a) b) • I Latch commutano sui livelli del clock a)alto, b)basso a) b) • I Flip-Flop commutano sui fronti del clock: a) Commuta sul fronte di salita b) Commuta sul fronte di discesa III.38 Registri • I Flip-Flop sono gli elementi base di memorizzazione nel computer • Molti Flip-Flop possono essere messi su un unico chip • Occorrono in genere da 6 a 10 transistor per ogni Flip-Flop III.39 Chip di Memoria CS n× m OE ……. CHIP DI MEMORIA log2 n LINEE INDIRIZZO WE ……. m LINEE DATI IN/OUT • Chip da n × m bit complessivi • m linee dati bidirezionali • log2 n linee di indirizzo • Segnali di controllo: – CS (Chip Select) – OE (Output Enable) – WE (Write Enable) Problema: numero limitato di piedini del contenitore III.40 Organizzazione della memoria • SIMM (Single Inline Memory Module) – 72 piedini, 32 bit, 8-16 chip, 32 MByte – A coppie nel Pentium (bus dati 64 bit) • DIMM (Double Inline Memory Module) – 168 piedini, 64 bit, 16 chip, 128 MByte • Il controller gestisce più SIMM (o DIMM) • Ogni SIMM informa il controller della sua dimensione (segnali su certi piedini) • Il controller determina al momento del boot il tipo di RAM. • Dall’indirizzo e dalla configurazione il controller calcola a quale SIMM mandare il segnale di Chip Select III.41 Tassonomia delle RAM e ROM • • • • SRAM (Static RAM): a Flip-Flop, molto veloce (~5nsec) si mantengono stabili nel tempo molto usate come cache di secondo livello • DRAM (Dynamic RAM): • basata su capacità parassite; richiede refresh, alta densità, basso costo, poco veloce (~20 nsec) • La memorizzazione del bit è affidata invece alla presenza o meno di una quantità di carica elettrica in un condensatore • Usano meno componenti • Usate per le memorie centrali III.42 Tassonomia delle RAM Memorie volatili Il contenuto rimane in memoria sino a quando c’è alimentazione elettrica •RAM (Random Access Memory) •SRAM (Static RAM): a Flip-Flop, molto veloce (~5nsec) •DRAM (Dynamic RAM): basata su capacità parassite ( condensatori ); richiede refresh, alta densità, basso costo, ma lenta (~20 nsec) •SDRAM (Synchronous DRAM) – Sincrona, comandata dal clock principale e non dai segnali di controllo, velocizza lo scambio dati tra memoria e CPU •DDR RAM (Double Data Rate Ram) – velocizza le SDRAM perchè lavora sia sui fronti di salita che di discesa del clock III.43 Memorie non volatili Il contenuto rimane in memoria anche in assenza di alimentazione elettrica •ROM (Read Only Memory, i dati sono inseriti in memoria direttamente dal produttore,non si possono cambiare- per es. firmware- ) •PROM (Programmable ROM, come le Rom, solo che può essere riprogrammata) •EPROM (Erasable PROM, può essere sia riprogrammata che cancellata per essere riusata) raggi UV •EEPROM: come la EPROM ma cancellabile elettricamente, invece che inserirla nella camera di esposizione UV •Flash Memory: tipo di EEPROM, ciclo 100nsec, max 100.000 riscritture III.44 Nonvolatile Memory Chips Sommario dei vari tipi di memoria III.45 Esempio di SRAM Ingresso Indirizzi Uscita Controllo III.46 SDRAM SIMM DDR III.47 Pinout Logico del µP Significato dei vari Pin • Indirizzamento • Dati • Controllo – Controllo del ciclo di bus – Gestione delle interruzioni – Arbitraggio del bus – Gestione del coprocessore – Segnalazione di stato – Vari (alimentazione etc.) III.48 Pinout Logico del µP Significato dei vari Pin • due dei parametri chiave che determinano le performance della CPU sono il numero degli address pin e dei data pin • un chip con m address pin può indirizzare 2m locazioni di memoria •Un chip con n data pin può leggere e scrivere una n-bit word in una singola operazione ( se n=8 faccio 4 operazioni per leggere una word di 32 bit ) •Oggi sia m che n valgono 32 o 64 III.49 Bus • Il trasferimento dei bit di informazione tra le varie parti di un calcolatore avviene tramite collegamenti elettrici chiamati BUS, caratterizzati da diverse larghezze, clock, arbitraggio e modalità operative (non solo Read/Write, per semplificare ) III.50 Architettura a più Bus • Diversi bus, interni ed esterni al chip • Soddisfano diverse esigenze: – Velocità di trasferimento – Numero di linee – Più trasferimenti paralleli – Compatibilità all’indietro • Nei primi PC c’era un unico bus • Negli attuali PC almeno tre bus esterni III.51 ‘Larghezza’ del Bus • Larghezza = numero di linee su cui trasmetto in parallelo i bit • Linee dati: banda di trasferimento • Linee indirizzo: dimensione dello spazio (di memoria) indirizzabile, 2n locazioni con n bit di indirizzo Problema: al crescere del numero di linee aumenta il bus skew (differenza nella velocità di propagazione dei segnali sulle diverse linee del bus); più il bus è veloce più il problema diventa serio Soluzione: multiplexamento di più segnali (indirizzi e dati ) sulla stessa linea, riduco il numero di linee ma rallento il sistema III.52 Utilizzo del BUS •Bisogna stabilire un insieme di regole (protocollo) per regolamentare la transazioni •Uno dei due partner di una transazione si chiama master del bus, mentre l’altro slave •Il master inizia una transazione mentre lo slave esegue gli ordini forniti dal master Ex: la CPU (master) ordina la lettura di un dato dalla memoria (slave) •Lo stesso dispositivo può svolgere il ruolo sia di master che di slave (in cicli differenti) •Se più di un dispositivo collegato al bus può svolgere funzione di master, allora è richiesto un ulteriore protocollo (arbitraggio del bus) per assegnare in modo esclusivo la funzione di master per coordinare la III.53 transazione Comunicazione sul Bus • La comunicazione sul bus è regolata da un protocollo di bus, fondamentale per chi costruisce schede o periferiche • In ciascun ciclo comunicano due soli dispositivi il master e lo slave • Lo stesso dispositivo può avere ruoli diversi a seconda dei casi • I dispositivi sono connessi al bus tramite un bus transceiver ( bus driver per il master e bus receiver per lo slave ) III.54 Arbitraggio del Bus •Permette di decidere quale dispositivo sarà il prossimo Bus Master risolvendo eventuali conflitti (cosa succede se due o più dispositivi vogliono diventare Master del bus contemporaneamente?) •Spesso l’arbitro è nel chip del µP •Linea di richiesta condivisa •Il Bus grant = concessione è propagato dall’arbitro in una daisy chain •Viene intercettato dal futuro master NB: Favoriti i dispositivi situati vicino all’arbitro III.55 Arbitraggio del BUS daisy chain •Server per decidere il master della nuova transazione •Deve risolvere i conflitti nel caso di richieste contemporanee da parte di più dispositivi per diventare master •Una tecnica comune è daisy chain: si interrogano i dispositivi in ordine a partire da 1 (poi 2, 3, ...) •Il dispositivo i è avvantaggiato rispetto ad i+1 III.56 Gestione delle Interruzioni • Quando la CPU invia un ordine ad un dispositivo di I/O, solitamente si aspetta un INTERRUPT quando il lavoro è terminato. • La segnalazione di interrupt richiede il bus. • Esistono dei chip standard che realizzano il “controllore” degli interrupt, tipo INTEL 8259 A per i PC III.57 Gestione delle Interruzioni • Chip controllore di interruzioni Intel 8259A usato dal PC IBM e successori • Gestisce 8 linee di interrupt – INT: interruzione inviata alla CPU – INTA: aknowledge della CPU – Vettore di Interrupt passato sul Bus – IR0-IR7: linee di interrupt sul Bus • Il vettore di interrupt è usato dalla CPU per saltare alla relativa routine che dovrà gestire lo specifico interrupt • Registri all’interno del chip scrivibili dalla CPU per programmare lo 8259A III.58 Gestione delle Interruzioni • Nei vecchi sistemi la memoria stava sullo stesso bus degli I/O, e quindi anche la CPU doveva “ competere “. • Alla CPU veniva assegnata la più bassa priorità, perché per esempio un disco con alta velocità di rotazione non poteva aspettare • Come soluzione la memoria è connessa alla CPU su un bus diverso degli I/O III.59 Il Bus ISA del PC/AT o X L dT N A E T w • ISA (Industry Standard Architecture) derivato dal bus del PC/AT, ma in contrasto a IBM • 16 bit, compatibile con il bus del PC /AT di IBM a 62 linee • 62+36 linee: 16 dati e 24 indirizzi • Edge Connectors (molto economici) • Tutt’oggi presente in tutti i PC per l’uso di carte legacy • Sincrono a 8.33 MHz: 16.7 MB/sec, fortemente insufficiente per la grafica • Estensione EISA 32 bit di poco successo III.60 Il Bus PCI: specifiche • PCI (Peripheral Component Interconnect) • Introdotto da Intel per applicazioni video, successore di ISA • Video 1024×768×3 Byte a 30 frame/sec richiede una banda di 67.5 MB/sec • Standard non proprietario, adottato da molti, (ma Intel vende i chip di gestione…) • Versione base a 32 bit, 33 MHz: 133 MB/sec • Estensione a 64 bit e 66 MHz: 528 MB/sec • E NONOSTANTE QUESTA BANDA SI DIMOSTRO’ INSUFFICIENTE COME BUS PER LE SEMPRE PIU’ VELOCI MEMORIE • E POI RIMANEVA IL PROBLEMA DELLA COMPATIBILITA’ ALL’INDIETRO CON ISA !!!!! III.61 Il Bus PCI: specifiche • E NONOSTANTE QUESTA BANDA SI DIMOSTRO’ INSUFFICIENTE COME BUS PER LE SEMPRE PIU’ VELOCI MEMORIE • E POI RIMANEVA IL PROBLEMA DELLA COMPATIBILITA’ ALL’INDIETRO CON ISA !!!!! • Local Bus e Memory Bus separati (più veloci) • Connessione tramite chip Intel PCI bridge, che collega CPU, MEM e BUS PCI • ISA Bridge, chip Intel che collega il bus PCI al Bus ISA e include doppio controller IDE • Controllori addizionali SCSI e USB • Varie opzioni di tensione (5 V e 3.3 V) • Carte con 120 e 120+64 contatti • Linee indirizzo e dati multiplexate • AGP bus Accellerated Graphics Port bus • Le velocità non bastano mai, arriva PCI Express III.62 Esempio di bus in un PC BUS ADAPTER MEMORIA SCHEDA GRAFICA DISCHI BUS ADAPTER III.63 PCI Bus 1 Back Side Bus Front Side Bus Architettura dei primi sistemi Pentium. I bus più spessi indicano maggiore ampiezza di banda, ma non sono in scala. Si noti la cache bus. Calcolatori Elettronici Prof. Gregorio Cosentino Il Bus PCI: arbitraggio • • • • • Arbitraggio centralizzato (nel Bridge) Ogni PCI device ha due linee dedicate Il device fa la richiesta tramite REQ# Il grant viene concesso tramite GNT# Diversi algoritmi di arbitraggio: – Round Robin, con una lista dove il primo servito passa poi ultimo della lista, e cosi via – Priorità – Altro • Transazioni su più cicli separate da cicli di idle III.65 PCI Bus 2 Struttura del Bus per un moderno Pentium 4. Sparita la cache bus, appare AGP bus. Calcolatori Elettronici Prof. Gregorio Cosentino PCI Express Un tipico sistema con PCI Express. Il Bridge lavora come per PCI. Il concetto di switch è quello delle reti locali LAN Calcolatori Elettronici Prof. Gregorio Cosentino BUS Esercizio Nelle architetture odierne dei personal computer si trovano più bus. Illustrare i principali bus utilizzati e motivare l’effettiva necessità di essi. Riportare un disegno esplicativo. Calcolatori Elettronici Prof. Gregorio Cosentino Bus USB (Universal Serial Bus) • Bus economico concordato da varie aziende per la gestione di device di I/O a bassa velocità (~ 1995) • Obiettivi: 1) Evitare switch, jumpers 2) Installazione di tipo esterno 3) Cavo di connessione unificato 4) Alimentazione fornita dal cavo 5) Fino a 127 dispositivi collegabili 6) Supporto di dispositivi real-time 7) Installazione a PC acceso 8) Reboot non necessario 9) Bus e dispositivi economici • Tutti gli obiettivi sono di fatto rispettati III.69 USB: Specifiche Fondamentali • Banda complessiva 1.5 Mb/sec (1.0) – 1.1 12 Mb/sec – 2.0 480 Mb/sec ( Vs IEEE 1394 Firewire 400Mb/sec) • Root hub di connessione al bus PCI • Connessione di dispositivi e di altri hub • Struttura complessiva ad albero con massima ramificazione di 16 • Connettori ai capi del cavo diversi • Cavo a 4 fili: +5V, GND, 2 di segnale • Alla connessione di un dispositivo: – Interrupt: intervento del Sistema Op. – Richiesta di banda – Assegnazione di indirizzo ( 0-127) • Indirizzo 0 usato per inizializzazione III.70 Chip di I/O: UART, USART e PIO •UART (Univ. Async. Receiver. Transm.) •USART (… Sync. Async. ……) •Usati in interfacce parallelo/seriale •PIO (Parallel Input/Output) Intel 8255A – Configurabile dalla CPU – 3 Porti indipendenti da 8 bit con latch – La CPU legge e scrive nei porti – Possibile gestire anche semplici protocolli di handshaking CPU-device – Per gestire device TTY-compatible III.71 Il Pentium II • Architettura a 32 bit completamente compatibile con i predecessori • Aritmetica Floating-point IEEE 754 • Bus di memoria a 64 bit • Cache 1o livello 16KB dati +16KB istr. • Cache 2o livello 512 KB nel package (a metà della frequenza della CPU) • SEC (Single Edge Cartridge) a 242 pin • Dissipa oltre 55W! III.72