Z80 NMOS e CMOS
Eletrônica

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.



loading...

- Consumo Dos Tk
Aproveitando que montei a Power TK e também pela informação dada pelo Victor Trucco de que a TBBlue consome um pouco mais de uma centena de miliamperes, resolvi medir o consumo nos meus equipamentos. Usei dois multímetros digitais junto à fonte,...

- Problema Com Poke No Bionic Commando
Para tempo infinito no Bionic Commando 128K, há dois diferentes POKEs sugeridos no The Tipshop. Desses dois, o que parece funcionar é POKE 34610,0. Disassembly deste trecho do programa revela:    34607   LD HL,35750  ; HL...

- Detecção De Ram 48/128
Conforme tinha prometido na postagem sobre incompatibilidade do Bubble Bobble, eu vou mostrar a rotina de detecção de tamanho de RAM 48/128K que elaborei na ocasião.  A ideia era fazer uma rotina que não altere o conteúdo da RAM a ser testada;...

- Perda De Dados Em Eprom
Assim como nós, apreciadores dos computadores clássicos, envelhecemos, o mesmo acontece com os equipamentos pelos quais temos tanto carinho. Dos componentes eletrônicos, os capacitores eletrolíticos são os que mais rapidamente se degradam. ...

- Porta 32765 (#7ffd)
Apesar de já ter comentado sobre esta porta de entrada e saída (I/O) do Spectrum 128 e da TKMEM-128, julguei conveniente repetir, pois ajudará na compreensão da listagem BASIC publicada ontem. Fonte: Wikipédia Esta é uma das novas portas introduzidas...



Eletrônica








.