Lezione n.9. Introduzione al linguaggio macchina

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione n.9. Introduzione al linguaggio macchina"

Transcript

1 Lezione n.9 Autore:Luca Orrù 1

2 Sommario Esecuzione delle istruzioni Architettura interna ed esterna Linguaggio assembler e modi d indirizzamento Consideriamo ora la singola istruzione e la scomponiamo nei passi principali. Passi elementari per l esecuzione di un istruzione: 1. AR:=PC Trasferimento del contenuto del PC in AR (Address Register) 2. DR:=M(AR) lettura dell istruzione dalla memoria. Questa operazione richiede due unità di tempo. 3. IR:=DR(OP): trasferisce il codice operativo nel registro istruzioni; PC:=PC+1: Incremento del Program Counter per predisporre la macchina ad eseguire l istruzione successiva; 4. decodifica dell istruzione Queste 4 operazioni implementano la fase di fetch Le operazioni specifiche di esecuzione sono invece: 5. AR:=DR(ADR): l indirizzo dell operando viene posto in AR 6. lettura degli operandi dalla memoria (2 unità di tempo) 7. svolgimento dell operazione (somma, and, or, scorrimento, etc). I primi 4 passi sono uguali per qualunque istruzione. I restanti passi variano da istruzione ad istruzione. Si noti come le operazioni di lettura e scrittura richiedono 2 unità di tempo. Il tempo per eseguire l operazione non è sempre uguale. In particolare, le operazioni di lettura e scrittura richiedono un tempo superiore perché fanno riferimento ad operazioni di lettura/scrittura in memoria e tipicamente gli accessi alla memoria richiedono più tempo rispetto alle operazioni riguardanti accessi a registri interni alla CPU. In totale l esecuzione dell istruzione più complessa, in questa semplice CPU, richiede 8 unità di tempo. Infatti, si richiedono 2 unità di tempo per svolgere le operazioni di lettura e scrittura. Questo significa che la lettura dell operando richiede 2 unità di tempo e la lettura dell istruzione richiede altre due unità di tempo, quindi 4 unità di tempo in totale. Ci sono poi altre 4 fasi, che richiedono ciascuna 1 unità di tempo per un totale di altre 4 unità di tempo che sommate alle 4 precedenti fanno 8 unità di tempo. Autore:Luca Orrù 2

3 Consideriamo ora le varie istruzioni e vediamo quali sono le operazioni svolte. LOAD X: legge il dato da M(X) e lo mette in AC LOAD X (fase di fetch) 1. AR:=PC (richiede 1 unità di tempo) 2. DR:=M(AR):Lettura in memoria dell istruzione da eseguire (2 unità di tempo) 3. PC:=PC+1; IR:=DR(OP) (carica il codice operativo dell istruzione nell Instruction Register); Decodifica del codice operativo (1 unità di tempo) Questi 3 passi costituiscono la fase di fetch dell istruzione Load. L ultimo passo della fase di fetch, pur essendo costituito da tre operazioni diverse, richiede una sola unità di tempo perché le tre operazioni possono essere svolte in parallelo in quanto interessano registri diversi. Fase di esecuzione: 4. AR:=DR(ADR) (1 unità di tempo): Dopo la fase di fetch in DR è presente l istruzione da eseguire che ha un campo Cod.Operativo e uno o più campi indirizzo. L operazione riporta in AR l indirizzo X del dato (operando) che si vuole caricare all interno della CPU, per predisporre l architettura alla successiva operazione di lettura in memoria; 5. DR:=M(AR): lettura in memoria (2 unità di tempo); carica il dato nel Data Register (DR) 6. AC:=DR (1 unità di tempo): il contenuto di DR viene caricato nell accumulatore. ADD(X) AC:=AC+DR (fase di fetch che è uguale per ciascuna istruzione) AR:=PC (1 unità di tempo) DR:=M(AR): lettura in memoria dell istruzione (2 unità di tempo) PC:=PC+1; IR:=DR(OP); Decodifica del codice operativo (1 unità di tempo) Fase di esecuzione: AR:=DR(ADR) (1 unità di tempo): legge l indirizzo X del dato e lo mette in AR DR:=M(AR) (2 unità di tempo): lettura in memoria, in pratica legge il dato dalla locazione di memoria specificata da AR AC:=AC+DR (1 unità di tempo): svolge l operazione di somma tra il dato contenuto in AC e il contenuto del registro dati e lo pone nell accumulatore. Autore:Luca Orrù 3

