Definição de 8088
O 8088 era na verdade uma versão económica do processador 8086, que havia sido lançado pela Intel em 78. Quando a IBM estava desenvolvendo seu computador pessoal, chegou a ser cogitado o uso do 8086, mas acabou sendo escolhido o 8088 devido ao seu baixo custo.
Tanto o 8086 quanto o 8088 são processadores de 16 bits, considerados bastante avançados para a época. Um processador de 16 bits é capaz de endereçar mais memória (até 64 KB de memória de cada vez) e processar instruções muito mais complexas que os processadores de 8 bits usados até então.
A grande diferença entre os dois é que o 8086 é um processador de 16 bits "puro", enquanto o 8088 se comunica com os demais periféricos usando um barramento de 8 bits. Isso naturalmente prejudicava o desempenho, mas trouxe uma vantagem importante: a possibilidade de usar os componentes de 8 bits usados em outros computadores da época, que eram muito mais populares e baratos.
Essa arquitetura permitiu ao primeiro PC competir na mesma faixa de preço dos computadores de 8 bits mais populares e, ao mesmo tempo, possuir um desempenho bem superior devido ao seu processador de 16 bits. O 8088 é capaz de acessar até 1 MB de memória RAM (embora o PC original suportasse apenas 640 KB, devido a limitações por parte do BIOS e por parte da placa-mãe) e funciona a 4.77 MHz, recursos incrÃveis para a época, já que estamos falando de um processador lançado no final de 1979.
Um recurso bem interessante, usado no 8088, é a segmentação de endereços, que permitiu aumentar a quantidade de memória RAM suportada pelo processador.
Para que o processador possa acessar a memória RAM, é preciso que a memória seja dividida em endereços. Cada byte depositado na memória recebe um endereço único, assim como cada rua do Brasil tem um CEP diferente. Como o 8088 pode lidar apenas com palavras binárias de 16 bits, a princÃpio não seria possÃvel para ele acessar mais do que 64 Kbytes de memória RAM, já que 16 bits permitem apenas 65,536 combinações diferentes (2 elevado à 16º potência).
Se o 8088 pudesse acessar apenas 64 KB de memória RAM, os micros baseados nele seriam muito limitados e poderiam apenas rodar programas muito simples. Para você ter uma idéia, 64 KB não dariam nem mesmo para carregar o DOS 3.0.
Para solucionar este problema, foi adotada uma solução bastante engenhosa: apesar do processador continuar podendo acessar apenas 64 KB de memória de cada vez, foram criados mais 4 bits de endereçamento, que permitem o acesso a 16 blocos de memória. Como cada bloco possui 64 KB, chegamos a 1 MB inteiro de capacidade total. Basicamente criamos 16 áreas diferentes de memória, cada uma com 64 KB, que é o máximo que o 8088 pode endereçar.
O processador pode acessar uma única área de cada vez. Se por exemplo, está sendo usado o bloco 1, e de repente é preciso ler um dado gravado no bloco 2, é preciso limpar todos os endereços relativos ao bloco 1 e carregar os endereços do bloco 2. Neste momento, o processador perde o acesso ao bloco 1 e passa a enxergar apenas o segundo bloco. Quando novamente for preciso ler ou gravar dados no bloco 1 (ou qualquer outro bloco), novamente são carregados os endereços relativos a ele, e o acesso ao bloco 2 será perdido. É mais ou menos como se você precisasse fazer anotações em várias páginas de um caderno. Como só é possÃvel ler ou escrever em uma página de cada vez, você precisaria ficar continuamente virando as páginas.