Как компьютер превращает электричество в выполнение программ

Читати цю новину російською мовою
Как компьютер превращает электричество в выполнение программ
Для подавляющего большинства пользователей то, как электрический ток из розетки превращается в компьютере или ноутбуке в реальные вычислительные действия

Для подавляющего большинства пользователей то, как электрический ток из розетки превращается в компьютере или ноутбуке в реальные вычислительные действия, остаётся большой загадкой. Конечно, для того, чтобы пользоваться той или иной техникой, совершенно не обязательно знать, как она устроена.
Но что если разобраться с чудесным преобразованием всё-таки хочется? Выпускник технологического института в Джорджии Субходжит Чаттопадай (Shubhojit Chattopadhyay), успевший поработать в Oracle, Intel и Qualcomm, попытался объяснить всё «на пальцах».
Материя состоит из атомов, каждый из которых обладает определённым количеством электронов. Во Вселенной существует ещё множество элементарых частиц, но для того, чтобы понять работу компьютера, знаний об атомах и обращающихся вокруг их ядра электронов вполне достаточно, уточняет пользователь Quora.

Электроны являются носителями того, что называется электричеством. Чтобы использовать их, человечество научилось делать транзисторы, способные хранить или, наоборот, высвобождать электричество тогда, когда это необходимо.
Именно с их помощью «кодируются» базовые логические единицы 1 и 0. Например, у микроконтроллеров, предназначенных для управления электронными устройствами, логические уровни для единицы и нуля, например, могут быть равны пять и ноль вольт соответственно.
Соединив вместе восемь таких транзисторов и поставив первые шесть из них в положение нуля, а последние два в положение единицы, можно закодировать, к примеру, число 3 (в двоичной системе счисления оно запишется как 0000 0011). По числу задействованных транзисторов такая «запись» называется 8-битной.
Из 8 бит состоит одна ячейка памяти комьютера (хотя её длина может быть и 16, и 32, и 64 бита). Совокупность множества блоков, состоящих из ячеек памяти, в итоге образует процессор и оперативную память компьютера.
Процессор (непосредственное переключение транзисторов в ячейках в положение ноль или один) управляется машинным кодом. Для удобства работы с ним был разработан так называемый язык ассемблера — машинно-ориентированный язык низкого уровня, благодаря которому машинный код представляется в удобночитаемом виде.
Так как язык ассемблера также довольно труден для восприятия человеком, для упрощения работы с ним были разработаны языки высокого уровня (С, C++ и другие). Любая программа, написанная на них, всё равно в итоге конвертируется в язык ассемблера, который в реальности и управляет переключением транзисторов в процессоре.
Все комьютерные программы таким образом (от браузеров до тех, что управляют действиями мыши) в целом действуют по одной и той же схеме: преобразуют действия пользователя в конкретные команды на С/С++, которые затем обрабатываются до уровня машинного кода и приводят к действию внутри процессора, то есть фактическому изменению вольт в транзисторах. Так электричество превращается в выполнение программ.
Как отмечает Субходжит Чаттопадай, описанная им система представляет собой очень сильно упрощённую модель, предназначенную в первую очередь для общего понимания.
Хочу заметить, что я «отупил» всё это до самого примитивного уровня. На самом деле я не коснулся в своём ответе и одного процента всех деталей. [...] Но в целом всё так. Это именно то, что вы увидите, когда посмотрите на устройство компьютера со стороны. Субходжит Чаттопадай, пользователь Quora
Сами компьютеры автор комментария называет настоящим чудом, на создание которого ушло больше 50 лет и силы миллионов умных людей.

Источник: internetua.com

  • 399
  • 02.01.2015 20:52

Коментарі до цієї новини:

Останні новини

Головне

Погода