4 JUMP X ( istruzione di salto da un punto all altro di un programma PC:=X) Fase di fetch: 1. AR:=PC 2. DR:=M(AR): lettura in memoria 3. PC:=PC+1; IR:=DR(OP); Decodifica del codice operativo (1 unità di tempo). Per l istruzione JUMP l operazione PC:=PC+1 è inutile perché in questo caso viene caricato l indirizzo dell istruzione successiva nel PC, ma essendo un istruzione di salto condizionato non è detto che l istruzione da eseguire sia la successiva. Fase di esecuzione: 4. PC:=DR(ADR): carica nel PC l indirizzo dell istruzione successiva da eseguire Esecuzione istruzioni Dal diagramma di flusso di controllo, cioè dall elenco delle operazioni viste per ogni istruzione, si ricavano i segnali da attivare per ogni istruzione in ogni fase. Esempio: C3 (read): DR:=M(AR): quando C3=1 (segnale attivo), viene forzata la lettura in memoria; in pratica il dato posto nella locazione di memoria individuata dall indirizzo contenuto in AR viene trasferito in DR. L operazione di lettura viene eseguita in due occasioni. Nella fase F2 (secondo passo della fase di fetch), sempre e nella fase F6 in occasione delle istruzioni LOAD, ADD, e AND. Si può fare la stessa analisi per tutti gli altri segnali di controllo per vedere quando vengono attivate le singole operazioni. Farlo come esercizio. In generale ogni segnale di controllo è definito dalla seguente espressione: C = i ( Fj Im) j m Fj identifica la fase j; esempio: Fj=F6 e m=3 con I1=Load; I2=ADD;I3=AND Im somma istruzioni in cui il segnale di controllo, in quella fase, è attivato m Autore:Luca Orrù 4

5 Esempio C0(ADD X )AC:=AC+DR; C0 viene attivato nella fase F8 della ADDX Indichiamo il tutto con C0=F8(ADD) Altro esempio: C11(IR:=DR(OP)) C11=F4 sempre, cioè C11 è sempre attivato nella fase F4 (terzo passo della fase di fetch) Micro-operazioni necessarie per l esecuzione di un istruzione Supponendo che lo schema a blocchi seguente rappresenti l architettura di un processore, si elencano di seguito le operazioni necessarie per l esecuzione di alcune semplici istruzioni. Segnali di controllo... Decodificatore delle Istruzioni IR R 0... R n TEMP Bus della CPU PC MAR MDR Y Linee di indirizzo Linee di dato Bus della memoria Add Sub XOR... ALU CarryIn Z Ogni registro Ri connesso al bus possiede un interfaccia controllata da due segnali: Ri in che abilita il trasferimento del dato presente sul bus nel registro Ri (carica il valore presente sul bus in Ri) Ri out che abilita il trasferimento del contenuto del registro Ri sul bus o essendo il bus condiviso, per un corretto funzionamento del bus uno solo dei segnali Ri out è attivato alla volta Autore:Luca Orrù 5

6 Esempio di trasferimento dati: CALCOLATORI ELETTRONICI Si supponga di dover trasferire il contenuto del registro R1 nel registro R2. In tal caso si deve: Attivare R1 out che permette di trasferire il valore contenuto in R1 sul bus Attivare R2 in che permette di memorizzare il valore presente sul bus nel registro R2 Primo esempio di operazione Si vuole eseguire la seguente somma: ADD R3,R1,R2 che somma il contenuto di R1 al contenuto di R2 e pone il risultato in R3. Le operazioni da compiere e i segnali da attivare sono: Operazione MAR:=PC MDR:=M(MAR) IR:=MDR(OP); PC:=PC+1; decodifica dell istruzione Y:=R1 (carica R1 nell accumulatore Y) Z:=ADD R2, Y R3:=Z Fase di fetch Segnali di controllo attivati PC out, MAR in Read (segnale di controllo per leggere dalla memoria); MDRin MDR out, IR in, PC in Fase di esecuzione Il codice operativo presente in IR viene decodificato R1 out trasferisce il contenuto di R1 sul bus; Y in carica il contenuto del bus nel registro Y; R2 out trasferisce il contenuto di R2 sul bus; ADD; permette di sommare il contenuto del bus al contenuto di Y Y out Z in permette di caricare la somma nel registro Z Z out, trasferisce il contenuto di Z sul bus; R3 in carica il contenuto del bus in R3 Autore:Luca Orrù 6

