Um engenheiro britânico construiu um processador discreto de 500 kg. Etapas do trabalho e entrevistas com o criador

Megaprocessador é um processador de 16 bits com quatro registros de uso geral. Os painéis separados contêm diagramas para diversos fins, incluindo memória, unidade aritmética, entrada / saída e outros. O sistema usa uma unidade ALU de 16 bits e um somador de 16 bits. O megaprocessador está equipado com 10.000 LEDs, cuja intermitência mostra cada estágio do processo de cálculo, mostrando a direção do movimento dos dados de acordo com o esquema. A capacidade da memória é de 256 bytes. O bloco de memória inclui 27.000 transistores. O número total de transistores no sistema excede 40 mil. A massa do processador é de 500 kg. O processador opera a uma frequência de 20 kilohertz.



Por que tudo isso foi criado? O autor do projeto, um engenheiro eletrônico do Reino Unido, James Newman, queria entender como funciona um processador moderno. Ele decidiu que a melhor maneira de obter a quantidade máxima de informações sobre os princípios de operação dos transistores e de um processador seria criar um processador por conta própria. Segundo ele, o processo de estudo ficou fora de controle e se transformou em um trabalho diário.

“Os computadores são opacos. Olhando para eles, não se pode entender como eles funcionam. O que eu queria fazer era entrar e entender o que estava acontecendo. O problema é que isso não pode ser feito com processadores de tamanho regular. Mas podemos construir um grande processador com nossas próprias mãos - e então ficará claro o que está acontecendo lá dentro. Para exibir os fluxos de dados, vale a pena adicionar também LEDs, o que foi feito ”, diz James Newman. Agora o Megaprocessador pode ser assistido em tempo real, e qualquer pessoa pode entender em quais elementos o processador consiste e como cada unidade funciona.

O megaprocessador ocupa uma parte significativa da sala de estar na casa do engenheiro, causando-lhe alguns inconvenientes.

Para demonstrar os recursos de computação do processador, o engenheiro decidiu escolher um jogo de tetris. Os elementos do jogo são exibidos em uma grande tela LED com uma resolução de 32 * 64 LEDs. Durante o jogo em tempo real, tudo o que acontece dentro do processador é visível.

“Seu computador pode ser um milhão de vezes mais rápido que o sistema que eu construí, mas é muito mais atraente ... acho que nunca posso vender meu projeto, mas quero que o Megaprocessador seja apresentado como uma exposição em um museu ou instituição educacional "Diz Newman.

Montagem do sistema


Megaprocessador consiste em um grande número de elementos que são montados em blocos. Blocos separados são colocados em suportes. A altura do suporte é de 2 metros. Largura - de 1,2 a 1,6 metros. Em cada suporte, é montado um pequeno número de módulos - de 2 a 4. O suporte serve como um local para colocar os módulos e sua proteção. Cada módulo executa um conjunto específico de funções. Por exemplo, há um módulo ALU, um decodificador e outros. Os módulos são compostos de placas individuais.

Suportes


Os quadros foram feitos de alumínio extrudado. Em todos os estandes, há uma descrição detalhada das funções desempenhadas por uma unidade de computação específica. Aqui está um bloco de registros de finalidade especial:



A estrutura possui canais para cabos de energia. As baterias são cobertas com proteção de metal para que nada se mova no caso de o suporte ser movido: os


blocos de conexão são montados nas laterais do suporte.



Cada suporte possui uma placa de serviço, montada no lado inferior direito.


Cada placa de serviço tem duas funções. O primeiro é conectar e monitorar linhas de energia. O segundo é fornecer acesso aos terminais de energia. Existem 7 estandes no sistema.

Módulos



O megaprocessador é dividido em vários módulos. Aqui está o módulo do autômato de controle:


Aqui você pode ver os conjuntos de placas que implementam a lógica para um subsistema específico. As placas são montadas em um circuito mostrando o que está conectado com o que e como. O circuito é impresso em papelão colado a madeira compensada para fornecer rigidez a toda a estrutura. Todos os fios de conexão são trazidos de volta para não prejudicar a aparência do módulo. Inicialmente, os fios estavam na frente, mas não pareciam muito bonitos.



Para não confundir nada, há também uma lista de todo o esquema.



A conexão de todos os elementos com os fios leva muito tempo.



Taxas



Desde o início, decidi que PCBs seriam usados ​​no projeto. Sem eles, seria impossível criar algo complicado, porque apenas as conexões no sistema são superiores a 100.000. A maior parte dos fundos do projeto foi para os conselhos. Inicialmente, eu queria fazer pranchas grandes, mas acabou sendo incrivelmente difícil, então mais tarde decidi dividir tudo em pranchas pequenas, o que foi feito. Para o design, usei o CadSoft Eagle.



Outras placas podem ser vistas aqui .

Verificar


As verificações eram realizadas constantemente, em cada etapa do projeto:
  • Cada placa foi testada antes da instalação no módulo;
  • Cada módulo foi testado após a conclusão do trabalho nele;
  • Cada estande foi testado após a conclusão da instalação dos módulos;
  • Após conectar cada novo suporte, todo o sistema foi testado.


Para verificar o funcionamento de placas, módulos e suportes, foram utilizados equipamentos da BlueChip Technologies.







Componente financeiro


No total, Newman gastou cerca de 40.000 libras. Na taxa atual (após o referendo sobre a retirada da UE, a libra caiu 30% em relação ao dólar), esse valor é de US $ 53071.

O custo de vários elementos estruturais:

Eletrônicos£ 19.000
Taxas£ 14.000
Alumínio£ 3.500
As ferramentas£ 2.000
Gravura£ 900
Coloração e Impressão£ 900
Fixadores, contraplacados, etc.£ 500


O custo dos componentes eletrônicos:

Transistores£ 2000
Cabos£ 1800
Conectores£ 5000
Chips (para depuração)£ 850
Resistores£ 370
Nutrição£ 800
LEDs£ 1300
Solda£ 370
"O resto é ferro"£ 1100



Estatísticas gerais de

algumas estatísticas:
Transistores42.400
Resistores50.500
LEDs10.500
Conectores770
Terminais de contato7.700
Contatos soldados272.300
Peso da solda4,25 kg
Peso de chumbo2,5 kg
Fio único
1.500 m
Cabo de fita de 20 pinos420 m
Comprimento total de condutores9.9 km



Placas usadas no projeto

Tipo de placaTransistores
em cada
LEDs
em cada
quantidade
 usada

transistores totais
total de
leds
2AND5372360216
3AND741812672
4AND9554525
2OR5354270162
3OR7434238136
4OR9523207115
5OR1161617696
8OR179610254
Xor7353515
2x2 AND_OR14947658423
2x3 AND_OR1811712677
4x2 AND_OR261716416272
8x2 AND_OR50.339450297
1BUF2228.56.56.
4BUF88540.40.
4dec197815256.
16DEC82217574147
2x16MUX118523354156
4x16MUX241932048201860
16REG2263381808264
8ADD30218751510935
8LOGIC1581263474378
BUS SPLIT161611919041904
BUS SPLIT (sem LEDs)0 00 090 00 0
DÍGITO 3x2 (7 segmentos)0 00 080 00 0
4 DIGIT (7 )001100
16 DIGIT (7 )00200
BUS 2 BUS004000
2 TEE001700
4 TEE001500
BYTE_2_WORD001300
SHIFT37348296272
8B RAM7666432245122048
4 MEM MUX25240102520400
2 MEM MUX14124114124



:4237010500



Transistores instalados incorretamente.Para

facilitar sua tarefa, Newman criou pequenas placas de circuito com designações máximas para elementos. Em cada placa, o valor do resistor e o método de instalação do transistor foram indicados.



