A pré-busca de cache é o que permite que os processadores tenham dados e/ou instruções prontos para uso em um cache local rápido, em vez de ter que esperar que uma solicitação de busca chegue à RAM do sistema e volte novamente. O processador Intel 8088 (e seu irmão mais velho 8086) foi um dos primeiros microprocessadores a implementar pré-busca (de instruções) em hardware, o que [Ken Shirriff] analisou baseado nas imagens deste famoso processador. Isto segue mergulho profundo do ano passado no hardware de pré-busca do 8086, com (sem surpresa) muitas semelhanças entre esses dois microprocessadores, bem como algumas diferenças que se devem principalmente ao barramento de dados de 8088 bits reduzido do 8.
Enquanto o 8086 possui 3 slots de 16 bits no pré-buscador de instruções, o 8088 possui 4 slots, cada um de 8 bits. O hardware de pré-busca faz parte da Unidade de Interface de Barramento (BIU), que desacopla efetivamente o processador real (Unidade de Execução ou EU) da RAM do sistema. Embora as MPUs anteriores fossem totalmente determinísticas, com instruções sendo carregadas da RAM e posteriormente executadas, a pré-busca do 8086 e 8088 significava que tais suposições não eram mais verdadeiras. Os recursos adicionados na BIU também significaram que o ponteiro de instrução (IP) e os registros relacionados foram movidos para a BIU, enquanto a lógica do ringbuffer em torno da fila tinha que de alguma forma manter o enfileiramento e os deslocamentos do ponteiro na RAM funcionando corretamente.
Embora hoje em dia as CPUs tenham caches multiníveis muito mais complicados, medidos em kilobytes e megabytes, é fascinante ver onde tudo começou, com apenas alguns bytes e uma lógica de hardware relativamente simples que você acompanha facilmente sob um microscópio. .
Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.