I sistemi. Sistema: è un insieme di parti o componenti correlati tra di loro in modo che tale insieme possieda una struttura e abbia un comportamento.

Documenti analoghi
Introduzione. Architettura

SISTEMI. SISTEMI MISTI Modifica umana su sistemi già esistenti in natura Lago artificiale FISICI ASTRATTI

CALCOLATORI ELETTRONICI II

Ogni processore ha un proprio linguaggio macchina, prenderemo in esempio l INTEL numero binaria decimale

Nel microprocessore 8086 abbiamo una gran quantità di registri

Programmazione in linguaggio assembly per architetture Intel 8088

Assembly. Modello x86

LA CPU INTEL Vantaggi dei programmi Assembly

Il linguaggio assembly

Architettura di una CPU

Architetture dei Sistemi Elettronici

Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione.

1.1 Rappresentazione di numeri naturali ed interi

Famiglia dei processori INTEL

Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale.

Interazione con il DOS e il BIOS

Fondamenti di Informatica A. A / 1 9

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

iafelice at cs(dot)unibo(dot)it

CPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore

Struttura di un elaboratore

Architettura del calcolatore (Seconda parte)

jne su1 mov ah,2 add dl,48 int 21h mov ah,2 add dh,48 mov dl,dh int 21h mov ah,4ch int 21h

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I"

Fondamenti di Informatica B

Fondamenti di Informatica e Programmazione. P ro f. G i a n n i D A n g e l o

Rappresentazione dell informazione

Calcolatori Elettronici Lezione A2 Architettura i8086

Esercizi per il recupero del debito formativo:

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Sistemi a microprocessore

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

; ; Definizione costanti

Architettura dei computer

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Sistemi di Elaborazione delle Informazioni

LABORATORIO DI SISTEMI

Dal linguaggio macchina al linguaggio C

1.1.1 Esercizio conta le occorrenze di un carattere in una stringa

Lezione 15. L elaboratore Elettronico

FONDAMENTI DI INFORMATICA Lezione n. 11

Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina. Linguaggio Macchina ADD A,B ISTRUZIONE SUCCESSIVA

Lezione 6 Introduzione al C++ Mauro Piccolo

L Assembler Istruzioni Aritmetiche. M. Rebaudengo - M. Sonza Reorda. Politecnico di Torino Dip. di Automatica e Informatica

Architettura di un elaboratore. Il modello di von Neumann

not ah ; ah = F7h (247) perche' il complemento a 1 di 8 ( )

Architettura degli elaboratori (A)

ESERCITAZIONE Operandi Architettura ad 1 operando Architettura a 2 operandi Architettura a 3 operandi

PASSI DI SVILUPPO DI UN PROGRAMMA: ESEMPIO

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

LABORATORIO DI SISTEMI

Processore Danilo Dessì. Architettura degli Elaboratori.

Il linguaggio macchina

Il linguaggio assembly

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Istruzioni di trasferimento dati

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Simulazione del Questionario a Risposte Multiple.

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Struttura logica del computer (semplificata)

Linguaggio Assembly e linguaggio macchina

Note sull architettura del calcolatore

Componenti di un processore

Fetch Decode Execute Program Counter controllare esegue prossima

Istruzioni e linguaggio macchina

Il Processore: l unità di controllo

Settimana n.2. Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo.

Architettura dei Calcolatori elettronici

Il linguaggio Assembly. Architettura degli Elaboratori e delle Reti Turno I

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann

CORSO DI ARCHITETTURA DEGLI ELABORATORI Il Processore 8088

Corso di Laurea in Informatica Architetture degli Elaboratori

Calcolatori Elettronici Lezione A4 Programmazione a Moduli

Modello di von Neumann

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

ISA (Instruction Set Architecture) della CPU MIPS

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

G L O S S A R I O. Fondamenti di Informatica I - Università degli Studi di Trento Dott. Roberti Pierluigi

Breve guida AL LINGUAGGIO ASSEMBLY (emulatore EMU8086)

Parte 3. Linguaggio Macchina e Assembler

Assembly (3): le procedure

Architettura di Von Neumann

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

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops

Il processore Intel 8086

Architettura dei computer

ESERCITAZIONE 4. Livello d architettura dell insieme di istruzioni Decodifica dell indirizzo

Introduzione al linguaggio macchina. Istruzione l/m

Transcript:

