Calcolatori Elettronici L A Prova scritta del 20/12/ 02

Documenti analoghi
Calcolatori Elettronici L A Prova scritta del 15/12/ 03

Pin-out logico di una CPU CPU. Reset Clock Ready. Architettura di un Sistema

Sistemi di Elaborazione: esercizio con il D12

Esercizio I-DLX. Calcolatori Elettronici L-A

ARCHITETTURA A LIVELLO DI SISTEMA. Interfaccia standard nei microprocessori I segnali esterni dei microprocessori 8088 e 8086

Calcolatori Elettronici T Ing. Informatica. Traccia soluzione 18 Luglio 2019

Principali periferiche

Il sottosistema di I/O

ISA DLX: Implementazione Tramite Struttura Sequenziale

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Calcolatori Elettronici T Ing. Informatica. Traccia soluzione 9 Giugno 2016

Fondamenti di Informatica P2 Ing. Meccatronica. Traccia soluzione 27 Giugno 2019

Calcolatori Elettronici T Ingegneria Informatica 06 Programmable Interrupt Controller (PIC)

Calcolatori Elettronici T Ing. Informatica. Traccia soluzione 8 Gennaio 2015

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

CALCOLATORI ELETTRONICI. I dispositivi di memoria

CALCOLATORI ELETTRONICI 9 settembre 2011

Calcolatori Elettronici T Ingegneria Informatica. DLX: implementazione sequenziale

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

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo

CPU pipeline hazards

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

CALCOLATORI ELETTRONICI 25 giugno 2018

Richiamo: Interfacce di I/O

Input Output digitale

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)

Interruzioni (1) Periferiche I/O 2 1

Esercitazione del 10/05/ Soluzioni

CALCOLATORI ELETTRONICI 15 luglio 2014

Esercizio II-DLX. Calcolatori Elettronici L-A

Interruzioni (1) Interruzioni (2)

CALCOLATORI ELETTRONICI 14 giugno 2010

Calcolatori Elettronici T Ing. Informatica. Traccia soluzione 15 Febbraio 2017

CIRCUITI INTEGRATI DI INTERFACCIA

Architetture moderne

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo. Classificazione. I microcontrollori

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

CALCOLATORI ELETTRONICI 30 agosto 2010

BIU - Bus Interface Unit. EU - Execution Unit. indipendente e asincrono: Costituito da due unità che operano in modo parzialmente

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

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

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

cpu CONTROLLORI DI I/O ADDRESS BUS CONTROL BUS DATA BUS D[0:7] dec CS# RD# WR# A0,..An RESET ...?

Corso di Laurea in Informatica

Input/Output. Input/Output

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

Architettura del Calcolatore

Capitolo 5 Elementi architetturali di base

Elementi di informatica

Calcolatori Elettronici T. Input/Ouput

Con riferimento al funzionamento dei bus di un calcolatore: tracciare e illustrare il diagramma di temporizzazione di un

Componenti principali

Esercitazione del 05/05/ Soluzioni

Esercitazione 06 Progettazione di una CPU RISC-V

Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Corso di Laurea in Informatica Architetture degli Elaboratori

CALCOLATORI ELETTRONICI 29 giugno 2015

Instruction Level Parallelism Andrea Gasparetto

Macchina di von Neumann

ISA DLX: Implementazione Tramite Struttura Sequenziale

Una CPU multi-ciclo. Sommario

Si ricorda il primo schema elementare della pipeline. che verrà indicato in modo sommario come

CALCOLATORI ELETTRONICI 27 giugno 2017

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 29 gennaio 2007

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. 27 Febbraio 2001

CALCOLATORI ELETTRONICI 27 marzo 2018

PROVA SCRITTA DEL MODULO DI. CORSO DI LAUREA IN INGEGNERIA ELETTRICA ED ELETTRONICA, INGEGNERIA BIOMEDICA 14 febbraio 2017

Esercitazione del 30/04/ Soluzioni

CPU a ciclo multiplo

Calcolatori Elettronici T Ingegneria Informatica. ISA DLX: implementazione pipelined