Tudo é simples. Mas houve erros no processo - cerca de uma dúzia de transistores, James instalado incorretamente. E encontrá-los foi uma tarefa difícil, dado o número total desses elementos no projeto. Tente fazer você mesmo. Na foto abaixo, há uma placa onde um dos transistores está instalado incorretamente.



O autor do projeto passou horas encontrando o problema. Freqüentemente ele inspecionava o mesmo transistor instalado incorretamente várias vezes sem perceber.

Conectores

Conectar com conectores é uma tarefa simples. Mas se existem cerca de 500 desses compostos, existe uma alta probabilidade de erro. E James estava errado várias vezes.

Cabo inclinado



Na foto, você pode ver o problema imediatamente - o cabo está inclinado e vários contatos não são usados. Mas detectar esse erro na massa de fios e conexões é muito difícil. Newman achou que o problema estava em um dos módulos e passou muito tempo checando os módulos. Mas eu tive que verificar o cabo.

Dentes curvos

Há também um tipo de conexão como o IDC (Conector de deslocamento de isolamento). Um cabo é inserido entre dentes afiados cujo isolamento é cortado durante a inserção e o cabo é conectado aos dentes. Tudo é simples. Em um caso, o “dente” do contato dobrou e tocou o vizinho, fechando o circuito. Encontrar um problema foi muito difícil.



E mais um problema de natureza semelhante. Somente neste caso, o “dente” dobrado não forneceu contato adequado com o fio.



Cabos

A instalação incorreta de cabos de conexão é outro problema. Além disso, foi detectado com mais frequência após conectar esses cabos a módulos ou suportes individuais. James às vezes errava ao posicionar o conector nos cabos. Naturalmente, o circuito não funcionou. E novamente as horas de busca continuaram, os sinos dos circuitos, a verificação dos elementos. A foto mostra um cabo corretamente cravado com um conector e um cabo com problema (acima).



E aqui está outro motivo comum para um circuito quebrado - um cabo sub-instalado que não fornece o contato adequado. Fechamento do



contato

Curto-circuito no alojamento

Existem duas placas, uma das quais não funcionou como deveria. Como se viu, o motivo foi que James danificou a placa com uma chave de fenda e a trancou nos fixadores, e aquela - em todo o suporte. É quase impossível perceber isso a olho nu.



Solda

Às vezes, durante a solda, surgiam problemas característicos - encurtando os contatos com uma ponte da solda. Na foto, a imagem é ampliada várias vezes. É muito difícil perceber essa descida - você precisa examinar em detalhes todos os elementos no quadro.



James é um engenheiro de circuito de profissão, e está soldando desde a infância. Na foto acima, o motivo é uma queda acidental de uma gota de estanho no circuito. Era um caso isolado o tempo todo, mas havia muito barulho com ele - não era fácil encontrar a solda errada. James inicialmente começou a verificar todas as conexões da placa e só então decidiu inspecionar o local da solda.

Outro problema semelhante, foi encontrado apenas com uma lupa - a ponte formada pela solda tem a espessura de um cabelo humano.



E solda.E

aqui James, por algum motivo, esqueceu de soldar os contatos. Toda uma série de pernas de transistor acabou por estar "nua", não presa a nada. Este problema foi rapidamente descoberto e resolvido.



Defeito do transistor

Esse foi um dos problemas mais sérios. Existem muitos milhares de transistores no circuito. E a falha de apenas um transistor falha significa um megaprocessador que não funciona. Para evitar problemas, James verificou cada transistor antes de soldar. Então - após a solda. Então - todos os transistores no circuito. E ainda assim, algumas placas não funcionaram, e a falha foi no transistor com defeito. A causa do dano era geralmente descarga eletrostática. Os transistores do tipo 2N7000 são muito sensíveis a esse tipo de exposição.

Além disso, se o conselho trabalhasse ontem, hoje não poderia mais funcionar. Porque O motivo era incomum. É ... um aspirador de pó chamado Henry.



