Квант

14

МК:
ПРОБЛЕМЫ ОБЩЕНИЯ
(Путешествие по микрокомпьютеру)

Кандидат технических наук Д. Г. КРУТОГИН

В предыдущеем номере мы отправили в протулку по городу МК, осмотрели панораму города, представили життелей города, временных и постоянных. Сейчас самоое время посмотреть на план города, чтобы оценить его структуру. На схематическом плане (рисунок 1) вы видите пять крупных районов, связанных друг с другом. Мы проедем по ним в следующем порядке: районы устройства ввода (УВв) и вывода (УВы), район оперативной памяти (ОЗУ), постоянные запоминающие устройства

15

(ПЗУ) и, наконец, район микропроцессора (МП). На фотографини визу — реальный кристалл микрокомпьютера, увеличенный в 10 раз. Так он выглядает независимо до окончания процесса изготовления схемы и помещения в корпус. На нем не так просто указывать границы районов, тем более, что свободного места на кристалле почти не видно. Поэтому нам удобнее двигаться по плану. А теперь в путь…

Площадь тридиати вокзалов

На плане (рисунок 1) визу расположен центр приема туристов, или система устройства ввода (УВв) (напомним, что туристы в МК — машинные слова, объединенные в программы — делегации). Сюда, в район УВв, прибывают делегации из разных стран, к тому же самым разным транспортом. Например, с клавиатуры дисплея, с магнитофонов внешней памяти (ВЗУ) *), с экрана дисплея или от внешних датчиков. Поэтому район УВв представляет совокупность нескольких вокзалов или портов **).

No УВв не только вокзал, но и образцовое туристическое бюро нашего города, а также и таможня, отсекающая неправильные или недопустимые слова программы, словосочетания или команды. Устройства ввода встречают туристические делегации, проверяют въездные документы, снабжают их переводчики и сопровождающими лицами (адресами). наконец, те же устройства занимаются и расследием туристов в городе на время пребывания.

Итак: первая задача ввода, еще до анализа и перевода, — разгрузить транспорт, доставивший в город программы, то есть линия ввода информации. Для этого нужно запись полученные сигналы (пока просто запись, без всякой обработки) на том языке, на котором они посланы. Первоначально запись слов исходной программы выполняют входные порты. Они, собственно, и представляют собой небольшое блоки оперативной памяти длиной в одно машинное слово, то есть регистры. Каждый регистр снабжен блоком логических элементов*) — буфером, который обеспечивает подключение пустого регистра к внешним линям информации, а заполненного регистра — к микропроцессору. Mikропроцессор время от времени опрашивает входные порты и перегружает содержащие в них слова в ОЗУ, после чего порты готовы записать новое слово.

Кто командует парадом?

Надо заметить, что УВв активно участвует во всех этих мероприятиях, но главным действующим лицом является микропроцессор. Под управлением программы ввода (храняшейся

*) Устройство регистраров рассматриваось в рубрике ПЭВТ в «Кванте» № 4 за 1986 год; устройство логических элементов — в «Кванте» № 2 за 1986 год.

**) Здесь слова «порт» не только литературный образ, но и технический термин. Так называют часть микросхемы в районах УВв или УВв, обеспечивающую свою МК с внешними устройствами.

16

в ПЗУ) он сотрудничает с УВв, осуществляя прием туристических групп.

Вообще, давайте отчетим, что при рассмотрении работы ЭВМ всегда полезно разлиять аппараное обеспечение (скажем, реализные порты вводили вывода, ячейки памяти и т.п.) и программное, то есть те действия, которые совершают отдельные элементы МК, поддерживают определенным программам, управляющим машиной на разных стадиях ее работы.

Bot перед вами выключенная ЭВМ. Сейчас вы нажмите кнопку «Вкл», … что? Какие действия должны предприятить машина, чтобы подготовиться к работе, к вводу программы пользователя? Кто управляет его до тех пор, пока вы не введи свою программу? Ответ: собственная, записанная в ПЗУ программа, называемая «monitor». Ей отделяется приоритет сразу после «пробудения» машины. Оживший, но неагруженный МП как бы шлет во все концы вопрос: «Что делать? Что делать?» И первый ответает программа-monitor: «приготовься к вводу, очистти ОЗУ, вызови программу ввода, уточни, открыта (с какого порта) последует ввод…» Потом монторууступит командование программы ввода, а после завершения ввода монтор прикажет МП начинать использовать программы пользователя. Bot какая это важная программа — монтор! А кроме монтора у МК есть еще несколько службных программ.

