Resgate histórico do computador Patinho Feio (USP - 1971)

[CDE-3] Placa decodificadora de instruções

Seguem abaixo alguns renders 3D de placas do computador Patinho Feio que eu estou redesenhando no KiCad para começar um trabalho de construção de uma réplica real (não emulada).

Essa placa é chamada CDE-3:

C: “Controle”, pois trata-se de uma das várias placas que implementam a unidade de controle.
DE: “Decodificador”, pois essa placa recebe do fluxo de dados os 8 bits de opcode (vindos do RI = Registrador de Instrução) e os 8 bits de operando (vindos do RD = Registrador de Dados).
3: significa que é a terceira placa do conjunto de PCBs que compoem a unidade de controle.

Dados os 16 bits de opcode e operando, essa placa implementa uma função booleana para cada instrução da CPU. Portanto os sinais de saída indicam qual é a instrução atual codificada nos 16 bits da entrada.

[CDE-3-DEBUG] Placa de debugging para a PCB decodificadora de instruções

Pra não ter que construir o computador inteiro antes de validar essa placa, eu poderia testá-la com instrumentos de bancada. Mas ao invés disso, eu optei por projetar uma PCB auxiliar (que chamei convenientemente de CDE-3-DEBUG) que possui LEDs para cada um dos sinais de saída e os nomes dos sinais escritos na camada de silk. Também adicionei LEDs e jumpers com resistores pull-up para todos os 16 bits de entrada. Assim, é possível inserir manualmente uma combinação de bits na entrada e visualizar qual resultado é computado pela placa CDE-3. Além de servir para debugging, também cumpre o papel didático de demonstrar interativamente como funciona um decodificador de instruções duma CPU.

A imagens abaixo são renders 3D da placa CDE-3-DEBUG gerados pelo KiCAD:

Enquanto a placa CDE-3 possui um conector macho de 35x2 pinos usado para conectar a placa ao backplane do Patinho Feio, na CDE-3-DEBUG eu coloquei 2 conectores 35x2, sendo um macho e outro fêmea. Com isso, se todos os jumpers da placa DEBUG forem removidos, é possível deixá-la no meio do caminho entre a CDE-3 e o backplane. Dessa forma, se operarmos o Patinho Feio completo no modo “instrução única” será possível visualizar por meio dos LEDs os sinais de decodificação de instruções durante a operação normal do computador.

Como esse é um projeto de construção de uma réplica, faz mais sentido que a máquina fique exposta com suas “entranhas viradas do avesso”. Ou seja, ao invés de guardar as placas dentro de um gabinete fechado (como era na máquina original), o mais interessante nessa reprodução seria mantê-las afixadas em um quadro - plano - pendurado em uma parede e com placas extras como essa CDE-3-DEBUG para visualização dos sinais internos da CPU. Nesta configuração de exposição, surgem novas possibilidades educacionais para o ensino de princípios de computação e projeto eletrônico digital, o que tem sido a minha principal motivação para continuar pesquisando em minhas horas livres sobre esse computador.

Happy Hacking!
Felipe “Juca” Sanches

1 curtida