7 Secondo esempio di operazione Si vuole eseguire l istruzione ADD (R3), R1 che somma al contenuto del registro R1, il contenuto della cella di memoria il cui indirizzo è posto in R3 e mette il risultato in R1. Operazione MAR:=PC MDR:=M(MAR) IR:=MDR(OP); PC:=PC+1; decodifica dell istruzione MAR:=R3 (carica l indirizzo presente in R3 nell Address Register) MDR:=M(MAR) Y:=R1 Z:=ADD(Y,MDR) R1:=Z Fase di fetch Segnali di controllo attivati PC out, MAR in Read (segnale di controllo per leggere dalla memoria); MDRin MDR out, IR in,pc in Fase di esecuzione Decodifica del codice operativo presente in IR R3 out trasferisce il contenuto di R3 sul bus; MAR in carica il contenuto del bus nel registro MAR; Read lettura dalla memoria; MARout; MDRin R1 out trasferisce il contenuto di R1 sul bus Y in carica Y con il dato presente sul bus MDRout carica il contenuto del MDR (che è il valore di R3) sul bus; Yout carica il valore di Y nella ALU: ADD attiva l operazione di somma tra il contenuto de bus e il contenuto di Y; Zin carica Z con la somma tra MDR e Y Z out trasferisce il contenuto di Z sul bus; R1 in carica R1 con il dato presente sul bus Autore:Luca Orrù 7

8 Terzo esempio di operazione: Si vuole eseguire l istruzione JMP lab che esegue il salto all istruzione posta all indirizzo lab Operazione MAR:=PC MDR:=M(MAR) IR:=MDR(OP); PC:=PC+1; decodifica dell istruzione MAR:=PC; MDR:=M(MAR) PC:=MDR Fase di fetch Segnali di controllo attivati PC out, MAR in Read (segnale di controllo per leggere dalla memoria); MARout; MDRin MDR out, IR in, PC in Fase di esecuzione Decodifica del codice operativo presente in IR PC out ; MAR in Read (segnale di controllo per leggere in memoria); MAR out ; MDR in MDR out ; PC in carica l indirizzo LAB presente sul bus, nel PC; Esempio di progetto di architettura di controllo START CLOCK Generatore di fasi modulo 8 F1 F2 F3 F8 LOAD Decodifica Istruzioni STORE ADD Circuito di controllo AND C1 C2 C3 C4 Cn IR Segnali di controllo Registro istruzioni che immagazzina il codice operativo dell istruzione Autore:Luca Orrù 8

9 Il generatore di fasi genera 8 fasi perché 8 sono le fasi di un istruzione (4 unità di tempo nella fase di fetch e 4 nella fase di esecuzione). Secondo l operazione da eseguire, in uscita dal blocco decodifica istruzioni ci sarà un 1 in corrispondenza dell istruzione da eseguire. Se, per esempio, viene decodificata la LOAD, sarà posta a livello logico alto (1 logico) la linea LOAD e tutte le altre linee saranno a livello logico 0. Il circuito di controllo genera i segnali di controllo in funzione delle fasi e delle operazioni da eseguire che riceverà in input. Abbiamo visto la semplice architettura RTL di una CPU e le varie operazioni che compongono ogni istruzione. Vediamo ora quali sono e quali possono essere le istruzioni che la CPU può eseguire. Introduciamo prima alcuni concetti fondamentali. Architettura interna ed esterna Architettura interna: struttura interna della CPU. Migliore compromesso possibile tra prestazioni e costi. Il vincolo è la tecnologia. In pratica, a partire dalla tecnologia disponibile si cerca di realizzare una CPU con struttura interna che faccia riferimento ad un compromesso fra costi e prestazioni. Architettura esterna: identifica come il processore è visto da chi lo deve programmare. Insieme delle istruzioni, dei registri, dei modi d indirizzamento, cioè i meccanismi d accesso ai dati, e dei tipi di dato ammessi dalle istruzioni. Per tipo di dato s intende se un operazione/istruzione può essere eseguita sui dati interi, reali etc. Si possono avere CPU con architetture esterne equivalenti e questo deve essere rispettato in modo che CPU diverse possano eseguire gli stessi programmi. L architettura interna può essere invece diversa, perché la tecnologia è per esempio cambiata oppure perché i progettisti sono diversi. L architettura interna non fa altro che implementare le funzioni richieste e questa implementazione può essere diversa. Il collegamento tra le architetture interna ed esterna Attraverso livelli d interpretazione si realizzano le funzioni definite all esterno I passi usati per effettuare le fasi d interpretazione sono: o Il linguaggio macchina ( o assembler) che definisce le funzioni sull architettura esterna. o Questo linguaggio macchina viene poi tradotto in linguaggio di microprogramma (segnali di controllo) o Il linguaggio di microprogramma viene tradotto in comandi diretti alla parte operativa. Autore:Luca Orrù 9