Componenti e connessioni. Capitolo 3

Architettura della CPU multi-ciclo

Calcolatori Elettronici

CALCOLATORI ELETTRONICI II

Calcolatori Elettronici da 6CFU (CdL Ingegneria Informatica) Esame del 20 luglio 2018 tempo a disposizione: 1 ora e 25 minuti

Architettura dei calcolatori e sistemi operativi. Il processore pipeline Capitolo 4 P&H

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

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 22 giugno Attenzione:

Architettura di un calcolatore

Memorie Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano

L architettura di riferimento

Architettura di un elaboratore. Il modello di von Neumann

Soluzione Esercizio 1

Struttura hw del computer

Architettura degli elaboratori CPU a ciclo singolo

Nome Cognome, Numero Matricola: Durata Esame: 30 min

ARCHITETTURA DI UN ELABORATORE

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 7 gennaio 2008

IL SISTEMA DELLE INTERRUZIONI

CPU a ciclo multiplo

L'architettura del processore MIPS

Architettura degli elaboratori CPU a ciclo singolo

Corso di Architettura dei Calcolatori (I anno) Prova scritta finale 19 gennaio 2006

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Pre-appello del 12 Gennaio Attenzione:

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

Ciclo del Processore. Memoria

Transcript:

Nome Cognome Matricola Calcolatori Elettronici L A Prova scritta del 20/12/ 02 Esercizio N. 1 Si supponga di voler estendere il set di istruzioni del DLX con l istruzione BEQ Rx, Ry, (Rz) che confronta Rx con Ry ed esegue, in caso di uguaglianza, il trasferimento del controllo alla locazione di memoria puntata da Rz. 1.1) si mostri come potrebbe essere codificata la nuova istruzione utilizzando il più adatto tra i tre formati delle istruzioni del DLX. (1 punto) 1.2) con riferimento al datapath senza pipeline (sequenziale) del DLX visto a lezione si disegni il diagramma degli stati che controlla l esecuzione della nuova istruzione inserendo anche gli stati necessari al fetch ed alla decodifica. (4 punti) 1.3) si scriva la sequenza di istruzioni appartenenti all ISA del DLX studiata a lezione che risulta equivalente alla nuova istruzione BEQ Rx, Ry, (Rz). (4 punti) 1.4) nell ipotesi che gli stati con accesso alla memoria richiedano in tutto 2 cicli di clock (1 + 1Twait), si calcoli il numero di cicli di clock necessari alla nuova istruzione a seconda che il branch sia taken o not taken. (1 punto) Esercizio N. 2 Un sistema a microprocessore basato su 8088 a 5 MHz dispone di 32KB di Eprom (1 chip con Tacc=120 nsec, Toe = 30 nsec) agli indirizzi alti e 512KB di Ram (1 chip con Tacc=270 nsec, Toe = 160 nsec) agli indirizzi bassi. Il sistema è dotato di una interfaccia seriale 8251, di una interfaccia parallela 8255 e di un software che gestisce ad interrupt la ricezione di caratteri dalla seriale ritrasmettendoli sulla parallela. Per ipotesi, al momento della ri-trasmissione, il buffer di uscita della parallela è sempre vuoto e non è necessario eseguire il controllo del suo stato prima della scrittura. 2.1) disegnare lo schema del sistema e progettare il circuito per la generazione del segnale di READY nell ipotesi che le periferiche di I/O non richiedano Twait. (5 punti) 2.2) scrivere le espressioni di selezione semplificate delle memorie e dei dispositivi di I/O. (3 punti) 2.3) descrivere sommariamente, entro 1/2 facciata, le operazioni svolte dal software dal momento in cui la seriale ha ricevuto un carattere fino a che esso non è stato inviato alla periferica collegata all 8255. (3 punti) Esercizio N. 3 3.1) descrivere, giustificando la risposta, quali condizioni devono essere soddisfatte affinché una CPU possa eseguire una istruzione per ogni ciclo di clock. (4 punti) 3.2) descrivere le tecniche per la gestione delle alee di dato. (4 punti) 3.3) descrivere i meccanismi di gestione a polling e interrupt delle interfacce di I/O e spiegare in quali casi sia più opportuno usare l uno o l altro. (4 punti) CONSEGNARE ANCHE IL TESTO ASSIEME ALL ELABORATO Durante il compito non si può uscire dopo le ore 11:00 Consegnando un elaborato per la correzione decade la validità del voto precedente Correzione dopo il 12/1/03; registrazione durante sessione primaverile I risultati, appena disponibili, saranno pubblicati in Segreteria e sul sito http://www.ingce.unibo.it selez. il proprio C.d.L. piano degli studi Calcolatori Elettronici L A

