Это очень просто на самом деле - инструкции CPU загружает и выполняет их, большинство из этих инструкций вращается вокруг значений загрузки в регистры или ячейку памяти, а затем манипулирование этих значений. Некоторые диапазоны памяти зарезервированы для связи с периферийными устройствами, которые подключены к аппарату, например экраном или жестким диском.
Назад в дни Apple] [и Commodore 64 вы можете поместить значение непосредственно в ячейку памяти, и это будет напрямую изменять пиксель на экране - эти дни давно прошли, он отвлечен от вас (программист) несколькими слоями кода, такими как драйверы и операционная система.
Вы можете узнать о таких вещах или языке ассемблера (который я являюсь огромным поклонником), или вентилях AND/NAND на аппаратном уровне, но зная, что этот материал не поможет вам кодировать веб-приложение в ASP.NET MVC, или написать быстрый и грязный сценарий Python или Powershell.
В сети есть много ресурсов, которые позволят вам понять, как работает процессор и остальная часть оборудования, но если вы хотите спуститься и грязно, я честно думаю, что вы должны купить один из этих старые машины с eBay или где-нибудь, и узнайте его особый вкус ассемблера (я понимаю, что есть также много программируемых контроллеров PIC, которые также могут быть полезны для изучения). Сбор старой машины позволит устранить абстракции программного обеспечения и упростить процесс обучения. Вы учитесь лучше, когда получаете мгновенное удовлетворение, например, чтобы спрайты перемещались по экрану или генерировали звуки, напрямую переключая динамик (или используя контроллер PIC для управления маленьким роботом). С теми старыми машинами, схемами для Apple] [материнская плата подходит к грубому листу формата A2, который был сложен в задней части одного из руководств Apple - мне было бы неловко представить, как они выглядят в наши дни.
* «Я имею смысл?» * - Да и нет. Да, я понимаю, что вы говорите. Но нет, я не думаю, что это поможет вам понять программирование ... –