Работа микроЭВМ происходит по алгоритму, определяемому программой. Программа состоит из последовательного набора команд. Каждый микропроцессор характеризуется определенной системой команд, т. е. полным перечнем элементарных действий, которые может выполнять данный микропроцессор. К ним относятся элементарные арифметические и логические операции, операции пересылки данных и т. и. Команды могут состоять из одного или двух-трех цифровых слов-байт. Первый байт любой команды содержит код операции. Он определяет число слов команды и те действия, которые должен выполнить микропроцессор. Эти сведения называют операндами.
При работе микропроцессора выполнение любой из команд, записанной в программе, начинается с чтения ее кода из ЗУ. Процессорный модуль выдает в шину адресов код адреса ячейки памяти, в которой записан код операции команды. Одновременно по шине управления поступает сигнал чтения из памяти ЧТЗУ. В результате код операции команды поступает из ячейки памяти в шину данных и считывается процессорным модулем. Микропроцессор декодирует код операции, определяет действия, которые ему необходимо выполнить, и приступает к выполнению команды. Во время ее выполнения микропроцессор может еще несколько раз обратиться к памяти для получения и записи данных или констант. После выполнения одной команды микропроцессор переходит к выполнению следующей, для чего снова обращается к памяти и вызывает из очередной ячейки код следующей команды.
Правильно и оптимально составлять программы для ЭВМ — непросто. Появилась специальная наука, занимающаяся именно этим делом, программирование. Программисту надо очень хорошо знать систему команд данной ЭВМ. Даже «простейший» микропроцессор, работающий с 8-разрядным кодом, может иметь до 2 8= 256 различных команд. Разумеется, запомнить более 200 команд, представленных 8-разрядными двоичными числами, не может даже самый талантливый программист.
Для облегчения программирования каждому коду команды ставится в соответствие мнемоническое название (мнемоника) команды. Мнемонический код команды является сокращением английских слов, описывающих ее действие. Набор мнемонических кодов образует язык, на котором и ведется программирование. Создано уже много языков программирования, например Алгол, Фортран, Паскаль, Кобол, Бейсик. Каждый из них обладает теми или иными достоинствами при решении определенных задач. Для микроЭВМ программисту достаточно иметь под руками программу перевода мнемоники команды в ее код операции. В больших ЭВМ подобные программы заложены в отдельном модуле машины, так называемом трансляторе. Достаточно набрать па клавиатуре дисплея мнемонику команды, и транслятор сам переведет ее в код операции, который оператору знать уже совсем не обязательно.
Вот, например, как происходит диалог оператора с ЭВМ на языке Фортран. Человек набирает на клавиатуре дисплея общеизвестное обращение HELLO. ЭВМ по этому обращению выполняет ряд команд, которые нас уже не касаются, но подготавливают машину к диалогу с нами. Следующее обращение, набираемое человеком, SYSTEM FORTRAN. Оно означает, что разговор (диалог) будет происходить на языке Фортран, и транслятор подготавливается к принятию команд на этом языке. Далее надо дать знать машине, с кем она имеет дело, поскольку пользователей у большой ЭВМ может быть много и работать они могут одновременно. Человек набирает NEW III или NEW SSS.
Слово «NEW» здесь означает, что работает новый (для машины) пользователь, а следующие три буквы его инициалы: Иван Иванович Иванов (III) или Семен Семенович Семенов (SSS). Вы можете выступать, разумеется, и под другим зашифрованным именем. Машине это безразлично, она будет знать вас таким, каким вы ей назоветесь. Теперь ЭВМ готова работать с вами, и она распечатывает на экране дисплея столбик номеров, которые вы должны заполнить командами и исходными данными.
Но я вовсе не собираюсь учить вас сейчас программированию. Наша задача в другом. Рассказав о сегодняшнем состоянии дел в области мини-, микро- и больших ЭВМ, пора подумать и о перспективах.
Чем меньше, тем быстрее!
Лет десять-пятнадцать назад конструкторы, всеми силами боровшиеся за повышение быстродействия ЭВМ, увидели некий «физический предел», превзойти который, казалось бы, невозможно. Дело в том, что ЭВМ второго поколения, построенные на дискретных элементах (транзисторах, диодах) или интегральных микросхемах с малой степенью интеграции (транзисторные и диодные сборки, отдельные логические элементы), имели все еще внушительные размеры. А сигналы проходят по соединительным проводникам с определенной скоростью, в любом случае не большей, чем скорость света. Этот факт установили еще до создания теории относительности.
Читать дальше