В памяти машины записываются и данные, с которыми ЭВМ должна работать, и программа-руководство, согласно которой она ведёт их обработку.
Машина приучена программистами
По своему виду один массив информации совершенно неотличим от другого. Дело в том, что это только для нашего удобства машина приучена программистами реагировать на определённые слова и символы.
Внутри ЭВМ все они опять-таки переводятся в числа специальными подпрограммами, и уже с этими числами машина ведёт дальнейшую работу. Например, команда «сложить» может быть обозначена числом 11, «вычесть» — 13 и т. д.
Машинная логика
Так получается потому, что машинная логика в значительной мере отличается от нашей, человеческой: машине гораздо легче иметь дело просто с числами, причём записанными в двоичной системе счисления, нежели с какими-то другими понятиями.
В счётчике команд содержится адрес той команды, которую нужно выполнить при следующем шаге работы машины.
Процессор обращается к соответствующей ячейке памяти, считывает число, которое там содержится, и загружает его в регистр команд.
После того как команда выполнена, адрес, содержащийся в счётчике команд, увеличивается на единицу, и процесс повторяется снова — теперь уже по отношению к новой команде и программе.
Команды образующие машинный код
Таким образом, получается, что вся работа ЭВМ организована по циклам, каждый из которых состоит из двух частей. Первая половина цикла называется вызовом, и на этом этапе происходит вызов, считывание очередной команды из памяти.
Вторая половина — исполнение, и в этот момент исполняется полученная команда. Быстродействие современных машин измеряется уже миллиардами и триллионами операций в секунду. Закодированные в виде чисел команды образуют машинный код.
Разные машинные языки
Системы этих кодов составляют тот или иной машинный язык. И они отличаются друг от друга примерно так же, как английский отличается от немецкого. Из одних и тех же букв латинского алфавита составляются слова, иногда они даже очень похожи внешне, но смысл этих слов в разных языках может отличаться — машинные языки приспосабливаются к конкретным нуждам.
Конечно, можно было бы составлять программы прямо в машинных кодах. Первые годы существования ЭВМ программисты так и делали. Однако такой порядок вносит дополнительные трудности в работу людей, составляющих программы, а значит, они чаще ошибаются.
Поэтому и были придуманы машинные языки, которые в какой-то мере похожи на обычные языки народов нашей планеты. А компьютер сам переводит выражения машинного языка в машинные коды, пользуясь для этого специальной программой-переводчиком.
«Информатика не более наука о компьютерах, чем астрономия — наука о телескопах».
(Эдсгер Вибе Дейкстра)
