Ao aprender sobre a arquitetura dos computadores e como ela funciona, pensamos que o idioma mais baixo que podemos entender que a máquina entende é binário como 1 e 0. E tudo o que inserimos terá que ser transformado / convertido em binário, mas sendo números bináriosisso não significaria que precisaríamos de outro intérprete / compilador para transformar o binário em linguagem de máquina real? Todos sabemos pela eletrônica que um computador é composto principalmente de CPU, que é um IC que é feito de transistores, etc., e a única coisa que essas ferramentas entendem é eletricidade, portanto a eletricidade será a linguagem mais compreensível para um computador. Então, minha preocupação é: o binário é realmente 1s e 0s ou os 1s e 0s são usados apenas para representar a ausência e / ou presença de eletricidade? Supondo que seja apenas uma representação para ausência ou presença de eletricidade, não haveria outra linguagem intermediária ou até mais baixa entre os comandos que inserimos e binários, para que os circuitos soubessem para onde enviar a corrente e para onde não?
fonte
Respostas:
Os computadores digitais funcionam de modo que (quase) em um dado momento, qualquer fio transporta (aproximadamente) uma das duas tensões possíveis, uma significando e a outra significando . As tensões dependem da convenção que está sendo usada. Nesse sentido, a computação digital funciona com e s. No entanto, mesmo computadores digitais fazem interface com dispositivos analógicos, como armazenamento físico e redes. A maneira como os dados são codificados nas redes pode ser um pouco diferente, pois vários bits podem ser codificados ao mesmo tempo, dependendo da codificação.0 1 0 1
Deixe-me explicar minhas qualificações na primeira frase acima. "Quase" refere-se ao fato de que quando os fios mudam de para ou vice-versa, haverá tensões intermediárias. Esses comutadores são sincronizados em todos os fios, de modo que, sempre que os fios são "lidos", o comutador (se houver) já ocorreu. "Grosso modo" refere-se ao fato de que as tensões não são exatas. Existem duas pequenas faixas de tensão que correspondem a e . Os dispositivos devem ser capazes de "ler" bits nesses intervalos, mas geralmente os "escrevem" de maneira mais restritiva.0 1 0 1
fonte
a questão não é exatamente clara e tem alguns conceitos errados ou aplicação incorreta de terminologia (por exemplo, "linguagem inferior"), mas a interpretação de uma maneira mais geral / metafórica / analógica / flexível, sim :
fonte
Você está perguntando várias coisas diferentes em uma pergunta. Talvez seja uma boa idéia desvendar o problema para si mesmo. Você está falando sobre física, definição da indústria e arquitetura de software / computador.
Vamos fazer esta parte primeiro. Os computadores modernos são baseados em circuitos elétricos. Por exemplo, a maioria dos processadores ARM pode funcionar a 5 volts. Devido à maneira como o processador ARM é construído na malha, o processador entende um sinal de ~ 0 volts como um bit e ~ 5 volts como um bit. É a definição escolhida por alguém.
Eu não entendo completamente o que você está perguntando aqui. Mas digamos que você esteja olhando da perspectiva do software. Em seguida, o programa será transformado em linhas reais de bits e uma linha de bits que diz à CPU o que fazer com os bits. Eles são alimentados na CPU (unidade de processamento) e, com base na arquitetura do processador, uma ação será executada nos dados.
Como mencionei um pouco acima, é assim que os computadores são construídos. Você pode executar o processador em outras tensões, mas não funcionará (eu acho). Porque a definição específica é feita sobre a que voltagem um bit é 0 ou 1.
Sim, basicamente sinais analógicos. Mas lembre-se, na maioria das vezes, estes são convertidos por um ADC (conversor digital analógico) em um valor de bit que representa uma tensão predefinida nessa linha.
fonte