Мы снова говорим на разных языках

Следующая задача, выполняемая при вводе, — перевод текста программы пользователя на машинный язык. Bot тут мы вновь возвращаемся к разговору о переводчиках. Переводчики живут тут же в городе, в район ПЗУ. Это специальные службные программы, называемые трансляторами (to translate (англ.) — переводить). Переводчики есть разные: один больше похож на переводчиков синхронистов, другие — на литературных переводчиков.

Синхронисты (или трансляторы-интерпретаторы) переводят одну очередную команду и направляют ее непредставлено на исполнение. В памяти переводчика-синхрониста текст переадана не сохраняется, поэтому при повторной работе с той же программы и той же командной транслятор-interпретатор снова проделявает ту же самую работу. Но иногда он вдруг отказывается переводить; это значит, что в исходной программе встречаются неточное, неверное выражение. Перевести ошибку интерпретатор не может, ее нет в его «словаре». Позатем на устройствы вывода (УВв) поступает сообщение об ошибке, даже о характере ошибки.

Литературные переводчики (или трансляторы-компиляторы) работают более солидно. Команду за командой они переписьают исходную программу на язык микрокомпьютера и занимает в его оперативную память. В конце этой работы в ОЗУ хранится полный аналог исходной программы, но уже на машинном языке. После окончания работы транслятор программы эта готова к использованию, в том числе к многократному повторению.

Какой же транслятор нужнее и лучше? Нужны оба. Для технологии с машиной, для работы в режиме диалога удобнее интерпретатор, он позволяетправить, изменить любую команду в любом месте программы. Для МК интерпретатор удобнее и потому, что требуется меньше объема оперативной памяти (для записи) и постоянной памяти (для хранения «словаря»). Это для длительных, многократных расчетов по большей и сложной программе удобнее компилятор, так как он работает намного быстрее.

Без тестов и без ошибки

Очередная задача приемного района — расселение программы. Для этого служит гостиничный комплект, называемый ОЗУ — оперативное заполнение устройств. Мы повышаем тем несколько позже, а сейчас отметим, что слова-команды и слова-операнды нужно расселить в разных клартах ОЗУ-района. Как уже говорилось раньше, с «точки зрения» машины они неразличны, и если при выполнении программы они перепутаются, то использование программы нарушится. Чтобы команду или операнд в нужный момент можно было легко найти, установить ввода снабжают все расселемые слова адресами, а адрес

17

необходимо запомнить, занести в свое-то рода «адресную» книгу. После этого машина работа уже не ссловами как таковых, а с адресами. Например: переслать содержимое ячейки № 95 ОЗУ в МП (допустим, ячейки с номерами от 000 до 199 мы отведели под команды). Еще пример: сравнить содержимое ячейки № 286 с нулем и большей число занести в ячейку № 286.

Ну и наконец, туристические бюро приемного района согласовывают порядок пребывания туристов в городе и заказывают соответствующие услуги. Согласитесь, что для расчет двух коротких уравнений, записанных пятью символами, — например,

c=a+b,c=tgabc = a + b, \\ c = tg a^b

— потребуется совсем разная подготовительная работа. В масштабах городской жизни первая задача проста как покупка газеты, вторая больше похожа на организацию фестиваля народных танцев. Тут нужно отыскать (где? в ПЗУ) программ вычисления степениных функций, а затем уж тангенсов произвольного аргумента. Но если туристы хотят pobивать на фестивале, то он должен быть организован, таковые условия работы нашего города — туристского центра.

Устройства вывода, расположенные на плане рядом с устройствами ввода, выполняют во многом сложные функции, но, конечно, в обратном порядке. Они преобразуют машинные слова — результаты расчетов — в удобную для потребителя форму (в виде таблицы, графиков, текста, звуковой сигнализации или даже речи) и подают управляющие сигналы на соответствующие выходное устройство: дисплей, печатающее устройство, звуковые генераторы, моделирующие речь.

Далее выходное устройство представляет собой простой семисеттный цифрозаковый индикатор (рисунок 2), то для управления им на выходе МК должна стать логическая схема, содержащая около сотни транзисторов. А на табло простого калькулятора обычно не менее 5—8 таких индикаторов, и даже на электронных часах не меньше четырех.

Итак, мы познакомились с задачими двух районов города МК, но по ходу