SOLUZIONE del compito di Calcolatori Elettronici L A del 20/12/ 02 1.1) L unico formato dell ISA DLX che permette l indirizzamento di tre registri è il formato R, mostrato qui di seguito con un esempio di codifica dell istruzione. R 1.2) L istruzione BEQ Rx, Ry, (Rz) prevede la sostituzione del PC calcolato al primo passo con il contenuto del registro Rz, appartenente al register file, se Rx = Ry (anch essi del r.f.). Nella sintassi dell istruzione, (Rz) è indicato tra parentesi per sottolineare il suo ruolo di puntatore alla cella della nuova area di memoria da cui prelevare codice nel caso in cui il branch fosse taken. Se invece non si verifica la condizione, allora il PC resta al valore incrementato dopo il primo stato che punta all istruzione successiva. Viene proposto uno dei possibili diagrammi degli stati che implementano questa istruzione: 1.3) Una possibile sequenza di istruzioni contenute nell ISA DLX visto a lezione che implementi BEQ Rx, Ry, (Rz) è: SEQ Rk, Rx, Ry BEQZ Rk, nosalto J Rz nosalto: 1.4) CPI per branch taken = 6 CPI per branch not taken = 4 OpCode (6bit) Rs1 (5bit) Rs2 (5bit) Rd (5bit) Code ext. (11bit) 2.1) T=18ns, T245=10ns, Tpal=30ns Clock di sistema a 5 MHz: Tclcl=200ns, Tclav=110ns, Tclrl=165ns, Tdvcl=30ns RAM: Tacc=270ns, Toe=160ns EPROM: Tacc=120ns, Toe=30ns 110+18+30+270+10+30 = 468 110+18+30+120+10+30 = 318 (3+n) 200 max verificate per n=0: 0 Tw (3+n) 200 max verificate per n=0: 0 Tw 200+165+160+10+30 = 565 200+165+30+10+30 = 435 Vedere schema per il circuito del ready e la connessione delle periferiche e delle memorie al bus di sistema. 2.2) Espressioni di selezione semplificate memorie: CSE0 = BA19!IO/M# CSR0 =!BA19!IO/M# periferiche di I/O: CS8251 =!BA15!BA14 IO/M# CS8255 =!BA15 BA14 IO/M# CS8259 = BA15 IO/M# BEQ Rx Ry Rz inutilizzati PC PC + 4 A Rs1 B Rs2 2.3) Quando l 8251 richiede il servizio dell interrupt va in esecuzione la routine corrispondente che dopo aver salvato i sullo stack un registro di appoggio, eseguirà una istruzione IN di lettura all indirizzo della porta di I/O a cui è stata mappata la seriale ed una istruzione OUT di scrittura all indirizzo della porta di I/O a cui è stata mappata la parallela. A seguito della OUT verrà ripristinato dallo stack il valore precedentemente contenuto nel registro usato come appoggio tra la IN e la OUT. Infine l istruzione IRET riporterà il controllo al punto in cui il programma principale era stato interrotto. 3.1) Per completare una istruzione per ogni ciclo di clock la CPU deve essere realizzata con la tecnica della pipeline che deve trovarsi a regime (cioè deve essere attiva almeno da K periodi di clock) e senza stalli. Il tempo di elaborazione necessario allo stadio più lento della pipeline deve essere minore o uguale al periodo di clock della corrispondente CPU non-pipelined. Ciò implica l implementazione di una pipeline bilanciata (cioè scomposta in stadi che si suddividono equamente il carico computazionale) il cui fattore di speed-up rispetto alla corrispondente implementazione sequenziale sia pari al numero degli stadi K in cui quest ultima è stata scomposta per realizzare la pipeline. 3.2) Le tecniche viste in questo corso per gestire le alee di dato nelle CPU con pipeline sono: inserimento degli stalli per mezzo di HDU, la tecnica del Forwarding e la tecnica del Delayed Load (vedere dispense per la descrizione). 3.3) L uso del Polling è conveniente rispetto all Interrupt quando la periferica è in grado di scambiare dati velocemente, rispetto al massimo data-transfer rate supportato dal µp. Viceversa interrogare a Polling una periferica che si prevede non- pronta per la maggioranza dei casi, comporta un notevole spreco di tempo e diventa più conveniente la gestione ad Interrupt, nonostante un singolo trasferimento ad Interrupt richieda più tempo di un analogo trasferimento a Polling. ready? IR M[PC] A = B? SI A Rd PC A NO

