Unidade de Controle do 8086/8088 Sistemas Embarcados Introdução A BIU (Bus Interface Unit) é responsável por gerar ciclos de barramento para: Buscar instruções na memória e carregá-las na fila de instruções (prefetch); Enviar/receber dados da UE; Enviar/receber dados de unidades periféricas integradas. O início de um ciclo de barramento apresenta um endereço de memória ou uma localização de entrada/saída, e ainda informações de status. Sinais de controle de leitura/escrita definem a direção do fluxo de dados. Em um ciclo de leitura o dado flui da memória ou de um dispositivo de entrada/saída para a BIU. Em um ciclo de escrita o dado faz o caminho inverso. Introdução Barramento de dados e endereço são multiplexados no tempo. Uso eficiente dos pinos do chip Espaço de endereçamento de memória ou entrada/saídas são vistos pelo programador como uma sequência de bytes Memória = 1MByte, entrada/saída=64Kbyte Controle de Barramento de Dados de 16 Bits Escrita de palavra par em um ciclo de barramento. BHE = Byte High Enable Controle de Barramento de Dados de 16 Bits Escrita de uma palavra par em dois ciclos de barramento. Controle de Barramento de Dados de 16 Bits Acesso a uma palavra par. Leitura simultânea Controle de Barramento de Dados de 16 Bits Acesso a uma palavra ímpar. Leitura em dois ciclos. Controle de Barramento de Dados de 8 Bits Acesso a um byte é feito em um ciclo Acesso a uma word é feito em dois ciclos, sendo que o endereço define a localização do LSB Ciclos de Barramento Há 4 tipos de ciclos de barramento: Leitura (memória, entrada/saída e busca de instruções) Escrita (memória e entrada/saída) Reconhecimento de interrupção Parado Ciclos de Barramento Ciclo de Leitura Típico Ciclos de Barramento Interface típica para dispositivo somente de leitura Ciclos de Barramento Ciclo de escrita Típico Ciclos de Barramento Interface típica para dispositivo de leitura/escrita Ciclos de Barramento Ciclo de reconhecimento de interrupção Ciclos de Barramento Interface típica para dispositivo de interrupção Ciclos de Barramento Os ciclos de parada são úteis para minimizar o consumo de energia A instrução HLT força um ciclo de parada, onde: A UE é suspensa; e a BIU é instruída a executar um ciclo de parada. Um ciclo de parada é suspenso após uma interrupção. O estado dos pinos durante um ciclo de parada é como a seguir. Ciclos de Barramento Ciclo de parada Buferizando o Barramento de Dados A BIU gera sinais para controlar a direção de buffers ou transceivers bidirecionais Buferizando o Barramento de Dados