Durata istruzioni e programmi

Slides:



Advertisements
Presentazioni simili
Rappresentazioni numeriche
Advertisements

Equazioni e calcoli chimici
Process synchronization
IL NUMERO …qualche idea…..
Come possono essere classificati?
Rappresentazioni numeriche
PLC PCD1 della SAIA-Burgess
2ab2 2b4 4x − 2y a 3b2y3 3b2y3b Definizione e caratteristiche
Definizione e caratteristiche
Esercizi sulle architetture
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Virtual CPU - Eniac Dr.ssa Veronica Marchetti
Novembre 2006F. Borgonovo: Esercizi-61 Esercizio: Il collegamento ISDN fra NT e centrale locale (interfaccia U) avviene su un doppino con duplexing (uplink.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Canale A. Prof.Ciapetti AA2003/04
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
1 La frazione come numero razionale assoluto
Schema di principio del SCA di una MMU Memory Management Unit
Criticità sul controllo
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente) ITERAZIONE: ripetere piu volte una sequenza di operazioni istruzioni: for, while, do.
Applicazione Auto Camion xAo=0 m xCo=0 m vAox=0 m/s vCox=9.5 m/s
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
Convertitore A/D e circuito S/H
1 Sistemi Digitali. 2 Definizione Analog Waveform Time Voltage (V) 0 5 Digital Waveform Time Voltage (V)
ITERAZIONE e RICORSIONE (eseguire uno stesso calcolo ripetutamente)
Il Linguaggio Macchina
Unità Didattica 1 Algoritmi
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Strutture di controllo in C -- Flow Chart --
Dichiarazioni e tipi predefiniti nel linguaggio C
Codifica binaria Rappresentazione di numeri
Le funzioni.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
Conversione binario - ottale/esadecimale
Conversione binario - ottale/esadecimale
Analisi di Immagini e Dati Biologici
La macchina di von Neumann
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
ALGEBRA.
Le operazioni con i numeri
LA SCOMPOSIZIONE DI POLINOMI IN FATTORI
Elementi di Informatica di base
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
I vettore interruzioni
CODIFICA Da flow-chart a C++.
Architettura del calcolatore
Copertina 1.
Sottoprogramma Un blocco di istruzioni, come ad esempio lanello di ritardo, può costituire un sottoprogramma (subroutine) a sé stante, richiamabile dal.
Prof. Cerulli – Dott.ssa Gentili
5 CAPITOLO La mole Indice 1 La mole: unità di quantità di sostanza
14 marzo 2002 Avvisi:.
IL MICROPROCESSORE CARATTERISTICHE STRUTTURA EVOLUZIONE.
Numeri Interi senza segno
Arch. Elab. - S. Orlando 1 Esercitazione su Instruction Level Parallelism Salvatore Orlando.
1 Introduzione Sistema di calcolo + applicazioni Possibilità di effettuare confronti e stime dei tempi di esecuzione Metriche di misura delle prestazioni.
Architettura di una CPU
Il ciclo while.  Permette di ripetere un blocco di istruzioni fino a quando non si verifica un determinato evento  Il ciclo while può essere realizzato.
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Impianto di Avvio Ritardato
Architettura di un calcolatore e linguaggio macchina.
SPIM Esercizi. Esercizio 1 – il comando ‘li’ Il codice deve eseguire una singola operazione: mettere il valore immediato 1023 nel registro s3.
Conversione binario-ottale/esadecimale
Diagrammi a blocchi.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Transcript della presentazione:

Durata istruzioni e programmi Ogni istruzione in linguaggio di basso livello ha una sua durata definita, ricavabile dal set di istruzioni; nel caso dello Z80 è indicata nella colonna “No of T cycles” (numero di cicli T) e varia da un minimo di 4, per le istruzioni più semplici, a un massimo di 23. T è il periodo relativo alla frequenza di lavoro del microprocessore (per lo Z80 varia da 2,5 a 4 MHz); moltiplicando quindi T per il numero di cicli dell’istruzione, si ha la durata di una singola esecuzione della stessa; dunque, sapendo con precisione il numero di volte (iterazioni) che ogni istruzione sarà eseguita durante l’esecuzione completa di un programma, è possibile risalire all’intera durata dello stesso. Anelli di ritardo Spesso è opportuno sincronizzare il sistema a microprocessore, creando artificiosamente nel programma dei “tempi morti” apparentemente inutili, ma in realtà necessari a dare il tempo, alle periferiche collegate, di svolgere il loro compito, prima che la CPU svolga le operazioni successive. Questi sono detti “anelli di ritardo” (delay loop), costituiti da un determinato blocco di istruzioni, di durata definita. Ipotizzando di impiegare una CPU Z80 che lavora a 2,5 MHz, in un blocco costituito dalle istruzioni: label cod.op operandi n. cicli T iterazioni cicli T tot. ………………………………………................................................ ....................................................................................................... LD A,64H 7 1 7 L1: DEC A 4 100 400 JP NZ,L1 10 100 1000 la prima istruzione viene eseguita una volta, la seconda e la terza vengono ripetute 100 volte, fino a che il registro A si azzera e il salto all’indietro non avviene più, essendo 64H il corrispondente esadecimale di 10010; la durata totale del blocco è uguale alla somma dei cicli T totali di ogni istruzione, cioè 1407 moltiplicato per 0,4 x 10-6 sec, che è il periodo relativo alla frequenza di lavoro della CPU (T = 1/f), vale a dire 562,8 x 10-6 (μsec).

Utilizzando per la struttura precedente un registro a 8 bit, la massima durata possibile, caricando il registro a 00H così da avere 256 decrementi prima del nuovo azzeramento, è di 1,4364 msec; per ottenere un anello di durata maggiore si hanno due possibilità: 1° - usare un registro a 16 bit, con l’accortezza di inserire istruzioni che alterino il flag di zero (l’istruzione DEC BC, come tutte le istruzioni di incremento e decremento a 16 bit, non altera il flag di zero), per controllare la condizione di salto, come nell’esempio: label cod.op operandi n. cicli T iterazioni cicli T tot. ………………………………………................................................ LD BC,0000H 7 1 7 L1: DEC BC 6 65536 393216 LD A,B 4 65536 262144 OR C 4 65536 262144 JP NZ,L1 10 65536 655360 ............................................................................................................ dove 65.536 (216) è il numero di decrementi del registro BC necessari ad azzerarlo di nuovo; così la massima durata possibile è 1.572.871 x 0,4 x 10-6, vale a dire 629.145,6 μsec (0,63 secondi circa). 2° - creare una struttura ad “anelli nidificati”, come nell’esempio: label cod.op operandi n. cicli T iterazioni cicli T tot. ………………………………………................................................ LD A,02H 7 1 7 * L1: LD B,03H 7 2 14 ** L2: LD C,04H 7 6 42 *** L3: DEC C 4 24 96 *** JP NZ,L3 10 24 240 ** DEC B 4 6 24 ** JP NZ,L2 10 6 60 * DEC A 4 2 8 * JP NZ,L1 10 2 20 .........................................................................................................

La formula: durata totale = {7 + [21 + (21 + 14 x N3) x N2] x N1} x T nella precedente struttura a 3 anelli nidificati, la prima istruzione (priva di etichette o label) viene eseguita una volta, le istruzioni contrassegnate da un asterisco vengono ripetute 2 volte, perché dipendono solo dall’azzeramento del registro A, le istruzioni con il doppio asterisco vengono ripetute 6 volte (2 x 3 volte), perché dipendono dall’azzeramento dei registri A e B (quest’ultimo viene ricaricato a 3 ogni volta che A risulta diverso da 0), le istruzioni con il triplo asterisco vengono ripetute 24 volte (2 x 3 x 4 volte) perché dipendono dall’azzeramento di tutti e tre i registri (il registro C viene ricaricato a 4 ogni volta che B risulta diverso da 0). Nell’esempio la durata del blocco è data dalla somma dei cicli totali di ogni istruzione, cioè 511 moltiplicato x 0,4 x 10-6, vale a dire 204,4 μsec. La formula: durata totale = {7 + [21 + (21 + 14 x N3) x N2] x N1} x T aiuta a determinare, per tentativi, i numeri N1 , N2 e N3 da caricare nell’ordine (dopo averli convertiti in esadecimale) nei 3 registri a 8 bit, per la struttura a 3 anelli nidificati; in questo caso, sempre alla frequenza di lavoro di 2,5 MHz, la massima durata possibile è di 94.505.065 μsec, vale a dire 1 minuto 34 secondi e 5 decimi circa.