Logo Zephyrnet

Circuitul de preluare a instrucțiunilor procesoarelor Intel 8088 și 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="

8088 moare sub microscop, cu principalele blocuri funcționale etichetate. Această fotografie prezintă un singur strat de metal al cipului; polisiliciul și siliciul sunt dedesubt. (Credit: 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=" dimensiune-medie wp-image-671481″ src="https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors-instruction-prefetch-circuitry.jpg” alt=”Morele 8088 sub microscop, cu principalele blocuri funcționale etichetate. Această fotografie prezintă un singur strat de metal al cipului; polisiliciul și siliciul sunt dedesubt. (Credit: Ken Shirriff)” width=”380″ height=”400″ srcset=”https://zephyrnet.com/wp-content/uploads/2024/03/the-intel-8088-and-8086-processors- instruction-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="(max-width: 380px) 100vw, 380px”>

8088 moare sub microscop, cu principalele blocuri funcționale etichetate. Această fotografie prezintă un singur strat de metal al cipului; polisiliciul și siliciul sunt dedesubt. (Credit: Ken Shirriff)

Preluarea cache-ului este ceea ce permite procesoarelor să aibă date și/sau instrucțiuni gata de utilizare într-un cache local rapid, mai degrabă decât să fie nevoiți să aștepte ca o solicitare de preluare să treacă în memoria RAM de sistem și înapoi. Procesorul Intel 8088 (și fratele său mai mare 8086) a fost printre primele microprocesoare care au implementat preîncărcarea (instrucțiuni) în hardware, ceea ce [Ken Shirriff] a analizat bazat pe imagini ale acestui faimos procesor. Urmează scufundarea în adâncime de anul trecut în hardware-ul de preîncărcare al lui 8086, cu (nesurprinzător) multe asemănări între aceste două microprocesoare, precum și câteva diferențe care se datorează în principal magistralei de date de 8088 biți reduse a lui 8.

În timp ce 8086 are 3 sloturi de 16 biți în prefetcherul de instrucțiuni, 8088 primește 4 sloturi, fiecare pe 8 biți. Hardware-ul de preîncărcare face parte din unitatea de interfață magistrală (BIU), care decuplează efectiv procesorul real (unitatea de execuție sau EU) de memoria RAM de sistem. În timp ce MPU-urile anterioare ar fi complet deterministe, instrucțiunile fiind încărcate din RAM și executate ulterior, preîncărcarea 8086 și 8088 a însemnat că astfel de presupuneri nu mai erau adevărate. Caracteristicile adăugate în BIU au însemnat, de asemenea, că pointerul de instrucțiuni (IP) și registrele aferente s-au mutat în BIU, în timp ce logica ringbuffer din jurul cozii a trebuit să mențină cumva cozile de așteptare și offset-urile pointerului în RAM să funcționeze corect.

Chiar dacă în zilele noastre CPU-urile au cache-uri mult mai complicate, pe mai multe niveluri, care sunt măsurate în kiloocteți și megaocteți, este fascinant să vezi de unde a început totul, cu doar câțiva octeți și o logică hardware relativ simplă pe care o urmărești cu ușurință la microscop. .

spot_img

Ultimele informații

spot_img