- •Микропроцессорные системы
- •Зачем нужны микропроцессоры?
- •Что такое процессор?
- •Запоминающие устройства
- •Адресация при работе с памятью
- •Адресное пространство
- •Взаимодействие процессора с памятью
- •Пример простейшего взаимодействия процессора с памятью
- •Обратная связь с процессором
- •Внутренние регистры и команды процессора процессора
- •Историческая справка
- •Теоретическая часть
- •Программно доступные регистры
- •Формирование физических адресов
- •Регистр признаков
- •Описание лабораторного макета
- •Организация памяти
- •Программа Монитор
- •Назначение индикационного экрана
- •Основные команды программы Монитор
- •Задание для подготовки к работе
- •Рабочее задание
- •Вопросы для самоконтроля
Если подытожить всё вышесказанное, то процессор — это электронное устройство, предназначенное для пошаговой обработки информации в цифровой форме на основе программ, хранящейся в памяти.
Помимо микропроцессоров существуют и другие перепрограммируемые компоненты (уж больно удачным оказался принцип). Среди всех наиболее заметными являются программируемые логические и аналоговые интегральные схемы (ПЛИС и ПАИС).
Создание интегральной микросхемы — дело ещё более дорогое, чем создание печатной платы. В попытках оптимизировать этот процесс появились ПЛИС — микросхемы, содержащие готовые логические узлы и систему ключей, позволяющих эти узлы соединить в произвольном порядке. Получается что-то вроде «конструктора» из которого можно собрать любую микросхему.
Тем не менее ПЛИС не является процессором. Даже если предположить, что изменение конфигурации ключей на плате есть аналог записи в память, ПЛИС не реализует условие пошаговости т.к. отдельные части одной ПЛИС могут работать полностью независимо и одновременно. Можно сказать что при соответствующем программировании внутри одной ПЛИС могут быть реализованы несколько не связанных между¹ собой устройств.
Довольно часто ПЛИС программируется таким образом, что превращается в микропроцессор. По совести надо сказать, что при разработке новых процессоров их работоспособность чаще всего проверяется именно с использованием ПЛИС.
Говоря о ПЛИС нельзя не упомянуть и о ПАИС, которые стали появляться на рынке в последнее десятилетие. ПАИС очень похожи на ПЛИС, но вместо цифровых компонентов в них установлены аналоговые. Это позволяет программировать и аналоговые схемы.
Ни ПЛИС, ни ПАИС не являются процессорами, хотя возможно помещение микропроцессора в ПЛИС.
1.3. ЗАПОМИНАЮЩИЕ УСТРОЙСТВА
Процессор хранит программу в памяти и исполняет её, читая из памяти. Следовательно, от характеристик памяти во многом зависит то, как
¹Надо признать что они всё-таки будут иметь общий источник питания и общую шину земли. Так что говорить о полной независимости не приходится.
9
программа будет исполняться.
Запоминающее устройство — это устройство, способное хранить некоторое количество информации и воспроизводить её по требованию.
В компьютерных системах информацию обычно представляют в виде разрядов двоичных чисел и хранят некоторыми фиксированными порциями, соответствующими разрядности шины процессора.
Далее говоря о памяти мы будем подразумевать именно двоичные цифровые запоминающие устройства.
1.3.1. Адресация при работе с памятью
Как уже было отмечено выше информация в памяти хранится в виде двоичных разрядов — битов. Однако обработка информации по одному биту — не целесообразна т.к. при помощи одного бита можно представить только числа 0 и 1. При помощи n бит можно представить числа от
0 до 2n 1.
Вопрос о том какое же выбрать значение n является одним из ключевых при разработке процессора. В принципе существовали и однобитные процессоры². Во многих калькуляторах с успехом использовались 4- разрядные процессоры. Потом число разрядов выросло до 8 (как например в КР580ВМ80А) и 16 (КМ1810ВМ86). Большинство современных компьютеров построены на 32-разрядных процессорах, постепенно вытесняемых процессорами с разрядностью n = 64.
Количество бит, которое может обработать процессор за один раз, на-
зывается.машинным словом
Поскольку процессор обрабатывает данные порциями по n бит, то казалось бы их целесообразно и хранить такими порциями. Но это не совсем так. В 32 битах может быть сохранено число 232 1 = 4294967295. Совсем не всегда необходимо использовать столь большие числа, а значит и не всегда уместно хранить данные именно такими порциями.
Как показал опыт, оптимальной порцией для хранения данных является байт — 8 бит. При необходимости 8 бит могут быть объединены для получения больших разрядностей: 16, 24, 32, 64 и т.д.
Очевидно, что память, в которой содержится программа должна иметь достаточный объём для её хранения. Возьмём какое-нибудь смехотвор-
²Например процессоры РАЙТА-5, производимый когда-то Рижским производственным предприятием «Альфа», использовавшихся в обработке изображений.
10
ное (по современным меркам) количество памяти, скажем — 1 Кбайт. В одном байте 8 бит, поэтому этому объёму соответствуют 8 Кбит. Если каждый бит памяти подвести к процессору при помощи отдельного проводника, то получится по крайней мере 8192 проводника.
Разместить такое количество проводников вокруг одного узла печатной платы практически не представляется возможным, а современные компьютеры оперируют гигабайтами памяти. Следовательно, единственный способ подключить к процессору большой объём памяти по малому числу проводников — мультиплексирование сигналов.
С этой целью вводится понятие адреса. Адрес — это некоторое число, поставленное в соответствие ячейке памяти при помощи которого к ячейке памяти может быть получен доступ.
Для обеспечения работы n-разрядного процессора с памятью с использованием m-разрядного адреса достаточно всего n + m проводников³. В современных процессорах часто встречается конфигурация при которой n = m = 32. 64 вывода — вполне разумное количество.
1.3.2. Адресное пространство
Число двоичных разрядов в адресе (число m из предыдущего раздела) фактически определяет количество ячеек памяти, которое процессор может адресовать. Вся совокупность памяти, к которой процессор может получить доступ называется адресным пространством.
Машина с m-разрядным адресом способна адресовать 2m байт памяти. Так, например, адресное пространство машины с 32-разрядным адресом составляет 232 = 4294967296 байт (4 гигабайта).
Совсем не все машины имеют столько же памяти, сколько потенциально помещается в их адресном пространстве. Например, современные 64-разрядные процессоры фирмы Intel изготавливаются в трёх вариантах: с 48-разрядными, 58-разрядными и 64-разрядными адресами, что позволяет в свою очередь адресовать 281474976710656 (256 терабайт), 72057594037927936 (64 петабайта) и 18446744073709551616 (4 эксабайта).
Следовательно, не всегда некоторым возможным адресам соответствует какая-нибудь память. Мы неизбежно приходим к тому, что область, в которой есть физическая память для процессора всегда представлена некоторым блоком адресов, имеющим первый и последний байт. Лю-
³Ниже будет показано, что в действительности требуется даже меньшее количество.
11
