MICROPROCESSORE INTEL 8086.

Slides:



Advertisements
Presentazioni simili
1 Introduzione ai calcolatori Parte II Software di base.
Advertisements

Il Sistema Operativo Il Sistema Operativo fa parte del software di base; e` costituito da un insieme di programmi che interagiscono e cooperano per: gestire.
AVVIARE IL COMPUTER WINDOWS ‘98 Queta fase è definita BOOTSTRAP
Programmazione assembler
La struttura fisica e logica di un elaboratore
Organizzazione della memoria
STRUTTURA DEL PERSONAL COMPUTER
CORSO DI AGGIORNAMENTO modulo 1- Computer
Il Sistema Operativo.
Elaboratore e Sistemi Operativo
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Indirizzi delle variabili A ogni variabile sono associati tre concetti fondamentali: il valore memorizzato; il tipo dati di appartenenza; lindirizzo. Il.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Corso di Informatica (Programmazione)
Struttura dei sistemi operativi (panoramica)
Il Linguaggio Macchina
Com’è fatto un elaboratore?
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
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.
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Ambienti di programmazione Stefano Cagnoni e Monica Mordonini.
Istruzioni per il Controllo del Processore
CPU (central process unit)
La macchina di von Neumann
La macchina di von Neumann
Corso di PHP.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Architettura dell’elaboratore
LEvoluzione dei computer In principio fu Eniac il primo calcolatore ad essere in grado di eseguire trecento moltiplicazioni al secondo. Bisogna aspettare.
WINDOWS XP PRIMI PASSI. Caratteristiche del sistema Le caratteristiche di base del PC (tipo e versione del sistema operativo installato, tipo e velocità
Microprocessore Intel 8086
Il Calcolatore Elettronico
ELETTRONICA DIGITALE (II Parte)
STRUTTURA GENERALE DI UN ELABORATORE
Appunti di Informatica
I blocchi fondamentali dell’elaborazione Componenti e funzionamento del calcolatore I blocchi fondamentali dell’elaborazione.
Introduzione al linguaggio assembly del microprocessore a parte
Introduzione al linguaggio assemby del microprocessore a parte
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Architettura del calcolatore
Il Sistema Operativo (1)
Introduzione al linguaggio assembly del microprocessore a parte
ARCHITETTURA DI UN ELABORATORE
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
Unità centrale di processo
Architettura di una CPU
Il µP Intel 8086 Marco Lettieri 3 C Informatica A.S. 2009/2010 All’attenzione del Professor Claudio Gatto.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Gestione dei dispositivi di I/O:
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
L’esecuzione dei programmi
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Il calcolatore Stefano Cagnoni e Monica Mordonini
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Dalla macchina di Von Neumann …
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
La prova di informatica per i concorsi pubblici Firenze – febbraio 2002 Paolo Campigli.
Il modello di Von Neumann
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura del Computer
Transcript della presentazione:

MICROPROCESSORE INTEL 8086

L’8086 fu la prima generazione della CPU Intel x86,introdotto nel 1978,è stato il primo processore a 16 bit di largo successo commerciale basato sull’8080 e sull’8085.Utilizzato nei PERSONAL COMPUTER DOS di tipo PC e XT,ha un BUS dati a 16 bit e un bus indirizzi a 20 bit.Può indirizzare fino a u1 MB di memoria.Funziona con un CLOCK da 4 MHz a 12 MHz ,alimentato a 5 volt,contiene 29.000 TRANSISTOR.Venne creato mentre alla Zilog si creava lo z8000.Dopo l’8086 la Intel presentò l’80286. Il primo microcomputer commerciale costruito utilizzando l'8086 fu il Mycron 2000.Anche la IBM Displaywriter, una macchina per la scrittura di testi, utilizzava la 8086. I PC IBM utilizzavano la versione a 8 bit, l‘8088. L'8086 fu clonato dai processori NEC V20, V25 e V30.

IL SIMULATORE DI PROCESSORE INTEL 8086 i8086sim è un simultore interattivo di 8086,scritto in C++,progettato ad oggetti. Il progetto di questo simulatore è costituito da due parti nettamente distinte: il back-end Il front-end Il BACK-END è la parte del programma che si occupa esclusivamente della simulazione,costituisce la macchina virtuale. Il FRONT-END è la parte del programma che si occupa della rappresentazione dello stato della macchina e costituisce l’intermediario fra l’utente della macchina e la macchina stessa. N.B PER QUESTO PREOGETTO E’ STATO SCELTO COME AMBIENTE WINDOWS 95’

ANALISI DELL’IMPLEMENTAZIONE DEL BACK-END Machine Essa contiene tutte le parti della macchina,questo progetto si fonda sul modello della macchina di Von Neumann. METODI CARATTERISTICI DI QUESTA CLASSE SONO: TRACE esegue una sola istruzione,che è quella puntata da CS:IP PROCEDE esegue una sola istruzione,quella puntata da CS:IP,ma in caso di CALL procede fino alla terminazione della PROCEDURA. GoTill esegue istruzioni,da quella corrente,fino a raggiumgere l’IP indicato. RUN esegue l’intero programma fino a trovare l’istruzione INT 21H con AH=4CH. ExeLoop è usata dai metodi precedenti che impostano il CS e l’IP di ritorno nelle variabili RetCS e RetIP di Machine e richiamano ExeLoop che inizia un ciclo esecuzione di istruzioni che termina quando viene raggiunto RetCS:RetIP.

I METODI PRINCIPIALI DI QUESTA CLASSE SONO: GETXX permette di leggere lo stato di un registro SETXX permette di scrivere un valore in un registro GETFLAG permette di conoscere lo stato di un FLAG della PSW SETFLG setta un FLAG dell PSW RESETFLAG resetta un FLAG della PSW EXECUTE esegue il codice operativo dell’indirizzo CS:IP

RAPPRESENTA LA MEMORIA CENTRALE DELLA MACCHINA… …La Memory I METODI GENERALI SONO: GETSIZE restituisce la dimensione attuale alla memoria GETBYTE da il contenuto del byte ad un dato indirizzo SETBYTE imposta un byte di indirizzo dato,ad un valore dato GETWORD da il contenuto della WORD ad un dato indirizzo SETWORD imposta una word di indirizzo dato,ad un valore dato. Input/Output Rappresenta l’unico modo di effettuare l’I/O per il simulatore.

Finora sono stati presentati gli oggetti di Machine che simulano componenti costitutive di una macchina,secondo il modello citato.Gli oggetti di seguito presentati invece sono solo delle operatività specifiche e non rappresentano un componente costitutivo della macchina.

ANALISI DELL’IMPLEMENTAZIONE DEL FRONT-END DI I8086 SIM. Il front-end di i8086sim è costituito da 4 form: Form1 MemForm ConForm AboutForm

FORM1 Interfaccia principale Contenuto registri in EDITBOX Chip i8086 prodotto da Pulsanti AMD esecuzione Flag di stato

Queste funzioni richiamano i metodi omonimi della classe Machine nel back-end. Quando si fa click su GOTILL viene visualizzata la finestra di dialogo per la richiesta dell’IP:

Le istruzioni modificano in vario modo i flag di stato generalmente riflettendo i seguenti stati: Il flag Parity è attivo se il risultato di un’operazione logica o aritmetica ha un numero pari di 1 nella sua rappresentazione binaria. Il flag Aux Carry è attivo se in un’operazione c’è un riporto del nibble meno significativo o un prestito di un bit dal nibble più significativo a quello meno significativo del byte meno significativo. Il flag Carry è attivo se in operazioni al byte o alla word c’è un riporto. Il flag Zero è attivo se il risultato è zero. Il flag Sign è attivo se il bit del risultato di ordine più alto è 1. Il flag Overflow è attivo se in un’operazione il bit più significativo produce un riporto diverso da quello prodotto dal bit immediatamente precedente. Nessuna delle istruzioni 8086,implementate nel simulatore,modifica i flag di controllo : Direction Flag Interrupt Enable Flag Trap Flag Che comunque possono essere modificati direttamente dall’utente in Form 1.

Menù in Form1 Load… Finestra di dialogo per la selezione del file EXE da allocare in memoria.

Save Log… Finestra di dialogo per la creazion del file LOG. Memory resize… Finestra di dialogo per il ridimensionamento della memo Clear console… Cancella il contenuto di ConForm Dump in Log… Tale voce è abilitata se il Logger è attivo.Visualizza la finestra di dialogo per riportare il contenuto di un intervallo di memoria nel Log.

Memory… I/O Console… Visualizza MemForm Visualizza ConForm About… Visualizza AboutForm

MemForm Questo form riporta lo stato della memoria rappresentando il valore esadecimale dei singoli byte.Sulla destra è riportato,se esiste il carattere ASCII corrispondente a tale valore.Inoltre selezionando una casella,si può editare direttamente il valore byte in forma esadecimale.Tale modifica sarà riportata nel back-end.In caso di modifica vengono anche aggiornate le istruzioni disassemblate in Form1,che potrebbero essere cambiate.

ConForm Questo form costituisce la console in cui l’utente inserisci l’input e visualizza l’output (solo caratteri).In caso di input,come si può osservare dalla figura,l’esecuzione del programma è bloccata e la richiesta di input è segnalata sulla StatusBar di Form1.Finchè non è premuto un tasto da tastiera,tutti i controlli di Form1 sono disabilitati.Inoltre quando non è in corso una richiesta di input,sulla console non si può scrivere.Il cordinamento di tale finestra don il Back-end ha costretto l’uso della variabile Action di Machine.

Analisi dell’implementazione del front-end di sim86. A prova dell’indipendenza del back-end dal front-end è stato realizzato SIM86 che è un simulatore con quasi tutte le funzione di i8086sim però è t t testuale.In figura di può vedere l’help con tutte le funzioni da esso eseguite .Il confronto interessante nasce dalle poche modifiche da apportare al back-end.Infatti in questo caso l I/O si esegue sulla stessa console del simulatore e nella stessa sono visualizzati i messaggi delle eccezzioni.Ciò richiede una gestione diversa da i8086sim infatti le classi ioput e exception hanno stessi file header,ma diverse definizioni dei metodi.Dunque in i8086 si ha ioutput.ccp e except.cpp mentre in sim86 si ha $ioput.cpp e Eexcept.cpp.Il modo di interagire del front-end con l’unica concole a disposizione del simulatore non crea lo stesso problema di input che si aveva con ConForm.Infatti la richiesta di un input da tastiera qui è proprio di tipo sequenziale(getch() ),ed essa stessa blocca l’esecuzione del programma.Qui non sarebbe necessario il meccanismo Action-ActionPerform ()-ExeLoop ().Questo però viene comunque mantenuto per lasciare il back-end il più generale possibile.

3° A LANGONE RUBEN