É 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?
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?
Respostas:
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:
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.
fonte
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:
É 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.
fonte
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.
fonte
É 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!)
fonte
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.
fonte