10 Semplificando possiamo dire che: Il linguaggio assembler permette di definire le istruzioni del programma in un codice mnemonico (es. ADD, MOVE, LOAD, STORE). Il programma in linguaggio assembler viene poi tradotto in linguaggio macchina (sequenza di 0 e 1) attraverso l uso di un programma specifico chiamato assemblatore, che è a sua volta memorizzato come una sequenza di istruzioni macchina (sequenza di 0 e 1) nella memoria principale del calcolatore. Non appena il programma scritto dal programmatore viene eseguito, il programma assemblatore lo converte nel corrispondente programma in linguaggio macchina costituito da sequenze di cifre binarie che specificano le varie istruzioni. Il programma dell utente è detto programma sorgente, mentre il programma in linguaggio macchina è chiamato programma oggetto. Il programma assemblatore oltre che tradurre le istruzioni in codice macchina, ha il compito di rimuovere i commenti e associare ogni variabile del programma sorgente ad una determinata locazione di memoria. Una volta che il programma sorgente è stato convertito in programma oggetto dal programma assemblatore intervengono altri due programmi: Il linker che crea il file eseguibile a partire da uno o più file oggetto. Il file eseguibile creato dal linker risiede su disco e quindi per poter essere eseguito deve essere caricato in memoria. Il loader, che fa parte del sistema operativo, ha il compito di caricare il codice eseguibile residente su disco, in memoria. Il loader deve conoscere la lunghezza del programma e l indirizzo di memoria a partire dal quale verrà memorizzato il programma stesso. Queste informazioni vengono passate dal programma assemblatore, che pone tali informazioni in un blocco d intestazione a cui si da il nome di header. Linguaggio macchina (assembler) di una CPU Definisce le risorse disponibili e la loro utilizzazione Definisce inoltre le operazioni possibili La maggior parte delle istruzioni assembler è del tipo seguente: X1:=f(X1,X2,X3,.Xn) con n=1 o n=2 o raramente n=3 Questa istruzione trasferisce nel registro X1 il risultato della funzione f applicata ai registri da X1 a Xn. La funzione ricorda quella del comportamento dell architettura RTL. In quel caso però, X1, X2,..Xn erano elementi fisici (registri) dove venivano trasferiti i dati. In questo caso invece stiamo parlando di architettura esterna e non interna. Siamo ad un livello di astrazione superiore, ciò significa che X1,X2,Xn possono essere viste come variabili. E probabile, anzi è sicuro, che questi registri abbiano una loro implementazione fisica. Questi registri ora saranno quelli visibili/disponibili dall architettura esterna. Autore:Luca Orrù 10

