Evoluzione dei processori Intel
Transcript
Evoluzione dei processori Intel
Evoluzione dei processori Intel Nome Gestione memoria 8086 Cache Bus Parallelismo Monoprogrammato Memoria segmentata Bus dati a 16 bit, bus indirizzi a 20 bit Pipeline a 2 stadi. Coda di prefetch. 80286 Multiprogrammato,. Memoria virtuale. Modo reale e modo protetto Bus indirizzi a 24 bit 80386 Modo 8086 virtuale. Memoria segmentata e paginata. Istruzioni Sistema Operativo MS-DOS Coprocessore matematico Windows FPU integrata Windows 3.1 Windows 95 Cache esterna Bus dati e indirizzi a 32 bit 80486 Cache interna. Cache per Read Ahead. Moltiplicazione di frequenza tra bus interno e bus esterno Pentium Cache per dati e cache per codice. BPU. 2 ALU strutturate a pipeline con 5 stadi MMX (parallelismo SIMD) Pentium Pro BPU con esecuzione speculativa 3 ALU Nuove istruzioni multimediali SIMD Monoprogrammazione: la memoria è interamente dedicata ad un unico programma, al contrario della multiprogrammazione, dove la memoria viene divisa tra più programmi. Memoria virtuale: tecnica utilizzata con la multiprogrammazione che simula la presenza di più memoria rispetto a quella installata utilizzando il disco fisso. Solo i dati e le istruzioni del programma attualmente in esecuzione sono realmente in memoria. Memoria paginata: tecnica utilizzata con la memoria virtuale in cui ogni segmento è diviso in pagine. Solo le pagine che contengono dati e istruzioni attualmente utilizzati dal programma in esecuzione sono realmente in memoria, il resto è sul disco. BPU (Branch Prediction Unit): cache che contiene l’indirizzo delle ultime istruzioni di salto eseguite e se il programma ha eseguito il salto o meno. Esecuzione speculativa: quando si incontra per la prima volta un’istruzione di salto si comincia ad eseguire fetch e decode dell’istruzione a cui bisogna saltare ancora prima di sapere se il salto deve essere eseguito o meno. SIMD (Single Instruction Multiple Data): tecnica di parallelismo per cui si può eseguire in un colpo solo la stessa istruzione su un’insieme di dati (ad esempio, con un’istruzione posso scurire tutti i pixel di un’immagine).