James Newman pensou que os transistores são danificados quando a energia de alguns circuitos é ligada. Depois de verificar, descobriu-se que não é assim. E somente depois de muitas horas de tentativas infrutíferas de encontrar uma fonte de estática, ele lembrou que recebeu um pequeno choque elétrico ao tocar o aspirador de pó. E com esse aspirador de pó, ele limpou alguns suportes depois que eles estavam prontos, esquecendo completamente que tipo de problema um aspirador de pó poderia ser (em particular, limpar computadores e laptops com um aspirador sem aspirador - muitos fabricantes de computadores alertam sobre isso). Como resultado, Henry foi limpar os tapetes, os estandes foram limpos à mão. E os transistores pararam de falhar.

Outros problemas

Havia um grande número deles. Newman trabalhou no projeto por cinco anos e, claro, algo aconteceu quase todos os dias. Erros, mau funcionamento técnico, curto-circuito, modelagem incorreta e muito mais - isso é apenas uma pequena fração dos problemas. Não é possível descrever tudo isso em um artigo. É melhor ler o que o próprio James escreve sobre problemas durante a implementação do projeto.

Entrevista com James Newman



Eu não poderia simplesmente escrever sobre esse projeto grandioso sem fazer algumas perguntas ao autor. James imediatamente concordou em falar um pouco sobre seu projeto para os leitores do Geektimes.

Como você teve a ideia de criar este projeto?

Isso aconteceu cinco anos atrás. A idéia surgiu sob a influência de dois fatores. Realizei experimentos com transistores para entender em detalhes como eles funcionam. Além disso, no meu trabalho, os colegas começaram a discutir a possibilidade de construir um sistema de computador a partir de circuitos lógicos discretos. E eu queria criar um computador não a partir de microcircuitos separados, mas a partir de transistores discretos. Eu queria criar um sistema no qual uma pessoa que pudesse assistir como tudo isso funcionasse. Como poderia ser?

Quanto tempo se passou entre a ideia e o início do projeto?

Não é demais. Comecei a realizar trabalhos preparatórios para a implementação de todo o projeto de criação de um sistema de computador quase que imediatamente. Cerca de um ano foi gasto neste trabalho e experimentos.

E qual é a magnitude da discrepância entre o plano inicial e a duração real do projeto?

Pareceu-me que eu poderia realizar minha idéia em um ano. Mas o projeto levou quase cinco anos. Isso aconteceu porque já começando a agir, decidi construir algo mais grandioso do que planejava.

Como você pode citar problemas grandes ou pequenos que ocorreram durante o trabalho? Quais deles eram críticos?

O principal problema que parou de funcionar por um tempo é o desenvolvimento do multiplexador. Durante algum tempo, trabalhei na solução do problema do efeito do diodo parasitário, relevante para os transistores MOS . Livrar-se desse diodo está repleto de dificuldades tecnológicas significativas, então eles aprenderam a suportá-lo e até usá-lo em soluções de circuitos. - Ed. ). Como resultado, desenvolvi placas que corrigiam o problema, mas eram maiores do que eu esperava.

Outro problema é a complexidade da criação de racks, o design deles era muito complicado. Não tenho boa imaginação espacial.

Bem, além disso, eu tive que resolver constantemente problemas menores, havia apenas um grande número deles durante o processo de design e durante a implementação do plano planejado.

Se você soubesse de todos esses problemas, trabalharia em um projeto?

Eu suspeitava que algo assim iria acontecer. Isso não me parava. Inicialmente, eu só queria saber como tudo funciona. Mas se eu soubesse o tamanho do processador e quanto dinheiro seria gasto no projeto, eu não o faria. O megaprocessador é grande demais para minha casa e quero encontrar outra casa para ele.

Você pensou em interromper o trabalho durante o curso do projeto?

