IL PROCESSORE INTEL 8086 per studenti PDF
Document Details
Uploaded by ValuableHilbert5480
Tags
Related
Summary
Questo documento fornisce una panoramica del processore Intel 8086, concentrandosi su vari aspetti come i registri, la gestione della memoria e l'architettura CISC. È un'analisi dettagliata dei componenti e delle caratteristiche tecniche del processore, utile per studenti di informatica e sistemi di elaborazione.
Full Transcript
IL PROCESSORE INTEL 8086 La Famiglia Intel 8086: il primo processore per PC (1979) 80286: 16 MB di memoria, ma ancora a 16 Bit (1982) La gamma 386: 32 bit e Memoria Cache (1985) Il 486: FPU e moltiplicatore (1989) Pentium: un fastidioso bug (1993) Pen...
IL PROCESSORE INTEL 8086 La Famiglia Intel 8086: il primo processore per PC (1979) 80286: 16 MB di memoria, ma ancora a 16 Bit (1982) La gamma 386: 32 bit e Memoria Cache (1985) Il 486: FPU e moltiplicatore (1989) Pentium: un fastidioso bug (1993) Pentium Pro: il primo a gestire oltre 4 GB di memoria (1995) Pentium II e III: fratelli (1997 e 1999) Celeron e Xeon: Intel cerca di conquistare altre fasce di mercato Pentium III Coppermine sfonda il muro del GHz Pentium 4: tanto rumore per nulla (2000) Pentium M: i notebook mostrano i muscoli (2003) Il Pentium 4 guadagna i 64-bit e un altro core (2005) Core 2 Duo: a 64 bit è presente nel mercato desktop, mobile e server (2006) Gamma Nehalem: i3, i5, i7 e i7extreme (2008-09-10) CARATTERISTICHE Bus dati a 16 bit Bus indirizzi a 20 bit (1MB) Multiplexaggio dati ed indirizzi 14 registri interni a 16 bit Architettura CISC (Complex Instruction Set Computing) 70 istruzioni di base Coda di Prefetch Coprocessore 8087 (floating point) Organizzazione della memoria a segmenti 40 pin 8 MHz REGISTRI 4 registri GENERALI o di transito AX: registro accumulatore I/O Calcolo BX: registro base Indirizzamenti CX: registro contatore Iterazioni DX: registro dati Dati I/O coppie di registri a 8 bit indirizzabili singolarmente HIGH: AH, BH, CH, DH LOW: AL, BL, CL, DL REGISTRI per l’indirizzamento della memoria 4 registri SEGMENTO CS: code segment (codice) DS: data segment (dati) SS: stack segment (stack) ES: extra segment (ausiliario) 5 registri PUNTATORI o INDICE IP: instruction pointer = PC (in CS) SI: source index (in DS) DI: destination index (in DS o ES) SP: stack pointer (in SS) BP: base pointer (in SS) REGISTRI registro dei FLAG: flag di stato + flag di controllo GESTIONE DELLA MEMORIA Lo spazio di memoria indirizzabile dalla CPU è diviso in segmenti logici (massimo di 64kbyte) La CPU può accedere direttamente a 4 segmenti Lo spazio di memoria viene visto come un gruppo di segmenti Ogni segmento: – è un'unità logica di memoria indipendente, indirizzabile separatamente dalle altre unità – inizia a un indirizzo di memoria multiplo di 16 – è costituito da locazioni contigue di memoria – è al massimo di 64k byte I quattro registri segmento puntano ai quattro segmenti correntemente utilizzabili Generazione dell’Indirizzo fisico Un indirizzo fisico è un valore di 20 bit che identifica in modo univoco ogni byte dello spazio di memoria di 1Mbyte Per trasferire dati tra la CPU e la memoria è necessario utilizzare gli indirizzi fisici I programmi utilizzano indirizzi formati da indirizzo del segmento e offset nel segmento entrambi quantità di 16 bit senza segno segmento : offset Bus indirizzi 20bit => 1Mbyte complessivo Registri a 16 bit => 64Kbyte per ogni segmento LITTLE ENDIAN: i byte di una word vengono scritti in ordine inverso Il BIU converte la coppia segmento:offset in indirizzo fisico Ciò avviene moltiplicando l'indirizzo del segmento per 16 e sommando al risultato l'offset nel segmento BUS INTERFACE UNIT FUNZIONI: (fetch) Prelevare la istruzioni dalla RAM Accodare le istruzioni Prelevare ed immagazzinare gli operandi (attraverso il bus esterno) Rilocare gli indirizzi Generare i segnali di controllo del bus Formata da Registri di segmento Program counter Coda di prefetch Sommatore di indirizzi (dedicato) Controllore del bus esterno EXECUTION UNIT FUNZIONI: (decode + execute) decodifica le istruzioni esegue le istruzioni fornisce dati e indirizzi al BIU modifica registri generali e registro flag Formata da: 8 registri (generali + indice + puntatori) ALU Unità di Controllo (preleva le istruzioni dalla coda della BIU) SR (letto/scritto da ALU) 2 registri temporaneti (non accessibili al programmatore) CODA di PREFETCH 6 byte BIU carica in coda le prossime istruzioni Coda non piena Bus esterno disponibile Precedenza alla EU Istruzioni di salto Idle state (bus inutilizzato) ISTRUZIONI Vari tipi di istruzioni di lunghezza diversa Ogni istruzione occupa un ben definito numero di cicli macchina Mancanza di Ortogonalità Ortogonalità: possibilità per le istruzioni di utilizzare uno qualsiasi dei registri come operando Esistono: istruzioni che utilizzano i registri generali in modo implicito istruzioni che funzionano solo con particolari registri generali