I sistemi Sistema: è un insieme di parti o componenti correlati tra di loro in modo che tale insieme possieda una struttura e abbia un comportamento. Classificazione dei sistemi: Sistemi artificiali: creati dall uomo per un determinato fine. 1. Sistemi fisici: tutti i suoi componenti possono essere misurati. 2. Sistemi astratti. Sistemi artificiali fisici: 1. Sistemi dinamici: hanno almeno 1 grandezza variabile. 2. Sistemi statici. Sistemi artificiali fisici dinamici: 1. Sistemi aperti: interazioni tra l ambiente interno ed esterno. 2. Sistemi chiusi. Sistemi artificiali fisici dinamici aperti: 1. Sistemi deterministici: esiste 1 sola legge precisa che lega tra loro tutte le grandezze. 2. Sistemi probabilistici. Sistemi artificiali fisici dinamici aperti deterministici: 1. Sistemi invarianti: la legge che lega tra di loro tutte le variabili costanti rimane costante nel tempo. 2. Sistemi varianti. Sistemi artificiali fisici dinamici aperti deterministici invarianti: 1. Sistemi discreti: 2. Sistemi continui. Le grandezze all interno di un sistema dinamico sono: 1. Endogene: hanno relazioni dentro al sistema 2. Esogene: hanno relazioni tra il sistema e l esterno. Le grandezze variabili esogene del sistema dinamico si dividono in: 1. G. d'ingresso: sollecitazioni dall ambiente esterno. 2. G. d uscita: sollecitazioni verso l ambiente esterno. Le grandezze variabili endogene ed esogene si dividono in: 1. Continue: quando il valore cambia gradatamente. 2. Discrete: quando il valore cambia in determinati istanti. 1

I modelli Modello: è un sistema costruito dall uomo per rappresentare la struttura e il comportamento di un altro sistema. Possono rappresentare: 1- la struttura 2-il comportamento 3-entrambi I modelli si dividono in: 1. Fisici: che a loro volta si dividono in: 1-Iconici 2-Analogici 2. Astratti: che a loro volta si dividono in: 1-garfici 2-matematici 3-procedurali. 1. I modelli fisici iconici rappresentano in rassomiglianza fisica la struttura di un altro sistema (in scala): Esistono 3 tipi di scale: 1-ridotta 2-naturale 3-espansa. I modelli fisici analogici rappresentano l analogia funzionale e il comportamento di un altro sistema. 2. I modelli astratti grafici rappresentano la struttura o il comportamento di un altro sistema (es: schemi a blocchi di circuiti). I modelli astratti matematici sono delle espressioni simboliche che rappresentano le leggi che legano tra di loro le grandezze di 1 sistema (es. equazioni algebriche). I modelli astratti matematici sono dei programmi la cui esecuzione permette di simulare il comportamento di un altro sistema. 2

Gli Automi Gli automi sono modelli matematici che servono per descrivere i sistemi digitali. Definizione: un automa (A) è una quintupla del tipo (S, I, U, f, g). S rappresenta un insieme di elementi: S={s1, s2, s3, s4, sn} e viene chiamato l insieme degli stati. I rappresenta un insieme con numeri finiti di elementi: I={i1, i2, i3, if} è viene chiamato l insieme dei valori di ingresso. U rappresenta un insieme finito di elementi: U={u1, u2, u3, uf} e viene chiamato l insieme dei valori di uscita. f rappresenta una funzione il cui dominio è uguale al prodotto cartesiano tre S*I, mentre il suo codominio (ovvero tutti i valori che può assumere) e S. f viene chiamato funzione di transizione di stato. d rappresenta una funzione il cui dominio è uguale al prodotto cartesiano tre S*I, mentre il suo codominio (ovvero tutti i valori che può assumere) e U. d viene chiamato funzione di trasformazione di uscita. Gli automi si dividono in combinatori e sequenziali. 1. Combinatori: se i valori della funzione di trasformazione (g) non dipendono dagli stati S*I. es. g(s1, i1) = u1 g(s2, i2) = u2 g(s2, i1) =u1 g(s2, i2) =u2 2. Sequenziali: sono autopi di tipo generale dove S*I U Gli automi sequenziali si dividono in: 1. A stati finiti: dove S è uguale ad un numero finito di volte. 2. Non a stati finiti: S è diverso da n. Gli automi sequanziali a stati finiti si dividono in: 1. Di Mealy: i valori di g sono uguali a S*I U 2. Di more quando i valori di g non dipendono da (g = S U ). 3