11 Funzioni complesse sono realizzate sfruttando i livelli d interpretazione senza modificare l architettura interna, ma usando parti semplici dell architettura interna. C è una corrente di pensiero che dice che le funzioni a livello macchina debbano essere molto semplici. Ogni istruzione in linguaggio macchina è definita da: Un codice macchina o codice orientato alla macchina. Esempio: è un codice memorizzato all interno della memoria Un codice mnemonico o codice orientato al programmatore, che viene usato dal programmatore per programmare la CPU. Esempio: MOVE A,B significa A:=B in pratica sposta il contenuto di B in A, con A e B registri interni alla CPU. I due codici sono in corrispondenza 1 a 1. Questo significa che se abbiamo il codice mnemonico possiamo ricavare il codice macchina e viceversa perché c è una corrispondenza biunivoca tra essi. L insieme delle istruzioni espresse come codice mnemonico rappresenta il linguaggio assembler. Ogni istruzione in linguaggio macchina deve inoltre definire: L operazione da svolgere, per esempio ADD, AND, JUMP, OR. La posizione (indirizzo) dell istruzione successiva. Questa viene considerata spesso in modo implicito perché si presuppone che sia la successiva in memoria (PC:=PC+1). Con l istruzione di JUMP, questo non è vero e quindi in questo caso occorre specificare in modo esplicito l indirizzo dell istruzione successiva. Gli operandi coinvolti. Vediamo ora come vengono indicate queste informazioni all interno di una semplice istruzione. Autore:Luca Orrù 11

12 In generale è diviso in campi: CALCOLATORI ELETTRONICI Il codice macchina Codice operativo Primo operando Secondo operando Ennesimo operando L istruzione contiene un campo codice operativo e uno o più campi operandi Codice operativo: è il codice dell istruzione, in pratica il codice binario associato all istruzione. Esempio codice della ADD I campi operandi individuano gli operandi necessari per svolgere l istruzione o ADD A,B : operazione di ADD che coinvolge gli operandi A e B Il codice mnemonico rispecchia la struttura del codice macchina, quindi il codice mnemonico ADD verrà inserito nel campo codice operativo dopo essere stato codificato in codice macchina. Analogamente i due operandi A e B saranno inseriti nei due campi operandi dopo essere stati codificati in codice macchina. Numero di operandi di un istruzione A seconda del tipo di processore si possono avere istruzioni a: 0 operandi 1 operando 2 operandi 3 operandi Spesso si fa una classificazione dei processori proprio in base al numero di operandi. Minore è il numero di operandi, minore è il tempo richiesto per decodificare l istruzione e minore è anche la memoria richiesta per memorizzare il codice dell istruzione stessa. Questo vantaggio si paga in un maggior numero di istruzioni di trasferimento dati tra registri, istruzioni necessarie per eseguire una determinata operazione. Vediamo i vari casi uno per uno. Autore:Luca Orrù 12

13 Istruzione a 3 operandi In questo caso l istruzione contiene l indicazione dei due operandi sorgente e destinazione e dell operando risultato. Supponiamo di dover eseguire l operazione di somma C=A+B. In codice mnemonico questa può essere rappresentata dall istruzione ADD C,A,B che somma il contenuto del registro A al contenuto del registro B e pone il risultato nel registro C. Istruzione a 2 operandi L operazione C=A+B viene eseguita tramite l istruzione ADD A,B che somma il contenuto di A al contenuto di B e pone il risultato in A. In questo caso il registro sorgente A funge anche da registro risultato. Istruzione a 1 operando In questo caso il secondo operando e il risultato sono posti nel registro accumulatore L istruzione corrispondente all operazione C=A+B è ADD A che somma al contenuto di A il contenuto dell accumulatore e pone il risultato nell accumulatore. L accumulatore contiene inizialmente l operando B e alla fine contiene C. Le istruzioni base necessarie ad eseguire la somma sono le seguenti: 1. LOAD B che carica B nell accumulatore AC 2. ADD A che somma ad AC il contenuto di A e pone il risultato in AC 3. STORE C che trasferisce il contenuto dell accumulatore nel registro C Istruzione a 0 operandi Gli operandi necessari per eseguire una determinata operazione sono memorizzati nello stack. Lo stack è una parte della memoria che viene usata per memorizzare gli indirizzi di ritorno di una procedura, i parametri di una procedura, le variabili temporanee, etc. Lo stack ha una organizzazione di tipo LIFO (Last In First Output). Il primo elemento inserito è l ultimo ad essere estratto. Ogni istruzione mette i due operandi nello stack tramite due operazioni di PUSH e memorizza il risultato in un registro tramite un operazione di POP. Autore:Luca Orrù 13

