Computador para placa de ensaio [fechado]


19

É possível fabricar um computador simples inteiramente com tábuas de pão e componentes eletrônicos básicos? É possível, por exemplo, construir uma calculadora científica dessa maneira?


10
Não é apenas possível, mas as pessoas fazem isso, por exemplo, megaprocessor.com e muito mais, apenas pesquisam no Google por "CPU de transistor discreto" ou similar. Ela só fica terrivelmente complexo e leva anos para construir e depurar
PlasmaHH

Depende do que você quer dizer com uma tábua de pão. Se inclui Veroboard, tiras de etiquetas ou construção de insetos mortos ancorados por pregos martelados na tábua de pão de mamãe (sim) - todos soldados, então sim, definitivamente. Se você quer dizer aquelas coisas de plástico que permitem aleatoriamente ir de fios, esqueça ...
Brian Drummond

@BrianDrummond Re tábuas de pão de plástico - é aparentemente possível (veja minha resposta). Eu já vi alguns computadores construídos dessa maneira. Se alguém acidentalmente puxasse alguns fios, que pesadelo. Estou realmente surpreso que eles realmente correm.
precisa saber é

2
Eu acho que se você tivesse tábuas de pão infinitas, estaria completo?
PyRulez

2
Você realmente precisa descobrir o "anel da web" da CPU do Homebrew (que era uma coisa dos anos 90 antes do mecanismo de pesquisa dominar a web): members.iinet.net.au/~daveb/simplex/ringhome.html
slebetman

Respostas:


33

Discordo que colocar um microcontrolador em uma placa de ensaio é qualificado como construir um computador em uma placa de ensaio. Exceto pelas E / S (como teclado e tela), um microcontrolador por si só é praticamente um computador completo. Colocá-lo em uma tábua de pão e conectar alguns fios é trivial e pode ser feito em dez minutos.

Quando o OP perguntou: "É possível fabricar um computador simples inteiramente com placas de ensaio e componentes eletrônicos básicos?", Por componentes eletrônicos básicos, acho que significa algo mais ou menos assim:

insira a descrição da imagem aqui

Agora esse é um computador em uma placa de ensaio (bem, várias placas de ensaio), construído a partir de componentes básicos . A descrição está aqui . É composto por uma dúzia de tipos de CI da série 74LS00. (Acho que não queremos voltar aos transistores; o PDP-8 original era do tamanho de uma geladeira pequena ).

No que diz respeito a uma calculadora científica, se você construiu um computador de uso geral como o mostrado acima, ele pode ser programado como uma calculadora científica. Construir uma calculadora científica usando apenas CIs lógicos (sem computador) seria extremamente difícil; todos os fabricantes de calculadoras como essa (Ti, HP etc.) usavam CIs especiais de grande escala . Aqui está uma calculadora caseira que usa um IC inicial de calculadora de 4 bits.

Concordo que, se alguém quiser colocar um computador em funcionamento o mais rápido possível, usar um microcontrolador é o caminho a seguir. Se alguém quiser realmente entender como um computador funciona internamente, então criar um dos CIs básicos é o caminho certo.



1
@ColeJohnson Suas anotações dizem que ele não tem esquemas para isso!
tcrosley

1
@JohnD thx, fixo.
precisa saber é o seguinte

23

Não é apenas possível, eu realmente fiz isso: consulte https://www.vttoth.com/CMS/projects/47

Aqui está a aparência da fiação na parte traseira de uma das tábuas de pão:

insira a descrição da imagem aqui

É claro que tudo depende de quais componentes se qualificam como "básicos". No meu caso, os componentes básicos eram 74 ... chips da série TTL, aproximadamente uma centena deles. Construir um computador inteiramente a partir de, digamos, transistores ... isso seria demais.

Além disso, meu computador de 4 bits não é realmente poderoso o suficiente para ser usado como uma calculadora científica, principalmente devido a limitações de memória (256 nybbles de 4 bits). No entanto, não é muito difícil estender o espaço de endereço, talvez usando um mecanismo de paginação, e 4096 nybbles (endereços de 12 bits) já podem ser suficientes, 65536 nybbles (endereços de 16 bits) com certeza.


Parabéns. Isso é uma conquista e tanto. I como o conjunto de instruções - lembra-me de um 6800.
tcrosley

1
Há um cara que está trabalhando na construção de um processador usando nada além de transistores. A RAM, processador, tudo. MegaProcessor.com
Cole Johnson

4
Algumas pessoas são mais paciente do que eu
Viktor Toth

10

Sim, é possível, mas você precisaria de um pouco mais do que apenas algumas tábuas de pão para criar uma calculadora científica, dependendo, é claro, do que você considera um componente básico: se você chama um transistor de componente básico ou de flip-flop. , uma EEPROM ou apenas algo que você pode soldar de uma geladeira velha.

Há boas respostas aqui, mas gostaria de salientar uma coisa que as pessoas geralmente não consideram. Olhando para a história dos dispositivos de computação, a dificuldade em construir um computador a partir de cascas de árvores e pregos não é a CPU nem a ULA. O principal problema é a memória. Porque você precisa de uma quantidade enorme para que todo o conceito de programa armazenado funcione. Você pode fazer uma CPU a partir de alguns chinelos e portas NAND; por exemplo, para uma aplicação de eletrônica de potência com restrições específicas, uma vez projetei um microprocessador que usa apenas 69 flip-flops (4 registros de 16 bits, 4 sinalizadores e 1 bit de registro de estado indicando FETCH / EXECUTE). É implementado em silício e as pessoas escrevem software que é executado nele. Isso é simples e se encaixa no tamanho de um contato de dreno de um transistor de potência. Mas a memória necessária para armazenar qualquer programa útil é muito, muito maior.

