quarta-feira, 10 de abril de 2013

Z80 NMOS e CMOS

Além dos que estão na foto, eu possuo ainda dois outros Z80 contidos no CP200 e TK85.


O Z80 foi projetado pela Zilog em 1976, empregando a tecnologia NMOS. Mais tarde começaram a ser produzidas versões CMOS desta CPU.

Transistores MOS são dispositivos cuja condutividade elétrica entre os terminais dreno (drain) e fonte (source) depende da tensão aplicada sobre o terceiro terminal, a porta (gate). Neste aspecto lembra os transistores bipolares, nos quais a corrente entre os terminais coletor e emissor depende do corrente que percorre a base. A semelhança cessa quando se observa que a porta é separada do semicondutor através de um isolante elétrico (óxido de silício) e, portanto, a passagem de corrente é quase nula.

Sendo assim, a entrada de um transistor de efeito de campo MOS (ou MOSFET) idealmente não drenaria corrente. Entretanto isto é meia verdade, pois dois condutores (ou semicondutores) separados por um isolante forma um capacitor, que conduz corrente alternada. Em frequências elevadas, na faixa de MHz, a intensidade da corrente é considerável.

Apesar disso, transistores MOS mostraram-se bastante adequados para implementação de lógica integrada. Quando empregados em comutação, estes transistores comportam-se como um resistor de baixo valor (estado de condução) ou como um isolante (estado de corte). Assim como nos transistores bipolares há os tipos complementares NPN e PNP, existem MOSFET de tipo N (NMOS) e de tipo P (PMOS).

Os transistores NMOS eram mais fáceis de fabricar e possuíam características favoráveis em circuitos digitais, tornando-se bastante popular em circuitos de elevada integração. A lógica NMOS é baseada em resistores e MOSFETs de tipo N para manipular os níveis lógicos 0 e 1. Uma característica intrínseca deste tipo de circuito lógico é a maior dissipação de energia devido aos resistores, quando os transistores estavam em estado de condução (nível lógico 0).

A abordagem CMOS (complementary MOS) substitui os resistores por transistores PMOS que, em par complementar com NMOS, dissipavam bem menos energia. Isto ocorria porque enquanto um dos transistores entrava em estado de condução, o outro se tornava praticamente um isolante. Entretanto esta tecnologia demorou para amadurecer, principalmente pela dificuldade em se fabricar transistores PMOS. Com o desenvolvimento das técnicas na indústria de semicondutores, os obstáculos foram superados e hoje CMOS é dominante em eletrônica digital.

Durante os testes de longa duração de determinação do clock do TK90X, percebi que o Z80 estava levemente aquecido. Apesar de não ser uma temperatura que cause dano ao componente, achei estranho, pois na minha memória ele trabalhava sempre frio. Depois percebi o que aconteceu: eu trocara o Z80 que era CMOS por um NMOS (eu vivo fuçando no meu TK90X!).

Dos cinco Z80 da foto:

os da ST com código Z84C00 são CMOS, e o da SGS e da Zilog com código Z8400 são NMOS. O MK3880 da Mostek também é NMOS (este é do meu TK95).

Como fazer para distinguir se um Z80 é NMOS ou CMOS? Velesoft deu uma dica, o comportamento da instrução extra-oficial OUT (C),0 difere entre as versões. Na versão NMOS o valor 0 é enviado para a porta I/O, enquanto na CMOS é enviado o valor 255. Portanto o trecho em assembly:
     LD BC,254
     OUT (C),0
serve para distinguir entre as versões no TK90X.

Para introduzir estes códigos, basta digitar no BASIC:
  10 BORDER 2 : PAPER 2 : INK 9 : CLEAR 4e4 
  20 POKE 50000,237 : POKE 50001,113 : POKE 50002,201 
  30 RAND USR 50000 : PAUSE 0
e executar com RUN.

Se a borda ficar preta, a instrução extra-oficial enviou valor 0 e portanto a CPU é NMOS; se ficar branca, foi enviado o valor 255 e o Z80 é CMOS. Eu fiz os testes com os microprocessadores acima e o comportamento foi o esperado. Os leitores também podem fazer o mesmo.

Alguém que entende de código de máquina pode questionar que nos POKEs não há a instrução LD BC,254, que atribuiria o endereço da porta da ULA que muda a cor da borda. O truque é que USR atribuirá valor 50000 para os registradores BC que, sendo um valor par, irá habilitar a porta da ULA.

2 comentários:

  1. Muito legal, parabens pelo artigo. vou passar a observar melhor os z80 que tenho aqui e qual esta em cada micro.

    ResponderExcluir
    Respostas
    1. O interessante desses equipamentos é que sempre há algo a se aprender. Valeu, Wesley.

      Excluir

Seu comentário é bem vindo, mas peço que use este espaço adequadamente.