Ogni computer appartiene alla categoria dei sistemi digitali. COMPONENTI FONDAMENTALI: 1. UNITA CENTRALE che è la più importante perché ha il compito di elaborare tutte le informazioni. 2. LE UNITA PERIFERICHE DI INGRESSO USCITA (I/O) che hanno il compito di far comunicare il computer con l ambiente esterno. DI MEMORIZZAZIONE AUSILIARIA (memoria di massa) che hanno il compito di memorizzare tutte le informazioni che il computer deve elaborare in un determinato istante di tempo. IL SISEMA DI UNITA CENTRALE I suoi COMPONENTI sono: MEMORIA RAM (o centrale), INTERFACCE DI INGRESSO USCITA e IL PROCESSORE. LA MEMEORIA RAM contiene tutte le informazioni che devono essere elaborate. IL PROCESSORE elabora le informazioni. Per fare questo ha bisogno di utilizzare dei programmi, costituiti da sequenze di istruzioni, che a loro volta sono contenuti nella memoria centrale. LE INTERFACCE DI INGRESSO USCITA collegano l unità centrale alle varie unità periferiche. LA MEMORIA CENTRALE (RAM) Anche questo è di natura digitale. I suoi componenti sono detti CELLE DI LOCAZIONE DI MEMORIA, le quali sono in grado di memorizzare una parola di un codice binario di una certa lunghezza. Tutte le celle hanno la stessa capacità. Il contenuto delle celle viene espresso tramite un codice binario. Anche gli indirizzi di cella sono espressi tramite codice binario. Indicando con K il n di BIT di ohni indirizzo n, n deve essere minore o uguale a 2 k In queste celle sono possibili due tipi di operazioni: 1. LETTURA DEL CONTENUTO DI UNA PARTICOLARE CELLA DI LOCAZIONE che ha bisogno dell indirizzo della cella. 2. SCRITTURA DI UNA PAROLA BINARIA SU DI UNA CELLA.Per fare questo si ha bisogno di: La parola binaria che si vuole scrivere L indirizzo di cella. 4

I PROGRAMMI Sono delle sequenze di informazioni. Sono contenuti nella memoria centrale e devono essere scritte sotto forma di codice binario. PROGRAMMA Istruzione 1 Istruzione 2... istruzione n MEMORIA CENTRALE Codifica (istruzione 1) Codifica (istruzione 2)... Codifica (istruzione n) L insieme di tutti i codici riconosciuti dal processore viene detto CODICE MACCHINA. IL CODICE MACCHINA IL CODICE MACCHINA associa ad ogni istruzione eseguibile una parola binaria. Insieme delle istruzioni eseguibili CODIFICA DECODIFICA Insieme dei codici delle istruzioni Il CODICE MACCHINA può essere variabile. Le istruzioni base del computer sono le semplici operazioni matematiche. Le istruzioni più difficili: Vengono eseguite da un altro programma (detto BASIC)scritto in codice macchina O Vengono tradotte da un linguaggio ad alto livello a codice macchina tramite compilatore. ESEGUIRE LE ISTRUZIONI DI UN PROGRAMMA Questa operazione si chiama CICLO DI INTERPRETAZIONE DELLE ISTRUZIONI. 1. M[I P] I R dove I P è l indirizzo di locazione da cui si preleva il codice chiamato e I R è la parte di locazione di memoria dove il codice viene trasferito. 2. DECODIFICA DEL CONTENUTO DI I R 3. INCREMENTO DI I P in modo che l I P contenga l indirizzo della cella successiva. 4. ESEGUI ISTRUZIONE 5. TORNA AL PASSO n 1 5

