Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Cap3 Micrp intel 8088, Notas de estudo de Engenharia Elétrica

intel 8088

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 28/05/2010

volnei-junior-12
volnei-junior-12 🇧🇷

4.7

(43)

293 documentos

1 / 4

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Capítulo 3
O Microprocessador intel 8088
O 8088 foi o primeiro microprocessador de 16 bits (seus registros internos) lançado em 1978 pela Intel Inc. Sua
importância histórica reside no fato de que ele foi escolhido, no início dos anos 80 para compor a arquitetura dos
computadores mais conhecidos (e mais utilizados) em todo mundo — os computadores pessoais da IBM (IBM-PC). O
microprocessador 8088 é antigo, ele foi primeiramente produzido em 1978. Isto não quer dizer que é inútil estudar o
Assembly 8088. Devido a política da Intel (o produtor do 8088), todos os processadores da família Intel suportam as
instruções do 8088. Isto implica que os processadores 80286, 80386, até o Pentium suportam o Assembly 8088.
Algumas das principais características processador 8088 são apresentados abaixo:
Apesar de ser um microprocessador de 16 bits, ele dialoga com o exterior através de um barramento de dados de 8
bits. Isto foi devido a problemas de compatibilidade com os outros chips do mercado da época, que possuiam um
barramento de dados de 8 bits.
No que diz respeito à capacidade de endereçamento, este processador apresenta um barramento de endereços de 20
bits, o que lhe permite endereçar até 1.048.576 posições de memória, ou seja, 1 Mbyte.
Outra característica importante é que ele apresenta dois modos de funcionamento, um máximo e outro mínimo. Ele é
utilizado no modo mínimo no contexto de sistemas dispondo de poucos dispositivos periféricos, como por exemplo,
como controlador em aparelhos eletrodomésticos. Neste caso, a função dos sinais nos pinos do 8088 é diferente e o
seu funcionamento externo é simplificado. O 8088 é utilizado em modo máximo quando existe a necessidade de
explorar todos os seus recursos funcionais. Um caso típico disto é quando ele vai compor a arquitetura de um
microcomputador.
1. Estrutura de segmentação de memória
Como já foi apresentado, o processador 8088 pode acessar 1 Mbytes de memória. Mas como é que eu posso
endereçar estes 1 Mbytes se os registro internos são de 16 bits? Que se fossem utilizados só ele poderíamos endereçar
somente 64 Kbytes)? Para endereçar 1 Mbytes nós precisamos de um mecanismo adicional para montar os endereços de
20 bits, que implicou num novo conceito, chamado de segmento de memória.
Segmentos de memória são blocos de 64Kbytes. Assim, os 1Mbytes (ou seja de 00000 até FFFFF) são divididos
em vários blocos de 64Kbytes. Estes segmentos podem ter uma área de memória para si só, ou ele pode compartilhar uma
parte da memória com outro segmento, ou ainda dois segmentos podem ocupar a mesma área de memória física. pode
ocupar a mesma área. Estas várias situações são apresentadas na figura 3.
Ainda na figura 3, abrindo o segmento A, por exemplo, nós temos uma região de memória indo de 20000h até
2FFFFh. Para endereçar uma posição de memória particular neste segmento, no 8088 nós precisamos de dois registros de
16 bits: um registro conterá o endereço base do segmento e o outro conterá o deslocamento a partir do endereço base onde
o dado está. Por exemplo, para endereçar o dado “x”, é necessário um registro contem o endereço base 2000h e o outro
contem o deslocamento 0013h. Para calcular o endereço físico de “x”, nós temos que multiplicar por 10 h o endereço base
e somar com o offset. Assim, o endereço físico de “x” é 20013h, este endereço pode ser notado como 2000h:0013h.
Fig ura 1. Segmentação de Memória
2. Configuração externa do 8088
O 8088 se apresenta num chip de 40 pinos, como apresentado na figura 1. A seguir são apresentadas as função dos
principais pinos do 8088 considerando seu funcionamento em modo máximo:
O pino MN/ (33) é uma entrada que permite selecionar o modo de funcionamento. Quando o sinal nesta
entrada for colocada a 1, o 8088 funcionará em modo mínimo (MN) ou não máximo (). Caso contrário,
ele estará em modo máximo.
Metade dos pinos do 8088 são dedicados aos barramentos de endereços e de dados. O barramento de
endereços e de E/S é composto dos pinos A0 a A19. No que diz respeito ao barramento de dados (8 bits),
no intuito de limitar a quantidade de pinos no chip este foi multiplexado com os 8 bits menos
significativos do barramento de endereços. Isto explica o porquê da notação AD7 a AD0 associada aos
pinos (9 a 16). O funcionamento destes pinos segue a política seguinte: durante o primeiro ciclo de
barramento numa operação de comunicação, estes pinos correspondem aos bits menos significativos do
pf3
pf4

