É um computador que usa componentes mecânicos, como alavancas, bolinhas de gude, engrenagens, cordas e até mesmo fluidos para executar cálculos digitais e analógicos. Nem todos computadores não eletrônicos são mecânicos, ainda existem outros tipos também, computadores que trabalham com luz, biológicos, quânticos e computadores de caneta e papel. Às vezes não está claro o que conta como um computador mecânico versus uma mera calculadora, um autômato ou apenas um instrumento, aqui consideraremos o termo em um sentido amplo. Computadores mecânicos costumavam ser usados no passado, principalmente antes do desenvolvimento de válvulas de vácuo e transistores que abriram as portas para computadores muito mais poderosos. Alguns ainda existem hoje, embora hoje em dia sejam geralmente destinados a serem brinquedos educativos, eles são do interesse de muitos, incluindo eu, pois oferecem simplicidade: independência de eletricidade e componentes complexos, como transistores e microchips e liberdade. Eles também podem oferecer ajuda após o colapso. Embora hoje seja possível construir um computador eletrônico simples em casa, isso se deve apenas à possibilidade de comprar peças altamente complexas na loja, ainda depender de corporações; em um deserto, pode-se construir muito mais facilmente um computador mecânico do que um eletrônico.
{ A 11ª edição da Britannica tem um artigo incrível sobre computadores mecânicos sob o termo Calculating Machines em https://en.wikisource.org/wiki/1911_Encyclop%C3%A6dia_Britannica/Calculating_Machines. Isso leva a muitos recursos em www.johnwolff.id.au/calculators/Resources.html ~Mr. Unix }
Se um computador mecânico usa peças eletrônicas, é chamado de computador eletromecânico, aqui discutiremos principalmente computadores puramente mecânicos. Desvantagens dos computadores mecânicos digitais em relação aos eletrônicos são grandes, eles basicamente perdem em tudo, exceto na simplicidade de implementação. O computador mecânico é mais lento, a velocidade será medida em Hz, tem menos memória, na maioria das vezes apenas alguns bits ou bytes, será difícil de programar, apenas código de máquina, é maior, limitado pelo atrito mecânico, então também será barulhento e sofre com desgaste mecânico. Os computadores mecânicos analógicos são talvez um pouco melhores em comparação, mas ainda perdem muito para os eletrônicos. Mas lembre-se, menos é mais. Computadores mecânicos notáveis incluem o Difference Engine de 1882 de Charles Babbage, também conhecido como o primeiro programador, o mecanismo de Antikythera, antigo computador astronômico grego, as famosas calculadoras Curta, calculadoras de bolso de qualidade e potentes de meados do século XX, dispositivo de cifragem Enigma, usado na Segunda Guerra Mundial, ábaco, régua de cálculo, Arithmometer Odhner, calculadora de mesa russa extremamente popular, Digi-Comp I, computador de brinquedo programável educacional de 3 bits, ou Turing Tumble, outro computador educacional, usando bolinhas de gude.
Vamos também dar uma olhada em como podemos classificar computadores mecânicos:
Em seguida, podemos dividir os computadores mecânicos em:
E para:
Computadores analógicos geralmente são de propósito especial. Muitas vezes eles apenas resolvem alguma equação específica necessária, para calcular curvas balísticas, eles podem executar a transformada de Fourier, calcular áreas de formas arbitrárias que podem ser traçadas por um lápis, veja planímetro. Especialmente úteis são os computadores que realizam integração e resolvem equações diferenciais, pois calcular muitas equações encontradas na prática é frequentemente difícil ou impossível - máquinas mecânicas podem se integrar muito bem usando o famoso integrador de bola e disco. Como meros programadores, vamos nos concentrar mais em computadores digitais agora. Ao construir um computador digital do zero, geralmente começamos projetando portas lógicas básicas, como AND, NOT e OR - aqui implementamos as portas usando princípios mecânicos em vez de transistores ou relés. Para calculadoras simples de propósito especial, combinar essas portas lógicas pode ser o suficiente (observe também que não TEMOS que usar portas lógicas, alguns mecanismos podem executar aritmética diretamente etc.), no entanto, para um computador de propósito geral altamente programável, portas lógicas sozinhas praticamente não serão suficientes - em teoria, quando temos memória finita (no mundo real sempre), podemos sempre usar apenas portas lógicas para executar qualquer computação, mas conforme a memória cresce, o número de portas lógicas que precisaríamos aumentaria exponencialmente, então não fazemos isso. Em vez disso, precisaremos implementar adicionalmente algum processamento sequencial, ou seja, algo como uma CPU que executa etapas de acordo com as instruções do programa.
Agora temos que escolher nosso modelo de computação e arquitetura geral, possivelmente temos várias opções. Principalmente, podemos decidir entre ter um armazenamento separado para dados e programa, arquitetura Harvard, ou ter o programa e os dados na mesma memória, pretendendo que o computador "remodele" esses dados iniciais do programa na saída do programa. Aqui há caminhos a explorar, o mais natural é tentar imitar uma máquina de Turing, existem muitas de fita finita física, provavelmente o computador "intuitivo" mais simples, podemos até especular sobre algum tipo de sistema de reescrita imitando gramáticas formais ou autômatos celulares - alguém realmente construiu um computador de mármore simples e elegante de regra 110, que é Turing completo, mas não muito prático, veja tarpit de Turing. A máquina de Turing tem uma memória separada para programa e dados. Para construí-la, precisamos de duas partes principais: Fita de memória, uma matriz de bits, e unidade de controle, tabela de estados e suas transições. Podemos potencialmente projetar essas partes separadamente e deixá-las se comunicar por meio de alguma interface simples. Detalhes específicos da construção dependerão agora de quais componentes usaremos, engrenagens, bolinhas de gude, dominós ou alavancas.
Impulsionado por nada. Todo conteúdo é disponível sob CC0 1.0 domínio público. Envie comentários e correções para Mr. Unix em victor_hermian@disroot.org.