Architettura degli Elaboratori 03 – Livello logico - digitale Livello logico-digitale Architettura degli Elaboratori 03 – Livello logico - digitale Pagina 2 Architettura degli Elaboratori 03 – Livello logico - digitale I circuiti digitali si basano su un piccolo numero di componenti elementari Circuito digitale =circuito in cui il valore di uscita può avere soltanto due valori (0 e 1) - il valore 0 è rappresentato da una tensione compresa tra 0 e 1 V il valore 1 è rappresentato da una tensione compresa tra 2 e 5 V La logica digitale si basa sul funzionamento del transistor in due particolari regioni della sua curva caratteristica: - saturazione - interdizione Pagina 3 Architettura degli Elaboratori 03 – Livello logico - digitale Quando la tensione in ingresso è minore di un certo valore il transistor viene disattivato e funziona come una resistenza infinita (circuito aperto) - Vout = Vcc Quando la tensione in ingresso è maggiore di un certo valore il transistor funziona come un conduttore ideale (circuito chiuso) - Vout = 0 Vin basso –> Vout alto Vin alto –> Vout basso Pagina 4 Architettura degli Elaboratori 03 – Livello logico - digitale Un singolo transistor funziona quindi come un circuito invertitore (NOT) Vin 1 0 Vout 0 1 Pagina 5 Architettura degli Elaboratori 03 – Livello logico - digitale Due transistor in serie - quando V1 e V2 sono entrambe alte, entrambi i transistor conducono e Vout sarà nulla - quando anche una sola tra V1 e V2 è bassa, il circuito è aperto e Vout sarà alta Pagina 6 Architettura degli Elaboratori 03 – Livello logico - digitale - V1 e V2 entrambe alte Vout sarà nulla - quando anche una sola tra V1 e V2 è bassa, Vout sarà alta Pagina 7 Architettura degli Elaboratori 03 – Livello logico - digitale Transistor in parallelo - se uno degli ingressi è attivato, l'uscita sarà nulla - se entrambi gli ingressi sono bassi, l'uscita sarà alta Pagina 8 Architettura degli Elaboratori 03 – Livello logico - digitale Pagina 9 Architettura degli Elaboratori 03 – Livello logico - digitale Pagina 10 Architettura degli Elaboratori 03 – Livello logico - digitale Pagina 11 Architettura degli Elaboratori 03 – Livello logico - digitale Rappresentazione delle funzioni booleane Pagina 12 Architettura degli Elaboratori 03 – Livello logico - digitale Implementazione delle funzioni booleane Pagina 13 Architettura degli Elaboratori 03 – Livello logico - digitale Rappresentazione delle funzioni booleane A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 M 0 0 0 1 0 1 1 1 ABC ABC ABC ABC M = ABC + ABC + ABC + ABC Pagina 14 Architettura degli Elaboratori 03 – Livello logico - digitale Implementazione delle funzioni booleane Pagina 15 Architettura degli Elaboratori 03 – Livello logico - digitale Implementazione delle funzioni booleane Pagina 16 Architettura degli Elaboratori 03 – Livello logico - digitale Circuiti equivalenti Pagina 17 Architettura degli Elaboratori 03 – Livello logico - digitale Circuiti equivalenti Pagina 18 Architettura degli Elaboratori 03 – Livello logico - digitale Legge di assorbimento (dimostrazione) A(A + B) = A Infatti: A(A + B) = AA + AB = A + AB = A1 + AB = A(1 + B) = A1 = A A + AB = A Infatti: A + AB = A1 + AB = A(1 + B) = A1 = A Pagina 19 Architettura degli Elaboratori 03 – Livello logico - digitale Proprietà distributiva (dimostrazione) A + BC = (A + B)(A + C) Infatti: (A + B)(A + C) = = AA + AC + AB + BC = = A(1 + C) + AB + BC = = A + AB + BC = = A(1 + B) + BC = = A + BC Pagina 20 Architettura degli Elaboratori 03 – Livello logico - digitale Teorema di De Morgan (dimostrazione) 1/2 AB = A + B Infatti: A 0 0 1 1 B 0 1 0 1 A 1 1 0 0 B 1 0 1 0 AB 0 0 0 1 AB 1 1 1 0 A + B 1 1 1 0 Pagina 21 Architettura degli Elaboratori 03 – Livello logico - digitale Teorema di De Morgan (dimostrazione) 2/2 A + B = A B Infatti: A 0 0 1 1 B 0 1 0 1 A 1 1 0 0 B 1 0 1 0 A + B 0 1 1 1 A + B 1 0 0 0 A B 1 0 0 0 Pagina 22 Architettura degli Elaboratori 03 – Livello logico - digitale Circuiti equivalenti (applicazione della legge di De Morgan) Pagina 23 Architettura degli Elaboratori 03 – Livello logico - digitale Circuiti equivalenti (applicazione della legge di De Morgan) Pagina 24 Architettura degli Elaboratori 03 – Livello logico - digitale Funzione logica XOR Pagina 25 Architettura degli Elaboratori 03 – Livello logico - digitale Funzione logica XOR Pagina 26 Architettura degli Elaboratori 03 – Livello logico - digitale Logica positiva – logica negativa (o inversa) Pagina 27 Architettura degli Elaboratori 03 – Livello logico - digitale Circuiti integrati Le porte logiche sono prodotte in unità chiamate circuiti integrati (IC) SSI MSI LSI VLSI Small Scale Integrated Medium Scale Integrated Large Scale Integrated Very Large Scale Integrated 1 – 10 porte 10 – 100 porte 100 – 100.000 porte > 100.000 porte Pagina 28 Architettura degli Elaboratori 03 – Livello logico - digitale Circuiti integrati Pagina 29 Architettura degli Elaboratori 03 – Livello logico - digitale Reti combinatorie Circuiti in cui gli output sono determinati soltanto dal valore dell'input. Nei circuiti con elementi di memoria il valore dell'output dipende anche dai valori memorizzati. Pagina 30 Architettura degli Elaboratori 03 – Livello logico - digitale Multiplexer Circuito composto da: - 2n dati di input - 1 valore di output - n input di controllo Gli input di controllo permettono di selezionare uno dei dati che viene instradato verso l'output Pagina 31 Architettura degli Elaboratori 03 – Livello logico - digitale Multiplexer Pagina 32 Architettura degli Elaboratori 03 – Livello logico - digitale Multiplexer Pagina 33 Architettura degli Elaboratori 03 – Livello logico - digitale Multiplexer (funzione di maggioranza) Pagina 34 Architettura degli Elaboratori 03 – Livello logico - digitale Decoder Pagina 35 Architettura degli Elaboratori 03 – Livello logico - digitale Comparatore Pagina 36 Architettura degli Elaboratori 03 – Livello logico - digitale PLA (Programmable Logic Array) Pagina 37 Architettura degli Elaboratori 03 – Livello logico - digitale Circuiti aritmetici (shift register) Si=Di-1C + Di+1C Shift a destra (C=1), a sinistra (C=0) Pagina 38 Architettura degli Elaboratori 03 – Livello logico - digitale Circuiti aritmetici (sommatori) Pagina 39 Architettura degli Elaboratori 03 – Livello logico - digitale Circuiti aritmetici (half adder) Pagina 40 Architettura degli Elaboratori 03 – Livello logico - digitale Circuiti aritmetici (full adder) Pagina 41 Architettura degli Elaboratori 03 – Livello logico - digitale ALU (Arithmetic Logic Unit) Pagina 42 Architettura degli Elaboratori 03 – Livello logico - digitale ALU (Arithmetic Logic Unit) Pagina 43 Architettura degli Elaboratori 03 – Livello logico - digitale Clock Circuito che emette una serie di impulsi di larghezza definita a intervalli di tempo costanti. Introducendo un ritardo è possibile dividere il ciclo di clock in sotto-cicli. Pagina 44 Architettura degli Elaboratori 03 – Livello logico - digitale Clock Pagina 45 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Latch SR - caso S = R = Q = 0 Q=1 stato stabile Pagina 46 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Latch SR - se S = 0, R = 0, Q = 0 stato stabile - se S = 0, R = 0, Q = 1 stato stabile Pagina 47 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Latch SR - se S = 1, R = 0, Q=0 stato di Q passa da 0 a 1! Q=0 lo - se S = 0, R = 1, Q = 0 non si modifica lo stato - se S = 0, R = 1, Q = 1 lo stato di Q passa da 1 a 0! Pagina 48 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Latch SR (riassunto) S 0 0 0 0 1 1 1 1 R 0 0 1 1 0 0 1 1 Q 0 1 0 1 0 1 0 1 Q* 0 1 0 0 1 1 - Pagina 49 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Latch SR temporizzato Pagina 50 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Latch D temporizzato Pagina 51 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Flip – Flop Pagina 52 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Flip – Flop Pagina 53 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Latch D Flip – Flop Pagina 54 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Flip – Flop CLR PR setta Q = 0 setta Q = 1 Pagina 55 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Flip – Flop Pagina 56 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Esempio di memoria 4x3 8 linee di input: - I0, I1, I2 - A0, A1 - CS (chip sel) - RD (read dis) - OE (output ena) 3 linee di output: - O0, O1, O2 Pagina 57 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Esempio di memoria 4x3 Lettura: CS and RD = 1 Scrittura: CS and RD = 0 I flip-flop cambiano stato quando il segnale presenta un fronte in salita Pagina 58 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Buffer non invertente (interruttore) Circuito chiuso se controllo = alto: Circuito aperto se controllo = basso: Pagina 59 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Pagina 60 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Pagina 61 Architettura degli Elaboratori 03 – Livello logico - digitale Memoria Pagina 62 Architettura degli Elaboratori 03 – Livello logico - digitale Memorie RAM - statiche: costruite mediante flip-flop D e mantengono il contenuto se il circuito è alimentato (SRAM) Tempo di accesso: pochi ns - dinamiche: costruite con un transistor e un condensatore per ogni bit e devono essere “ricaricate” (refresh) ogni pochi millisecondi (DRAM) Tempo di accesso: decine di ns Pagina 63 Architettura degli Elaboratori 03 – Livello logico - digitale Memorie RAM Tipologie di DRAM - FPM (fast page mode) Vengono forniti gli indici di riga e colonna; la memoria Risponde in base al base di un segnale (memoria asincrona rispetto al clock di sistema) - EDO (extended data output) Un riferimento in memoria può iniziare prima della fine del precedente. Aumenta l'ampiezza di banda della memoria Pagina 64 Architettura degli Elaboratori 03 – Livello logico - digitale Memorie RAM Tipologie di DRAM - SDRAM (Synchronous DRAM) Ibrida (statica + dinamica), guidata dal clock di sistema - DDR (Double Data Rate) Il chip produce un output durante il fronte di salita del segnale di clock e uno durante il fronte di discesa Pagina 65 Architettura degli Elaboratori 03 – Livello logico - digitale Memorie ROM Memorie non modificabili (dopo la memorizzazione dei programmi e/o dei dati installati) - PROM (Programmable ROM) Programmabile una sola volta - EPROM (Erasable PROM) Le informazioni (dati e programmi) possono essere cancellati (mediante esposizione a luce UV) Pagina 66 Architettura degli Elaboratori 03 – Livello logico - digitale Memorie ROM - EEPROM (Electrically erasable PROM) Cancellabili elettricamente (e senza necessità di rimozione dal circuito). 10 volte più lente, 100 meno capienti, più costose - Flash (cancellabile e riscrivibile a blocchi) Pagina 67 Architettura degli Elaboratori 03 – Livello logico - digitale Memorie Pagina 68 Architettura degli Elaboratori 03 – Livello logico - digitale Chip della CPU Le CPU moderne sono contenute in un unico chip Ogni chip presenta un insieme di pin per lo scambio di: - indirizzi - dati - controlli Per il prelievo di un'istruzione: - la CPU ne imposta l'indirizzo sui pin di indirizzamento - asserisce una linea di controllo (informa la memoria) - la memoria invia la parola richiesta sui pin dati - la memoria asserisce una linea di controllo di notifica - la CPU accetta la parola ed esegue l'istruzione Pagina 69 Architettura degli Elaboratori 03 – Livello logico - digitale Chip della CPU Le prestazioni di una CPU sono condizionate dal numero di pin (in particolare degli indirizzi e dei dati): - m pin di indirizzo consentono di indirizzare fino a 2m locazioni di memoria (m = 16, 20, 32, 64) - n pin di dati consentono di leggere/scrivere in un'unica operazione una parola di n bit. Una CPU con 8 pin dati leggerà una parola di 32 bit in 4 operazioni, ad una CPU con 32 pin dati sarà necessaria una sola operazione Pagina 70 Architettura degli Elaboratori 03 – Livello logico - digitale Chip della CPU I pin di controllo servono per: - alimentazione (3.3V oppure 5V) - collegamento di terra - segnale di clock E ancora: - controllo del bus - interrupt - arbitraggio del bus - comunicazione con il coprocessore - stato - altri usi Pagina 71 Architettura degli Elaboratori 03 – Livello logico - digitale Chip della CPU Pagina 72 Architettura degli Elaboratori 03 – Livello logico - digitale Chip della CPU Controllo bus: - segnali per informare che la CPU vuole leggere/scrivere dalla memoria Interrupt: - input dalle periferiche di I/O Arbitraggio bus: - regolazione traffico sul bus Coprocessore: - gestione di dispositivi aggiuntivi di calcolo (FPU, GPU, …) Pagina 73 Architettura degli Elaboratori 03 – Livello logico - digitale Bus del computer collegamento elettrico per unire più dispositivi - interni alla CPU Per le comunicazioni da/per la ALU - esterni alla CPU Per i collegamenti con la memoria e i dispositivi di I/O Pagina 74 Architettura degli Elaboratori 03 – Livello logico - digitale Bus del computer Pagina 75 Architettura degli Elaboratori 03 – Livello logico - digitale Bus del computer (esterni) Non esiste uno standard. Nel corso degli anni: - Omnibus (PDP-8) - Unibus (PDP-11) - Multibus (8086) - PC IBM (XT) - ISA (PC/AT) - EISA (80386) - Microchannel (PS/2) - PCI - SCSI - USB (Universal Serial Bus) - FireWire Pagina 76 Architettura degli Elaboratori 03 – Livello logico - digitale Bus del computer (esterni) Le periferiche si distinguono in: - master (attive) - slave (passive) Questa definizione cambia al cambiare delle situazioni: - la CPU ordina al controller disco di leggere/scrivere (CPU master – controller slave) - il controller comunica alla memoria di accettare le parole lette (controller master – memoria slave) Pagina 77 Architettura degli Elaboratori 03 – Livello logico - digitale Bus del computer (esterni) Pagina 78 Architettura degli Elaboratori 03 – Livello logico - digitale Bus del computer (esterni) Driver del bus: Amplificatore del segnale proveniente dalla periferica - ricevitore del bus (dispositivi slave) ricevitore – trasmettitore del bus (dispositivi master/slave) Pagina 79 Architettura degli Elaboratori 03 – Livello logico - digitale Bus del computer (esterni) Pagina 80 Architettura degli Elaboratori 03 – Livello logico - digitale Bus del computer (esterni) Come aumentare le prestazioni di un bus: - diminuire il periodo di clock sul bus - aumentare la larghezza dei dati del bus - aumentare la velocità del bus Problemi: - disallineamento del bus: differenti velocità sulle differenti linee - retro - compatibilità Soluzioni: - bus multiplexato Pagina 81 Architettura degli Elaboratori 03 – Livello logico - digitale Bus del computer (esterni) Pagina 82 Architettura degli Elaboratori 03 – Livello logico - digitale Esempio di bus sincrono T1 = T2 = T3 = 10 ns (clock a 100 Mhz) Tempo di lettura della memoria: 15 ns MREQ: richiesta di accesso alla memoria RD: lettura/scrittura WAIT: attesa (completamento operazione) Pagina 83 Architettura degli Elaboratori 03 – Livello logico - digitale Esempio di bus sincrono Pagina 84 Architettura degli Elaboratori 03 – Livello logico - digitale Esempio di bus sincrono (conclusioni) - (relativamente) semplice - qualsiasi operazione richiede un numero intero di cicli di clock - il bus deve essere regolato alla velocità della periferica più lenta - non si tiene conto dei miglioramenti tecnologici (per esempio, memorie più veloci) Pagina 85 Architettura degli Elaboratori 03 – Livello logico - digitale Esempio di bus asincrono Pagina 86 Architettura degli Elaboratori 03 – Livello logico - digitale Esempio di bus asincrono MSYN: SSYN: - master synchronization slave synchronization quando il master deve operare asserisce MREQ, RD, MSYN lo slave vede il segnale, opera e asserisce SSYN il master vede SSYN asserito, legge i dati, nega MREQ, RD, MSYN lo slave vede MSYN negato (ciclo completo) e nega SSYN (full handshake) Pagina 87 Architettura degli Elaboratori 03 – Livello logico - digitale Arbitraggio del bus - la CPU non è l'unico master del bus (anche i chip di I/O lo sono) - quando due o più dispositivi vogliono diventare master si richiede una qualche forma di arbitraggio Pagina 88 Architettura degli Elaboratori 03 – Livello logico - digitale Arbitraggio del bus (centralizzato) Pagina 89 Architettura degli Elaboratori 03 – Livello logico - digitale Arbitraggio del bus (decentralizzato) Pagina 90 Architettura degli Elaboratori 03 – Livello logico - digitale Operazioni del bus (lettura di più parole) Pagina 91 Architettura degli Elaboratori 03 – Livello logico - digitale Operazioni del bus (gestione interrupt) - I8259A asserisce INT appena può, la CPU asserisce INTA (interrupt acknowledge) I8259A specifica l'origine dell'interrupt tramite il bus dati Pagina 92 Architettura degli Elaboratori 03 – Livello logico - digitale Pentium 4 - introdotto nel 2000 1,5 Ghz 42 milioni di transistor larghezza di linea 0,18 micron ultima versione - 3,2 Ghz 55 milioni di transistor larghezza di linea 0,09 micron Pagina 93 Architettura degli Elaboratori 03 – Livello logico - digitale Pentium 4 - software a 32 bit interamente compatibile con: - 80386 - 80486 - Pentium - Pentium II - Pentium Pro - Pentium III - parzialmente a 64 bit (scambio CPU – memoria) pipeline più articolata due ALU hyperthreading (doppio insieme di registri) Pagina 94 Architettura degli Elaboratori 03 – Livello logico - digitale Pentium 4 - cache SRAM (L1) di 8KB Fino a 12.000 micro – operazioni decodificate - cache L2 di 1 MB Contiene dati e istruzioni (non decodificate) - cache L3 di 2 MB (solo Extreme Edition) - snooping in caso di multi – processore - bus (sincrono) per la memoria (SDRAM) bus (sincrono) PCI - potenza assorbita: 63 – 82 W Pagina 95 Architettura degli Elaboratori 03 – Livello logico - digitale Pentium 4 - griglia quadrata 26 x 26 (interna 14 x 14) 478 pin (85 alimentazione, 180 terra) Pagina 96 Architettura degli Elaboratori 03 – Livello logico - digitale Pentium 4 Pagina 97 Architettura degli Elaboratori 03 – Livello logico - digitale Pentium 4 (pipeline sul bus di memoria) - il bus di memoria è strutturato a pipeline (fino a 8 transazioni contemporanee) - le richieste di memoria sono divise in 6 stadi: - arbitraggio del bus - richiesta - segnalazione errore - snooping (solo multiprocessore) - risposta - dati Pagina 98 Architettura degli Elaboratori 03 – Livello logico - digitale Pentium 4 (pipeline sul bus di memoria) Pagina 99 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PC IBM - standard de facto dei sistemi 8088 - 62 linee di segnali - 20 indirizzi memoria - 8 dati - asserimento lettura/scrittura memoria - asserimento lettura/scrittura periferiche Pagina 100 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PC IBM Pagina 101 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PC IBM Estensioni AT - 36 linee: - 31 indirizzi - dati - interrupt - canali DMA - alimentazione, GND - differenze tra trasferimenti 8 bit / 16 bit Pagina 102 Architettura degli Elaboratori 03 – Livello logico - digitale Bus ISA (Industry Standard Architecture) - bus PC IBM (8,33 Mhz di clock) - estensione a 32 bit (per gli indirizzi) EISA - supporto multiprocessori Pagina 103 Architettura degli Elaboratori 03 – Livello logico - digitale Bus ISA (Industry Standard Architecture) ISA: - frequenza di clock 8,33 Mhz - trasferimento 2 B per ciclo - ampiezza di banda: 16,7 MB/s EISA: - frequenza di clock 8,33 Mhz - trasferimento 4 B per ciclo - ampiezza di banda: 33,3 MB/s Pagina 104 Architettura degli Elaboratori 03 – Livello logico - digitale Bus ISA (Industry Standard Architecture) Necessità: - schermo 1024 x 768 pixel - colori true (3 B / pixel) - 30 frame / s - trasferimento dati di 67,5 MB/s In effetti il trasferimento è di 135 MB/s perché dal supporto (HD, CD, DVD) i dati passano in memoria e poi alla scheda video!!! Pagina 105 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI (Peripheral Component Interface) - Brevetto INTEL (1990): - - 4 B per ciclo frequenza di 33 Mhz ampiezza di banda: 133 MB/s Versione PCI 2.2: - 8 B per ciclo frequenza di 66 Mhz ampiezza di banda: 528 MB/s Pagina 106 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI (Peripheral Component Interface) Pagina 107 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI (Peripheral Component Interface) - funzionamento a 5 V (più recentemente a 3,3 V) - schede a 32/64 bit - 33/66 MHz Pagina 108 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI (Peripheral Component Interface) Fine anni '90: - abbandono del bus ISA (e relativa compatibilità) - maggiore richiesta di grafica - introduzione di un bus per le schede video (AGP, accelerated graphics port): - AGP 1.0 (264 MB/s) AGP 3.0 (2,1 GB/s) Pagina 109 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI (Peripheral Component Interface) Pagina 110 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI (Peripheral Component Interface) - bus sincrono - linee dati/indirizzi multiplexati (totale di 64 pin) - protocollo master/slave Comunicazioni: - ciclo 1: il master inserisce l'indirizzo dei dati - ciclo 2: il master rimuove l'indirizzo e il bus viene invertito (lettura) per consentirne l'uso allo slave - ciclo 3: lo slave genera i dati richiesti Pagina 111 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI (Peripheral Component Interface) Arbitraggio - acquisizione del bus ogni dispositivo PCI ha due linee dedicate (REQ# e GNT#) alla negazione di GNT# il master deve lasciare il bus Pagina 112 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI (Peripheral Component Interface) Arbitraggio - la richiesta del bus viene effettuata asserendo REQ# (da parte della periferica) la concessione del bus viene effettuata asserendo GNT# (da parte dell'arbitro) - la durata della transazione non è prefissata - la politica di arbitraggio non è fissata dallo standard PCI Pagina 113 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI (Peripheral Component Interface) Pagina 114 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI (Peripheral Component Interface) Pagina 115 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI (Peripheral Component Interface) Pagina 116 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI - T1 (fronte di discesa del clock): - indirizzo di memoria su AD - comando del bus su C/BE# - asserimento di FRAME# - T2: - rilascio indirizzo - modifica di C/BE# per indicare quali byte della parola abilitare - T3: - lo slave asserisce DEVSEL# - scrive i dati su AD - asserisce TRDY# per comunicarlo al master Pagina 117 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI Express Pagina 118 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI Express Caratteristiche - topologia a stella - connessioni seriali punto – punto - scambio di pacchetti tra dispositivo e dispositivo Pagina 119 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI Express Comunicazioni tra dispositivi - pacchetto composto da: - header (intestazione) - campo dati Confezionamento dei pacchetti: - pila di protocolli Pagina 120 Architettura degli Elaboratori 03 – Livello logico - digitale Bus PCI Express Pagina 121 Architettura degli Elaboratori 03 – Livello logico - digitale USB (Universal Serial Bus) Pagina 122 Architettura degli Elaboratori 03 – Livello logico - digitale USB (Universal Serial Bus) Caratteristiche - nessun intervento degli utenti sulle schede dei dispositivi - nessun obbligo di apertura del computer - un solo tipo di cavo per tutti i dispositivi - i dispositivi si alimentano tramite il cavo - fino a 127 dispositivi collegabili - supporto di dispositivi real-time - supporto hot-plug - economia di produzione - 1.0 (1,5 MB/s) 1.1 (12 MB/s) 2.0 (480 MB/s) Pagina 123 Architettura degli Elaboratori 03 – Livello logico - digitale USB (Universal Serial Bus) - consiste in un hub principale che: - rileva il collegamento di un nuovo dispositivo - gli assegna un numero (1 – 127) - scarica informazioni necessarie per la configurazione del dispositivo Pagina 124 Architettura degli Elaboratori 03 – Livello logico - digitale USB (Universal Serial Bus) Ad intervalli regolari (1 ms) l'hub principale invia un frame in broadcast a tutti i dispositivi (sincronizzazione) - frame: pacchetti di bit che possono viaggiare in entrambe le direzioni 4 tipi di frame: - controllo - isocrono - bulk - interrupt Pagina 125 Architettura degli Elaboratori 03 – Livello logico - digitale USB (Universal Serial Bus) Un pacchetto può essere di tipo: - - - token - SOF start of frame, - IN interrogazione al dispositivo, - OUT inizio trasmissione dati - SETUP configurazione dati - 8 bit sincronizzazione - 8 bit tipo di pacchetto (PID) - campo dati - CRC handshake (ACK, NAK, STALL) speciale Pagina 126 Architettura degli Elaboratori 03 – Livello logico - digitale USB (Universal Serial Bus) Pagina 127