Houve vários casos em que meu entusiasmo acabou, o que significou uma desaceleração. Ao mesmo tempo, não me permiti relaxar completamente. Todos os dias, nesses casos, eu me forcei a fazer algo, não importa o quão insignificante essa tarefa fosse. Eu disse a mim mesmo: "Você pode comer um elefante, você só precisa morder pedaço por pedaço".

Seu projeto se tornou muito famoso. Existem ofertas comerciais? Talvez você já tenha decidido dar o Megaprocessador a algum museu ou universidade?

Nenhuma oferta comercial! Eu não acho que poderia recuperar o dinheiro gasto, e esse nunca foi o objetivo. Eu gostaria de dar o Megaprocessador a um museu ou outra organização similar. As negociações já estão em andamento.

O sistema precisa de algum cuidado especial?

Não, nada disso é necessário. Apenas cautela é necessária. Isto é especialmente verdade para a eletricidade estática - uma pequena taxa pode danificar algo.

Como você insere dados no sistema?

Atualmente, estou usando uma versão modificada do Venom Arcade Stick. No começo, planejei usar uma interface serial que me permitisse usar um PC. Eu desenvolvi, fabricei a interface, mas ainda não a testei.

Qual é o consumo de energia do sistema?

Eu penso em 300 watts. A maioria vai para LEDs.

Alguma coisa quebrou no sistema depois que o Megaprocessador estava pronto?

O único problema que encontrei foi um sistema mais lento do que o planejado originalmente. Como se viu, o motivo são os resistores de pull-up nomeados incorretamente selecionados. Foi necessário escolher resistores com um valor nominal de não 10k, mas apenas 470. Outra coisa não é um problema, mas meu desejo. Gostaria de fornecer a capacidade de ajustar o brilho da tela. Mas agora é tarde demais para pensar sobre isso.

O megaprocessador possui muitas dezenas de milhares de peças. Qual é a probabilidade de que tudo funcione sem avarias ao longo do tempo?

Muito boa pergunta. E assustador. Eu acho que se você não mover ou tocar nos componentes eletrônicos de todo o sistema, tudo ficará bem. Mas o problema é que o Megaprocessador está localizado na minha sala de estar e eu tenho que mudar as arquibancadas. Toda vez que faço isso, há uma chance de danificar a conexão. A probabilidade é pequena. Talvez 10%. Sábado passado, encontrei um defeito em uma das placas. Houve problemas ao mover as arquibancadas antes. Portanto, calculei que uma vez em cada dez ocorre um mau funcionamento durante o movimento das arquibancadas. Se eu mergulhar tudo em um carro e instalar o sistema em uma casa nova, tenho certeza de que vou ter algumas avarias. Cerca de dez.

Você tem alguma idéia para novos projetos?

A primeira coisa que tenho a fazer é arrumar a casa e o jardim. Eles foram abandonados por vários anos. Depois disso, vou ver o que mais fazer.

O que você pode aconselhar para pessoas que planejam fazer algo semelhante?

Conselho prático: ao trabalhar em um projeto dessa magnitude, você deve ter uma ideia clara do que está fazendo. Você deve ser um profissional em seu campo e ser profissional em todas as etapas. Ao desenvolver algo, você deve ter certeza de que todos os elementos criados serão compatíveis entre si no estágio de montagem.

Dica abstrata: começar é fácil, difícil de terminar. Por que você quer fazer isso? Assim que você começar a fazer algo, mais tarde perceberá que isso pode ser feito melhor e começará a executar esta etapa novamente. E de novo e de novo. Há dois anos, percebi que se refazer tudo o tempo todo, não terminarei nada. E eu decidi parar na fase com a avaliação de "não é ruim", uma vez que essa fase na maioria dos casos corresponde aos planos. Eu sei que existem muitos erros no projeto e muitas coisas que poderiam ser feitas melhor. Mas ainda terminei meu projeto e estou feliz.

Source: https://habr.com/ru/post/pt395919/


All Articles