Schema soluzione compito Calcolatori Elettronici del 20/12/ 02 BADR[0:16] BADR[0:19] MN/MX# INTA# INTR A[8:15] BA[x:19] LIO/M# PAL 22 V10 out C/D# RD# WR# OSC A0A1 RD# WR# E0 R0 READY CLK RES 8088 RD# WR# AS[16:19] IO/M# A A DT/R# DEN# RD# WR# A0 8259 INTA# INT IR 7 6 5 4 3 2 1 0 TxRDY RxRDY 8251 RESET TxC RxC 8255 A RDY CLK RES A[0:7] 245 B[0:7] F/C# ASYNC# CSYNC AEN1# AEN2# RDY2 RDY1 8284 X1 X2 RES# DIR IORD# B IOWR# MEMRD# MEMWR#

Nome Cognome Matricola Calcolatori Elettronici L A Prova scritta del 20/12/ 02 Esercizio N. 1 Si supponga di voler estendere il set di istruzioni del DLX con l istruzione BNEQ Rx, Ry, (Rz) che confronta Rx con Ry ed esegue, in caso di diseguaglianza, il trasferimento del controllo alla locazione di memoria puntata da Rz. 1.1) si mostri come potrebbe essere codificata la nuova istruzione utilizzando il più adatto tra i tre formati delle istruzioni del DLX. (1 punto) 1.2) con riferimento al datapath senza pipeline (sequenziale) del DLX visto a lezione si disegni il diagramma degli stati che controlla l esecuzione della nuova istruzione inserendo anche gli stati necessari al fetch ed alla decodifica. (4 punti) 1.3) si scriva la sequenza di istruzioni appartenenti all ISA del DLX studiata a lezione che risulta equivalente alla nuova istruzione BNEQ Rx, Ry, (Rz). (4 punti) 1.4) nell ipotesi che gli stati con accesso alla memoria richiedano in tutto 2 cicli di clock (1 + 1Twait), si calcoli il numero di cicli di clock necessari alla nuova istruzione a seconda che il branch sia taken o not taken. (1 punto) Esercizio N. 2 Un sistema a microprocessore basato su 8088 a 8 MHz dispone di 32KB di Eprom (1 chip con Tacc=120 nsec, Toe = 30 nsec) agli indirizzi alti e 512KB di Ram (1 chip con Tacc=270 nsec, Toe = 160 nsec) agli indirizzi bassi. Il sistema è dotato di una interfaccia seriale 8251, di una interfaccia parallela 8255 e di un software che gestisce ad interrupt la ricezione di caratteri dalla seriale ritrasmettendoli sulla parallela. Per ipotesi, al momento della ri-trasmissione, il buffer di uscita della parallela è sempre vuoto e non è necessario eseguire il controllo del suo stato prima della scrittura. 2.1) disegnare lo schema del sistema e progettare il circuito per la generazione del segnale di READY nell ipotesi che le periferiche di I/O non richiedano Twait. (5 punti) 2.2) scrivere le espressioni di selezione semplificate delle memorie e dei dispositivi di I/O. (3 punti) 2.3) descrivere sommariamente, entro 1/2 facciata, le operazioni svolte dal software dal momento in cui la seriale ha ricevuto un carattere fino a che esso non è stato inviato alla periferica collegata all 8255. (3 punti) Esercizio N. 3 3.1) descrivere, giustificando la risposta, quali condizioni devono essere soddisfatte affinché una CPU possa eseguire una istruzione per ogni ciclo di clock. (4 punti) 3.2) descrivere le tecniche per la gestione delle alee di dato. (4 punti) 3.3) descrivere i meccanismi di gestione a polling e interrupt delle interfacce di I/O e spiegare in quali casi sia più opportuno usare l uno o l altro. (4 punti) CONSEGNARE ANCHE IL TESTO ASSIEME ALL ELABORATO Durante il compito non si può uscire dopo le ore 11:00 Consegnando un elaborato per la correzione decade la validità del voto precedente Correzione dopo il 12/1/03; registrazione durante sessione primaverile I risultati, appena disponibili, saranno pubblicati in Segreteria e sul sito http://www.ingce.unibo.it selez. il proprio C.d.L. piano degli studi Calcolatori Elettronici L A