Pré-visualização parcial do texto

Baixe Cap3 Micrp intel 8088 e outras Notas de estudo em PDF para Engenharia Elétrica, somente na Docsity!

Capítulo 3

O Microprocessador intel 8088

O 8088 foi o primeiro microprocessador de 16 bits (seus registros internos) lançado em 1978 pela Intel Inc. Sua importância histórica reside no fato de que ele foi escolhido, no início dos anos 80 para compor a arquitetura dos computadores mais conhecidos (e mais utilizados) em todo mundo — os computadores pessoais da IBM (IBM-PC). O microprocessador 8088 é antigo, ele foi primeiramente produzido em 1978. Isto não quer dizer que é inútil estudar o Assembly 8088. Devido a política da Intel (o produtor do 8088), todos os processadores da família Intel suportam as instruções do 8088. Isto implica que os processadores 80286, 80386, até o Pentium suportam o Assembly 8088. Algumas das principais características processador 8088 são apresentados abaixo:

• Apesar de ser um microprocessador de 16 bits, ele dialoga com o exterior através de um barramento de dados de 8

bits. Isto foi devido a problemas de compatibilidade com os outros chips do mercado da época, que possuiam um barramento de dados de 8 bits.

• No que diz respeito à capacidade de endereçamento, este processador apresenta um barramento de endereços de 20

bits, o que lhe permite endereçar até 1.048.576 posições de memória, ou seja, 1 Mbyte.

• Outra característica importante é que ele apresenta dois modos de funcionamento, um máximo e outro mínimo. Ele é

utilizado no modo mínimo no contexto de sistemas dispondo de poucos dispositivos periféricos, como por exemplo, como controlador em aparelhos eletrodomésticos. Neste caso, a função dos sinais nos pinos do 8088 é diferente e o seu funcionamento externo é simplificado. O 8088 é utilizado em modo máximo quando existe a necessidade de explorar todos os seus recursos funcionais. Um caso típico disto é quando ele vai compor a arquitetura de um microcomputador.

1. Estrutura de segmentação de memória

Como já foi apresentado, o processador 8088 pode acessar 1 Mbytes de memória. Mas como é que eu posso endereçar estes 1 Mbytes se os registro internos são de 16 bits? Que se fossem utilizados só ele poderíamos endereçar somente 64 Kbytes)? Para endereçar 1 Mbytes nós precisamos de um mecanismo adicional para montar os endereços de 20 bits, que implicou num novo conceito, chamado de segmento de memória. Segmentos de memória são blocos de 64Kbytes. Assim, os 1Mbytes (ou seja de 00000 até FFFFF) são divididos em vários blocos de 64Kbytes. Estes segmentos podem ter uma área de memória para si só, ou ele pode compartilhar uma parte da memória com outro segmento, ou ainda dois segmentos podem ocupar a mesma área de memória física. pode ocupar a mesma área. Estas várias situações são apresentadas na figura 3. Ainda na figura 3, abrindo o segmento A, por exemplo, nós temos uma região de memória indo de 20000 (^) h até 2FFFFh. Para endereçar uma posição de memória particular neste segmento, no 8088 nós precisamos de dois registros de 16 bits: um registro conterá o endereço base do segmento e o outro conterá o deslocamento a partir do endereço base onde o dado está. Por exemplo, para endereçar o dado “x”, é necessário um registro contem o endereço base 2000h e o outro contem o deslocamento 0013h. Para calcular o endereço físico de “x”, nós temos que multiplicar por 10 (^) h o endereço base e somar com o offset. Assim, o endereço físico de “x” é 20013h, este endereço pode ser notado como 2000 (^) h:0013 (^) h.

Figura 1. Segmentação de Memória

2. Configuração externa do 8088

O 8088 se apresenta num chip de 40 pinos, como apresentado na figura 1. A seguir são apresentadas as função dos principais pinos do 8088 considerando seu funcionamento em modo máximo:

• O pino MN/ (33) é uma entrada que permite selecionar o modo de funcionamento. Quando o sinal nesta

entrada for colocada a 1, o 8088 funcionará em modo mínimo (MN) ou não máximo (). Caso contrário,

ele estará em modo máximo.