14 Nel caso dell operazione C=A+B le istruzioni necessarie sono: 1. PUSH A inserisce l operando A nello stack 2. PUSH B inserisce l operando B nello stack 3. ADD esegue la somma tra i due operandi posti nello stack 4. POP C estrae il dato in cima allo stack, che corrisponde ad A+B, e lo pone nel registro C Schema grafico A+B B B B A A A A STACK dopo PUSH A STACK dopo PUSH B STACK dopo ADD STACK dopo POP C C A+B Nella prossima lezione si parlerà dei modi d accesso ai dati, vale a dire dei modi d indirizzamento. Autore:Luca Orrù 14

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4 ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Architettura hw. La memoria e la cpu

Architettura hw. La memoria e la cpu Architettura hw La memoria e la cpu La memoria centrale e la CPU Bus controllo Bus indirizzi Bus dati Bus di collegamento con la cpu indirizzi controllo dati Bus Indirizzi 11 Bus controllo Leggi/scrivi

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico- Principi di architetture dei calcolatori: l unità di controllo Mariagiovanna Sami L unità di controllo Per eseguire le istruzioni di macchina, occorre che vengano generati nell ordine corretto i segnali

Dettagli

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

Calcolo numerico e programmazione Architettura dei calcolatori Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:

Dettagli

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio AXO Architettura dei Calcolatori e Sistema Operativo processo di assemblaggio linguaggio assembly è il linguaggio simbolico che consente di programmare un calcolatore utilizzando le istruzioni del linguaggio

Dettagli

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6 Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare

Dettagli

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 3 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39

Dettagli

Il Processore: i registri

Il Processore: i registri Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Introduzione Che cos è un calcolatore? Come funziona un calcolatore? è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso

Dettagli

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Von Neumann. John Von Neumann (1903-1957)

Von Neumann. John Von Neumann (1903-1957) Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su

Dettagli

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

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

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1 La microarchitettura. anno accademico 2006 2007 pagina 1 Integer Java virtual machine Ogni microprocessore può avere una microarchitettura diversa, ma la modalità di funzionamento per certi aspetti è generale.

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

Dettagli

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

La Macchina Virtuale

La Macchina Virtuale Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore

Dettagli

Prelievo di un istruzione. Istruzioni macchina. Tipi di istruzioni. Registri principali della CPU e loro ruolo

Prelievo di un istruzione. Istruzioni macchina. Tipi di istruzioni. Registri principali della CPU e loro ruolo Registri principali della CPU e loro ruolo CPU e linguaggio macchina domande ed esercizi PC: indirizzo prossima IR: corrente MAR: indirizzo cella di M da leggere/scrivere MBR: contenuto cella di M letta

Dettagli

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

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni

Dettagli

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27

Dettagli

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica

Dettagli

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine. Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

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

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

Architettura del computer (C.Busso)

Architettura del computer (C.Busso) Architettura del computer (C.Busso) Il computer nacque quando fu possibile costruire circuiti abbastanza complessi in logica programmata da una parte e, dall altra, pensare, ( questo è dovuto a Von Neumann)

Dettagli

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN ALGORITMI E MACCHINA DI VON NEUMANN 1 COMPUTER= ELABORATORE NON CERVELLO ELETTRONICO CERVELLO: Capacità decisionali ELABORATORE: Incapacità di effettuare scelte autonome di fronte a situazioni impreviste

Dettagli

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica I componenti di un Sistema di elaborazione. Memoria centrale Memorizza : istruzioni dati In forma BINARIA : 10001010101000110101... È costituita da una serie di CHIP disposti su una scheda elettronica

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM Il computer è un apparecchio elettronico che riceve dati di ingresso (input), li memorizza e gli elabora e fornisce in uscita i risultati (output). Il computer è quindi un sistema per elaborare informazioni

Dettagli

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

PROVA INTRACORSO TRACCIA A Pagina 1 di 6 PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento

Dettagli

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08 Nota Questi lucidi sono

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006

Link e permessi. Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione. Corso di Sistemi Operativi A. A. 2005-2006 Corso di Laurea Triennale in Ingegneria delle TLC e dell Automazione Corso di Sistemi Operativi A. A. 2005-2006 Link e permessi Link Un riferimento ad un file è detto link Ogni file può avere un numero