SOLUZIONE del compito di Calcolatori Elettronici L A del 20/12/ 02 Di seguito si troveranno solo le risposte che sono diverse da quelle per la prima versione del testo. Per le altre risposte si veda la prima soluzione. 1.2) L istruzione BNEQ Rx, Ry, (Rz) prevede la sostituzione del PC calcolato al primo passo con il contenuto del registro Rz, appartenente al register file, se Rx Ry (anch essi del r.f.). Nella sintassi dell istruzione, (Rz) è indicato tra parentesi per sottolineare il suo ruolo di puntatore alla cella della nuova area di memoria da cui prelevare codice nel caso in cui il branch fosse taken. Se invece non si verifica la condizione, allora il PC resta al valore incrementato dopo il primo stato che punta all istruzione successiva. Viene proposto uno dei possibili diagrammi degli stati che implementano questa istruzione: 1.3) Una possibile sequenza di istruzioni contenute nell ISA DLX visto a lezione che implementi BNEQ Rx, Ry, (Rz) è: SNE Rk, Rx, Ry BEQZ Rk, nosalto J Rz nosalto: ready? IR M[PC] PC PC + 4 A Rs1 B Rs2 A = B? NO A Rd PC A SI 2.1) T=18ns, T245=10ns, Tpal=30ns Clock di sistema a 8 MHz: Tclcl=125ns, Tclav=60ns, Tclrl=100ns, Tdvcl=20ns RAM: Tacc=270ns, Toe=160ns EPROM: Tacc=120ns, Toe=30ns 60+18+30+270+10+20 = 408 60+18+30+120+10+20 = 258 (3+n) 125 max verificate per n=1: 1 Tw (3+n) 125 max verificate per n=0: 0 Tw 125+100+160+10+20 = 415 125+100+30+10+20 = 285 Vedere schema per il circuito del ready e la connessione delle periferiche e delle memorie al bus di sistema.

Schema soluzione compito Calcolatori Elettronici del 20/12/ 02 BADR[0:16] BADR[0:19] MN/MX# INTA# INTR A[8:15] BA[x:19] LIO/M# PAL 22 V10 out C/D# RD# WR# OSC A0A1 RD# WR# E0 R0 READY CLK RES 8088 RD# WR# AS[16:19] IO/M# A A DT/R# DEN# RD# WR# A0 8259 INTA# INT IR 7 6 5 4 3 2 1 0 TxRDY RxRDY 8251 RESET TxC RxC 8255 A RDY CLK RES A[0:7] 245 B[0:7] F/C# ASYNC# CSYNC AEN1# AEN2# RDY2 RDY1 8284 X1 X2 RES# DIR IORD# B IOWR# MEMRD# A CLK CLR# Shift register D Q0 Q1 Q2 Q3 Q4 MEMWR# CSRAM# IO/M# CSEPROM#