Sou desenvolvedor de software (usando linguagens de alto nível, como .NET, C, C ++ etc.) tentando entender como os computadores funcionam em um nível inferior.
Eu sou familiar com este diagrama:
Estou tentando obter uma visão de alto nível de como o diagrama no link é mapeado para um diagrama de circuito como este:
Por exemplo, dê uma olhada na declaração da linguagem assembly:
ADD 1,2
Estou tentando entender como o processador produz '3' como saída. Sei que pode ser difícil responder a essa pergunta em termos simples. Se for, um link ajudaria, talvez para um livro.
microprocessor
w0051977
fonte
fonte
Respostas:
O problema é que, para entender como o computador atinge 1 + 2 = 3, é necessário entender cerca de 2 níveis mais profundos do que você já percorreu.
Aproximadamente um computador é organizado (em termos de campos de estudo) assim, do mais alto nível de abstração até a realidade mais física:
Para entender corretamente por que o computador pode produzir 2 + 1 = 3, você deve primeiro decidir o que está disposto a aceitar "com fé" e em que não acreditará até que o internalize. Essa informação estará no nível dois abaixo do que você entende. Portanto, se você deseja entender um circuito somador no nível lógico, precisará entender o básico dos transistores "digitais" (especificamente o CMOS).
Usando o site anterior como exemplo, considere este recurso . Ele discute o "Full Adder" - o circuito de uso geral completamente mínimo capaz de adição / subtração, incluindo a entrada e a saída.
Você também precisará entender como os números são representados no complemento de 2 (o sistema numérico usado nos computadores modernos para aritmética inteira).
Se você realmente quer um curso introdutório de classe mundial, não posso recomendar o professor Scott Wills, da Georgia Tech, o suficiente. Ele faleceu no ano passado de câncer, mas seu curso continua . A classe Georgia Tech ECE2030 (introdução à engenharia da computação) tem seu livro de texto e exercícios todos online.
Boa sorte!
fonte
Eu tive que aprender o mesmo na universidade e usamos o livro Organização e Design de Computadores, que era muito detalhado (mas talvez seja muito detalhado para suas necessidades).
Patterson e Hennesy usaram algum processador MIPS "simples" e mostraram toda a função da CPU com algum código de amostra no Assembler.
Geralmente, acho que seria uma ótima idéia pegar um processador "simples" (Arduino ou algo assim) e tentar entender a função, porque as diferenças disso para o mais complexo são mais no tamanho dos códigos de instruções implementados.
PS Talvez o microprocessador elementar do Google Code seja útil. É um microprocessador simulado em Java.
fonte
O livro gratuito Como os computadores funcionam - processador e memória principal, de Roger Young, responderá à sua pergunta; ele usa relés em vez de transistores para melhor compreensão.
fonte
Encontrei minha resposta aqui . É uma visão geral de alto nível do processo de adição de números.
fonte