IL LINGUAGIO MACCHINA È composto dall insieme delle istruzioni che possono essere eseguite dal processore. Istruzioni del linguaggio CODIFICA Codice macchina delle istruzioni DECODIFICA Scrittura Lettura DESCRIZIONE SIMBOLICA Disassemblaggio Assemblaggio La DESCRIZIONE SIMBOLICA non è un codice binario, ma è una frase composta da una o più parole successive e quindi è più leggibile di un codice binario. Deve però soddisfare più regole sintattiche, in modo da poter essere tradotto automaticamente in codice macchina. REGOLE Nome istruzione operando di destinazione operando sorgente I REGISTRI Si dividono in due categorie: Reg. a 8 bit e Reg. a 16 bit I REG. A 8bit sono 8 e vengono indicati: AL AH BL BH CL CH DL DH I REG. A 16 bit sono 8 e vengono indicati: AX BX CX DX SP BP SI OI Esiste però una relazione tra i due tipi di registri, infatti il processore contiene solo 8 registri a 16 bit. I registri possono essere usati come operandi. SOTTOINSIEME INTEL 80-86 La memoria centrale ha capacità di 16^4 = 2^16 = 65536 byte. = 64 Kbyte In realtà ha capacità: K = 2^10 = 1024 M = 2^20 = 1024^2 G = 2^30 = 6

LE PAROLE BINARIE DA 8 bit SONO DETTE: LUNGHEZZA NOME 8 bit Byte 16 bit Word 32 bit Double Word 64 bit Quad. Word 128 bit Paragraph PRESENTAZIONE A FINALE GRANDE Chiamando a l indirizzo della prima locazione di memoria B21 B24 B23 B16 B15..B8 B7 B0 Byte [ a ] Byte [ a +1 ] Byte [ a +2 ] Byte [ a +3 ] PRESENTAZIONE A FINALE PICCOLA B21 B24 B23 B16 B15..B8 B7 B0 Byte [ a ] Byte [ a +1 ] Byte [ a +2 ] Byte [ a +3 ] 7

Mov dest,sorg 1. Eventuali operandi devono avere uguale lunghezza 2. L operando di destinazione non può essere una costante (parola di 16 bit) 3. I due operandi non possono essere entrambi locazione di memoria ADD dest,org 1. I due operandi devono avere la stessa lunghezza 2. La destinazione non può essere una costante 3. I due operandi non possono rappresentare la stessa locazione di memoria. dest = dest + sorg CF se c e un riporto. ZF se somma = 0 è attivo. OF attivo se i due ultimiriporti sono diversi. dest = dest + sorg + CF 8

SBB dest,sorg 1. I due operandi devono avere uguale lunghezza 2. L operando di dest non deve essere costante 3. I due operandi non possono rappresentare la stessa locazione di memoria. dest = dest sorg CF, SF, ZF, OF dest = dest sorc CF 9

Il processore esegue le operazioni in modo sequenziale, questa istruzione permette di effettuare salti all interno del programma. JMP sorg Il programma passa ad eseguire l istruzione il cui indirizzo viene dato dall operando sorg. IP = sorg Il salto viene effettuato solo se verificata una certa condizione. Nome mnemonico Condizione JO J. on overflow OF = 1 JNO J.if not over. OF = 0 JS On sign SF = 1 JNS If not sign SF = 0 JZ On zero ZF = 1 JNZ If not zero ZF = 0 JC On carry CF = 1 JNC If not carry CF= 0 AND dest,sorg copia nell operando di destinazione il PRODOTTO LOGICO BIT A BIT tra dest e sorg 1. I due operandi devono avere uguale lunghezza 2. L operando di dest non deve essere costante 3. I due operandi non possono rappresentare la stessa locazione di memoria. 10

a b a AND b 0 0 0 0 1 0 1 0 0 1 1 1 OR dest,sorg copia nell operando di destinazione la SOMMA LOGICA BIT A BIT tra dest e sorg 1. I due operandi devono avere uguale lunghezza 2. L operando di dest non deve essere costante 3. I due operandi non possono rappresentare la stessa locazione di memoria. PRODOTTO LOGICO: a b a OR b 0 0 0 0 1 1 1 0 1 1 1 1 DESCRIZIONE SIMBOLICA: ISTRUZIONE XOR OPERAZIONE: copia nell operando di destinazione la SOMMA ESCLUSIVA BIT A BIT tra dest e sorg 11

2. I due operandi devono avere uguale lunghezza 2. L operando di dest non deve essere costante 3. I due operandi non possono rappresentare la stessa locazione di memoria. a b a AND b 0 0 0 0 1 1 1 0 1 1 1 0 Con l utilizzo delle tre istruzioni precedenti si modifica il ZF : CMP dest,sorg Esegue la sottrazione binaria tra dest e sorg senza modificare l operando dest Con l utilizzo di questa istruzione si modificano i SF e ZF. 12