• Metade dos pinos do 8088 são dedicados aos barramentos de endereços e de dados. O barramento de

endereços e de E/S é composto dos pinos A0 a A19. No que diz respeito ao barramento de dados (8 bits),

no intuito de limitar a quantidade de pinos no chip este foi multiplexado com os 8 bits menos

significativos do barramento de endereços. Isto explica o porquê da notação AD7 a AD0 associada aos

pinos (9 a 16). O funcionamento destes pinos segue a política seguinte: durante o primeiro ciclo de

barramento numa operação de comunicação, estes pinos correspondem aos bits menos significativos do

endereço; nos demais ciclos, estes materializam o barramento de dados. Os pinos A15 a A8 (39 e 2 a 8)

são dedicados exclusivamente aos 8 bits seguintes do barramento de endereços.

Figura 2. Configuração externa do 8088

  • Os pinos GND (1 e 20) e VCC (40) estão associados, respectivamente às entradas de terra e 5 volts da alimentação.
  • O pino CLK (19) representa a entrada de clock do 8088, sendo que a frequência do sinal é limitada a 5 MHz, o que representa uma velocidade de processamento 1,7 superior ao 8085.
  • NMI e INTR (respectivamente, pinos 17 e 18) são entradas dedicadas ao recebimento de pedidos de interrupção. Os pedidos associados a NMI ( Non Masquable Interrupts ) são pedidos associados a interrupções não mascaráveis por software — exemplos deste tipo de interrupção são aqueles devido a erros de paridade de memória, ou queda na tensão de alimentação. Os pedidos associados à entrada INTR correspondem a interrupções mascaráveis por software. 3. Arquitetura Interna do 8088 A figura 2 apresenta a arquitetura interna do 8088. O processador é constituído de 14 registros organizados em quatro grupos: os registros gerais; os registros apontadores; os registros de segmento e o contador de programa; e o registro de estado (flags). Uma característica importante do 8088 é que ele define funções relativamente específicas à maior parte dos seus registros.

Figura 3. Estrutura interna do processador 8088

4. Registros do 8088 Esta seção apresenta uma visão geral dos registros do processador 8088: aspectos gerais como tamanho e função.

4.1.. Registros gerais

A necessidade da existência desses registros é óbvia: um processador sem registros gerais teria que colocar os resultados das operações na memória, e isto gastaria tempo. Mantendo os operandos e os resultados dentro da CPU, as transferências tornam-se mais rápidas. Embora o fabricante se esforce em identificar alguns registros como de uso geral, eles possuem funções bem definidas. Abaixo são apresentados os registros gerais do 8088: AX : E/S, multiplicações, divisões, tradução, etc... (chamado também de Acumulador) BX : Registro de base para endereçamento de zonas de memória CX : Contagem de dados DX : Endereçamento indireto de portas de E/S, multiplicação e divisões Os registros de dados são os únicos do 8088 que podem ser divididos em duas metades, e utilizados isoladamente como dois registros de 8 bits. Outros operam sempre como uma unidade de 16 bits. Cada um possui a metade menos significativa (AL, BL, CL, DL) e a metade mais significativa (AH, BH, CH, DH). Por enquanto, o que é importante reter é que estes registros serão utilizados para melhorar os programas, além do que, muitas instruções do 8088 são executadas supondo que um certo valor foi carregado nesses registros.

4.2.. Registros de segmento

Como apresentado na seção 3.1, a memória utilizada pelo 8088 é dividida em segmentos. A função dos registros de segmento é identificar o endereço base do segmento utilizado. Existem quatro tipos de segmento: o segmento de código, de dados, Extra e de Pilha. Os registros de segmento mantêm os endereços de base de cada segmento utilizado. A tabela abaixo apresenta uma descrição dos vários tipos de segmento e o registro de segmento que contém o endereço de base de cada tipo de segmento. Segmento Endereço Base Descrição

segmento de código CS contem o código do programa segmento de dados DS contem as variáveis do programa segmento de stack SS pilha de endereços e de dados segmento extra ES contem mais dados Relembrando o cálculo do endereço físico da base de um segmento: tomando por exemplo o segmento extra, nós multiplicamos o endereço contido em ES por 10h para obter o endereço físico da base do segmento. Como o tamanho do segmento é de 64Kbytes, o endereço final do segmento extra é 4FFFF (^) h. Estes registros são totalmente manipulados por instruções, e poderiam até ser considerados como registros gerais, pois pode-se mover dados de um registro como AX para DS.

52h

53h