No início, a memória era o ponto de partida do design. Você poderia usar relés biestáveis, como usavam nas primeiras trocas telefônicas. Você pode usar tubos de vácuo ou transistores para fazer chinelos; e os registros da CPU geralmente eram implementados dessa maneira. Mas, para o programa e armazenamento de dados, foram utilizadas fitas de papel, fitas magnéticas, discos giratórios ou tambores giratórios. Até ondas acústicas em fios de aço que são constantemente recebidas e retransmitidas pelos eletrônicos. Tudo o que você puder imaginar poderá conter alguns bits por um período de tempo razoável e com custo razoável. Os computadores Apollo orbiter e lunar lander usavam memórias do núcleo da bobina enroladas como cordas. Tudo isso precisa de equipamentos de interface diferentes e tem um enorme impacto sobre como deve ser a CPU para acessar esse tipo de memória. A memória semicondutora só apareceu realmente nos anos 70, finalmente descartando esse tipo de complexidade. Mas, novamente, as RAMS dinâmicas modernas também não são fáceis.

Depois, há a maravilha de ter que projetar equipamentos de entrada e saída para o computador. Algumas lâmpadas são adequadas para algumas aplicações, mas se você precisar de entrada / saída de texto ou algo ainda mais complexo, estará enfrentando mais dificuldades. Os leitores de cartões perfurados, impressoras e terminais de papel eram um grande negócio em seus dias. Um terminal de vídeo em modo de texto VT100 de 1978 possui muito mais memória e poder de processamento do que o seu computador de tabuleiro de calculadora científica.


Embora certamente seja possível implementar a memória usando flip-flops, acho que é necessária uma concessão para permitir os ICs de memória (geralmente é o caso nesses computadores domésticos para usar um 74181 para a ALU). Você pode obter uma SRAM de 8Kx8 em um pacote DIP por cerca de US $ 2. Isso deve bastar para uma calculadora. O mesmo para EEPROM.
precisa saber é o seguinte

1
@tcrosley eu concordo. Estou apenas apontando um comentário da história. Se você está construindo um computador de fabricação caseira hoje, não está fazendo isso para seguir um conjunto arbitrário de regras, mas sim para se divertir e aprender. E desiging um microprocessador é mais divertido e uma experiência melhor aprendizagem do que de enrolamento 16 mil pedaços de memória de núcleo;)
PKP

@PkP Há algo a ser dito para alguém lembrar como tecer a memória principal e documentá-la. Não tanto no nível de como um ou dois trabalhos, mas no lado prático de como você faz 16 kbits sem ficar louco. Eu trabalhei em projetos de sementes de abelhas. Consigo visualizar a insanidade ... Suponho que já houve automação de fábrica para fazê-lo, mas vi muito pouco escrito sobre o lado da produção.
RBerteig

2
@RBerteig obrigado, eu concordo. Bem, lembro-me de ler que as memórias de corda do computador da espaçonave Apollo foram tecidas por senhoras tecelãs muito habilidosas, que tiveram a paciência surpreendente de verificar com muito cuidado cada uma ou zero no diagrama de código, que indica se a bobina de bit é tecida através do núcleo ou contornado em torno dele, ou algo nesse sentido. Lembro-me de ler da mesma fonte que levou seis meses para criar uma nova ROM após cada modificação de software dos engenheiros do MIT que escreveram o software Apollo.
PKP

7

É possível, mas a complexidade e o tamanho dependem do que você chama de componentes eletrônicos básicos. Uma lógica de ALU e sequenciador é um pouco complexa, mas factível. A memória é simples, mas o padrão básico deve ser repetido um número muito grande de vezes (pense milhares de vezes).

Além do hardware, você também precisará de um software que seja executado nele. Como estimativa aproximada, para uma CPU moderadamente complexa (instruções clássicas de 16 bits, nível de dados de 8 bits), seu esforço de software será comparável ao de hardware. (Para uma CPU mais simplista, você precisará de mais esforço de SW.) E como você carregará esse SW em sua máquina?

Caça de insetos (e resolução) será uma tarefa interessante. Eu recomendo que você comece a escrever em VHDL e execute isso em um simulador, que será muito mais fácil de depurar do que um monte de chips e fios.

Dois estudantes meus criaram uma CPU de 16 bits com algum software básico (incluindo uma porta back-end do GCC) em ~ 1 ano, começando com os códigos VHDL e C para simulação. A ALU usava chips 74181, a memória era RAM estática e eles usavam um atMega para fazer interface entre o PC e o computador. O computador estava parcialmente em cabos de pão sem solda e parcialmente em PCBs (os registradores de 8 bits). (Esses dois não eram estudantes comuns!)


5

Sim, é possível. Mas você precisa de um microcontrolador para fazer as contas. Este é um exemplo de projeto. Ele usa microcontrolador AVR e display LCD 16 × 2.


+1 Eu tenho uma calculadora que usa um processador ARM. Atualmente, um microcontrolador deve ser considerado um componente básico.
Spehro Pefhany

25
Você não precisa de um micro, apenas facilita as coisas.
PlasmaHH

O @PlasmaHH é um microcontrolador ou várias placas de ensaio. Tem apenas portões básicos de 2 entradas? Diverta-se. OTOH uma ROM ou dois + um registro MUX + = um microcontrolador simples já.
John Dvorak

Como você acha que os microcontroladores fazem matemática? Com ALU - feitas de silício / transistores / portas elementares, dependendo da escala que você vê.
User3728501

Microcontroladores e microprocessadores também são feitos a partir de elementos eletrônicos, para que possa fazê-los em uma placa de ensaio, sem necessidade de um microcontrolador reais
phuclv
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.