Logo Zephyrnet

Circuiti di prefetch delle istruzioni dei processori Intel 8088 e 8086

Data:

<img decoding="async" data-attachment-id="671481" data-permalink="https://hackaday.com/2024/03/28/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry/8088_die-labeled_c7cdbe/" data-orig-file="https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg" data-orig-size="2975,3135" data-comments-opened="1" data-image-meta="{"aperture":"0","credit":"","camera":"","caption":"","created_timestamp":"0","copyright":"","focal_length":"0","iso":"0","shutter_speed":"0","title":"","orientation":"0"}" data-image-title="8088_die-labeled_c7cdbe" data-image-description data-image-caption="

L'8088 muore al microscopio, con i principali blocchi funzionali etichettati. Questa foto mostra il singolo strato metallico del chip; il polisilicio e il silicio sono sotto. (Credito: Ken Shirriff)

” data-medium-file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry.jpg” data-large- file=”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg?w=593″ class="" dimensione-media wp-image-671481″ src="https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry.jpg" alt="L'8088 muore al microscopio, con i principali blocchi funzionali etichettati. Questa foto mostra il singolo strato metallico del chip; il polisilicio e il silicio sono sotto. (Credito: Ken Shirriff)” larghezza=”380″ altezza=”400″ srcset=”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors- istruzioni-prefetch-circuitry-1.jpg 2975w, https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg ?resize=237,250 237w, https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg?resize=380,400 380w , https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg?resize=593,625 593w, https:// zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg?resize=1458,1536 1458w, https://zephyrnet.com /wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry-1.jpg?resize=1943,2048 1943w” sizes="(larghezza massima: 380px) 100vw, 380px”>

L'8088 muore al microscopio, con i principali blocchi funzionali etichettati. Questa foto mostra il singolo strato metallico del chip; il polisilicio e il silicio sono sotto. (Credito: Ken Shirriff)

Il precaricamento della cache è ciò che consente ai processori di avere dati e/o istruzioni pronti per l'uso in una cache locale veloce invece di dover attendere che una richiesta di recupero arrivi alla RAM di sistema e viceversa. Il processore Intel 8088 (e il suo fratello maggiore 8086) è stato tra i primi microprocessori a implementare il precaricamento (istruzioni) nell'hardware, cosa che [Ken Shirriff] ha analizzato basato sulle immagini di questo famoso processore. Questo segue l'approfondimento dell'anno scorso nell'hardware di precaricamento dell'8086, con (non sorprende) molte somiglianze tra questi due microprocessori, così come alcune differenze che sono principalmente dovute al bus dati a 8088 bit ridotto dell'8.

Mentre l'8086 ha 3 slot da 16 bit nel prefetcher delle istruzioni, l'8088 ha 4 slot, ciascuno da 8 bit. L'hardware di precaricamento fa parte della Bus Interface Unit (BIU), che disaccoppia efficacemente il processore vero e proprio (Execution Unit o EU) dalla RAM del sistema. Mentre le MPU precedenti sarebbero state completamente deterministiche, con le istruzioni caricate dalla RAM e successivamente eseguite, il precaricamento dell'8086 e dell'8088 significava che tali presupposti non erano più veri. Le funzionalità aggiunte nella BIU significavano anche che il puntatore dell'istruzione (IP) e i relativi registri venivano spostati nella BIU, mentre la logica del ringbuffer attorno alla coda doveva in qualche modo mantenere correttamente il corretto funzionamento della coda e degli offset del puntatore nella RAM.

Anche se al giorno d'oggi le CPU hanno cache multilivello molto più complicate misurate in kilobyte e megabyte, è affascinante vedere dove tutto ha avuto inizio, con solo pochi byte e una logica hardware relativamente semplice che puoi facilmente seguire al microscopio. .

spot_img

L'ultima intelligenza

spot_img