!" # $!%& Nome Mnemonico dest, cnt = conteggio che può essere o cost 1 o la quantità presente nel registro CL L operando dest può essere: R 8 R 16 M 8 M 16 NOME OPERAZIONE EFFETTI SHL (shift left) Translare verso sinistra ogni bit dell operando di destinazione di tante posizioni quante indicate nel campo conteggio, azzerando i bit meno significativi. Se il CF = 0 equivale a Dest = dest * 2 Dest = dest * 2 ^ CL SAL (s. aritmetic l.) CF xchè ultimo bit traslato viene salvato su questo flag CF xchè ultimo bit traslato viene salvato su questo flag SHR (s. right) Se dest rappresenta un numero senza segno l operazione equivale a Dest = dest / 2 SARs(s.a.r.) Translare verso destra ogni bit dell operando di destinazione di tante posizioni quante indicate nel campo conteggio, azzerando i bit più significativi. CF xchè ultimo bit traslato viene salvato su questo flag CF xchè ultimo bit traslato viene salvato su questo flag!" # $!%& Nome Mnemonico dest Dest = R 8 R 16 M8 M16 NOME OPERAZIONE EFFETTI INC Incremento dell operando dest OF SF ZF Dest = dest +1 DEC Decremento dell operando dest OF SF ZF Dest = dest 1 NEG Se dest è numero con segno OF SF ZF Dest = -Dest NOT Complemento bit a bit dell operando dest. SF ZF 13

'!( ( "( &# "'! Rappresentano i modi diversi con i quali è possibile specificare l'indirizzo della locazione di memoria che rappresenta un operando di una istruzione.!# "'& "(! # ) Indirizzamento diretto [cost] Valore della costante Mov ax,[01fa] Indirizzamento indiretto [RB] [RI] Registri base, R indici RB RI Mov ax,[si] Relativo [rb ± cost] RB ± valore cost Mov al,[bx ± 1] Indicizzato [ri ± cost] Ri ± valore costante Mov ah[di ± 1] Relativo indicizzato [rb + ri ± cost] rb + ri ± val cost Mov ax,[bp + si ± 1] * Informazione di comunicazione tra programma e sistema operativo.256 bytes Va da qualche decina bi b a qualche decina di migliaia di b. Il suo indirizzo è contenuto nel registro SP Come per la PSP, lo STACK serve per il corretto funzionamento del programma [DANGER] Lo STACK è una struttura di dati particolare, la sua area viene calcolata con: 64k-SP. STRUTTURA DEI DATI. La prima istruzione inserita viene messa sul fondo, le altre vengono posizionate sopra della prima. I l prelievo avviene dalla cime, si preleva l'ultimo elemento inserito. Sintassi: push sorg sorg= R16 M16 Funzione: SP=SP-2; WORD[SP]=SORG Per il ripristino si può usare: MOV BX,SP MOV DX,[BP] 14

'+!" Sintassi: POP dest dest = R16 M16 Operazione: legge il contenuto dell'ultimo elemento e lo copia in dest Dest = word [SP] SP = SP+2 %'! +! (%%! '&, IL programma può essere suddiso in procedure, per richiamare una procedura si usa: '+!" Sintassi: CALL dest dest = cost R16 Funzione: SP = SP-2 WORD[SP]=IP IP=DEST Quando troviamo l'istruzione CALL, l'indirizzo dell'istruzione successiva viene salvato sullo STACK. Per poi essere richiamato. Per tornare alla procedura precedente, si usa: '+!" Sintassi: RET Funzione: IP=WORD[SP] SP=SP+2 15

Ci sono delle operazioni messe a disposizione del sistema operativo (MS-DOS) che sono chiamate SERVIZI. I SERVIZI DEL SISTEMA OPERATIVO Sono delle procedure messe a servizio d'ogni utente. Il SIST. OPER. MS-DOS possiede più di 100 servizi. Per richiamare un servizio è necessario fare uso dell'istruzione INT 21 Prima però bisogna inserire nell'indirizzo AH il numero d'ordine d'identificazione. Es.: Mov Int 21 ah, x NUMERO SERVIZIO 0 Terminazione del programma torna a DOS 1 Acquisizione di un carattere da tastiera il sistema si arresta e attende che sia premuto un tasto, una volta che il tasto è stato premuto il suo codice ASCII è memorizzato nel registro AL 2 Visualizzazione del carattere contenuto nel registro DL 16