Dettagli

L unità di elaborazione pipeline L unità Pipelining

L unità di elaborazione pipeline L unità Pipelining Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare

Dettagli

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

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

introduzione I MICROCONTROLLORI

introduzione I MICROCONTROLLORI introduzione I MICROCONTROLLORI Definizione Un microcontrollore è un dispositivo elettronico programmabile Può svolgere autonomamente diverse funzioni in base al programma in esso implementato Non è la

Dettagli

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro.

V= R*I. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. LEGGE DI OHM Dopo aver illustrato le principali grandezze elettriche è necessario analizzare i legami che vi sono tra di loro. PREMESSA: Anche intuitivamente dovrebbe a questo punto essere ormai chiaro

Dettagli

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella

Università degli Studi di Cassino Corso di Fondamenti di Informatica Codifica di dati e istruzioni. Anno Accademico 2010/2011 Francesco Tortorella Corso di Fondamenti di Informatica Codifica di dati e istruzioni Anno Accademico 2010/2011 Francesco Tortorella La codifica dei dati e delle istruzioni La più piccola unità di informazione memorizzabile

Dettagli

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

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali 1 Modelli imperativi: le RAM (Random Access Machine) I modelli di calcolo imperativi sono direttamente collegati al modello Von Neumann,

Dettagli

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO 1 Domanda [1 punto] Dato il formato in virgola mobile su 32 bit così definito (precisione singola): o 1

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo

Calcolatori Elettronici. La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo Calcolatori Elettronici La Pipeline Criticità sui dati Criticità sul controllo Cenni sull unità di controllo La pipeline CRITICITÀ SUI DATI Calcolatori Elettronici - Pipeline (2) - Slide 2 L. Tarantino

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Programmazione dello Z80

Programmazione dello Z80 Il microprocessore si incarica di: gestire il programma e i suoi dati di eseguire i calcoli richiesti. Le azioni appena elencate rendono necessario che il microprocessore abbia da qualche parte, al suo

Dettagli

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE 1. INTRODUZIONE In questo capitolo viene presentata la struttura, sia interna che esterna, di un microprocessore generico riprendendo i concetti esposti nella

Dettagli

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione RCHITETTUR DI UN ELORTORE MCCHIN DI VON NEUMNN Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for dvanced Study, anni 40). UNITÀ FUNZIONLI fondamentali Processore (CPU) Centrale

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Organizzazione della memoria

Organizzazione della memoria Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010

Dettagli

ARCHITETTURA DELL ELABORATORE

ARCHITETTURA DELL ELABORATORE 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY ARCHITETTURA DELL ELABORATORE Prof. G. Ciaschetti 1. Tipi di computer Nella vita di tutti giorni, abbiamo a che fare con tanti tipi di computer, da piccoli o piccolissimi

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

Dettagli

Realizzazione del controllo

Realizzazione del controllo Realizzazione del controllo La generazione della corretta sequenza di segnali di controllo per l esecuzione di una data istruzione avviene da parte dell Unità di Controllo. La sequenza generata è funzione:

Dettagli

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 29 giugno 2011 CALCOLATORI ELETTRONICI 29 giugno 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di una PLA la funzione combinatoria (a 3 ingressi e due uscite)

Dettagli

CONTABILITÀ FINANZIARIA ASCOT 3 IL PROSPETTO DI CONCILIAZIONE SPECIFICHE FUNZIONALI SCHEMI OPERATIVI SOLUZIONE AI PROBLEMI

CONTABILITÀ FINANZIARIA ASCOT 3 IL PROSPETTO DI CONCILIAZIONE SPECIFICHE FUNZIONALI SCHEMI OPERATIVI SOLUZIONE AI PROBLEMI PROGETTO ASCOT COD. : ASCOT-31-PC-01 VERS. : 1.00.00 DATA : 1.03.2002 CONTABILITÀ FINANZIARIA ASCOT 3 IL PROSPETTO DI CONCILIAZIONE SPECIFICHE FUNZIONALI SCHEMI OPERATIVI SOLUZIONE AI PROBLEMI AGGIORNAMENTI

Dettagli

Hazard sul controllo. Sommario

Hazard sul controllo. Sommario Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli