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