Если я не ошибаюсь, когда вы программируете в нем, компьютер сначала «переводит» код на C.
Нет, это не так. C ничего особенного, кроме того, что это самый распространенный язык программирования, используемый для системного программирования.
Интерпретатор Python переводит код Python в так называемый P-код, который выполняется виртуальной машиной. Эта виртуальная машина является реальным интерпретатором, который читает P-код, и каждый миг P-кода заставляет интерпретатор выполнять предопределенный путь кода. Это мало чем отличается от того, как собственный двоичный машинный код управляет процессором. Более современный подход заключается в переводе P-кода в машинный код.
Сам интерпретатор CPython написан на C и скомпилирован в собственный двоичный файл. По сути, нативный двоичный код - это просто длинный ряд чисел (кодов операций), где каждое число обозначает определенную операцию. Некоторые коды операций сообщают компьютеру, что определенное число чисел, следующих за ним, является не кодами операций, а параметрами.
Сам ЦП содержит так называемый декодер команд, который считывает собственное двоичное число по номеру, и для каждого считываемого кода операции он подает питание на схему ЦП, которая реализует этот конкретный код операции. есть коды операций, которые адресуют память, коды операций, которые загружают данные из памяти в регистры и т. д.
как процессор обрабатывает свои инструкции, как он "узнает", что делать?
Для каждого кода операции, который является просто двоичным шаблоном, в ЦП имеется собственная схема. Если шаблон кода операции соответствует «переключателю», который включает этот код операции, эта схема обрабатывает его.
Вот WikiBook об этом:
http://en.wikibooks.org/wiki/Microprocessor_Design
Несколько лет назад какой-то парень создал целый работающий компьютер из простой логики функций и микросхем памяти, то есть без микроконтроллера или подобных устройств. Весь проект под названием "Big Mess o 'Wires" был более или менее процессором, созданным с нуля. Единственная вещь, которую придурок мог бы построить эту вещь из одиночных транзисторов (которые на самом деле были не такими уж сложными). Он также предоставляет симулятор, который позволяет вам увидеть, как работает процессор внутри системы, декодируя каждую инструкцию и выполняя ее: Big Mess o 'Wires Simulator