Жмакин А.П. Архитектура ЭВМ (2006) (1186252), страница 35
Текст из файла (страница 35)
□ процессорные ядра (CPU), включающие 16- и 32-разрядные микропроцессоры различной вычислительной мощности, но относящиеся к одному семейству;
□ системные интеграционные модули (SIM), контролирующие внешнюю шину, запуск, инициализацию и конфигурацию микроконтроллера. ОнЦ включают в себя тактовый генератор, блок системной конфигурации и за-] щиты, блок тестирования и интерфейс с внешней шиной. Модули отличав ются друг от друга, главным образом, разрядностью шин адреса и данных;!
□ модули памяти, отличающиеся типом и объемом запоминающих устройств: ОЗУ, ПЗУ(включая однократно программируемое пользователем),! ЭСППЗУ;
□ модули последовательных портов включают различные варианты синхронных и асинхронных программируемых контроллеров последователы] ного обмена. Предусмотрены модули, содержащие несколько различный интерфейсов;
□ таймерные системы представлены различными вариантами таймерных сопроцессоров (TPU). TPU способен независимо от процессора выполнять! как простые, так и сложные таймерные функции, его можно считать от-1 дельным специализированным микропроцессором, который осуществляет две основные операции— проверку на совпадение (от англ. match—\ сравнение) и сохранение значения счетчика-таймера в момент изменения состояния какого-либо входа (от англ. capture — захват) над одним one рандом — временем. Выполнение любой из них называется событием. Обслуживание событий сопроцессором замещает обработку прерываний центральным процессором. С помощью двух основных операций TPU может реализовать значительный набор функций: счет внешних событий, захват по внешнему входу, сравнение временных интервалов, широтно-импульсную модуляцию, измерение периода входного сигнала, программируемую генерацию импульсов и многие другие, программируемые пользователем. TPU, естественно, имеет собственную систему команд, его| программы хранятся на общей памяти системы или в специализированной памяти программ TPU;
Гпава 7. Эволюция архитектур микропроцессоров и микроЭВМ
231
□ системы аналогового ввода реализованы на различных вариантах АЦП (ADC), отличающихся разрядностью получаемого кода и способом (а следовательно, и временем) аналого-цифрового преобразования.
На рис. 7.16 приведена структура 32-разрядного микроконтроллера МС68332.
Кристалл микроконтроллера содержит следующие модули:
□ CPU32 — 32-разрядный центральный процессор семейства MC68000;
□ RAM — 2 Кбайт ОЗУ с независимым питанием для размещения программ и данных (напомним, что большинство изделий Motorola поддерживают архитектуру фон Неймана с единым адресным пространством программ и данных);
□ QSM— подсистемы последовательного ввода/вывода, включающие универсальный асинхронный приемопередатчик (UART) и дуплексный синхронный последовательный интерфейс (SPI);
□ TPU — шестнадцатиканальный таймерный сопроцессор;
□ SIM — системный интеграционный модуль.
Внешняя память может при необходимости подключаться к контроллеру к шинам адреса А[18:0], данных D[l5:0],управления шиной.
Линии порта С могут использоваться для выдачи функционального к идентифицирующего состояние процессора и адресное пространство теку го цикла шины (FC[2:0]), старших разрядов адреса (Ah) в режиме расширь ного адресного пространства и сигналов выбора кристалла (CS), разреш щих работу периферийных устройств по запрограммированным адресам.
Порт F принимает запросы внешних прерываний, линии порта D могут и пользоваться для передачи сигналов последовательных интерфейсов.
Группа линий ТР[15:0]— входы/выходы каналов таймерного сопроцессор На вход Vstb может подаваться независимое питание для сохранения инфо мации в ОЗУ при отключении основного питания.
Лабораторный практикум построен в расчете на изучение взаимодействии
устройств в структуре ЭВМ с помощью программной модели некоторой страктной учебной ЭВМ, которая программируется на языке ассемблера.
Часто путь современного программиста начинается со знакомства с языком (языками) высокого уровня и все его общение с компьютером проходит с нщ пользованием таких языков.
Во многих случаях знание операторов языка высокого уровня, структуры данных и способов их обработки является достаточным для создания разлиЧ' ных полезных приложений. Однако по-настоящему решать проблемы, сим занные с управлением различной, особенно нестандартной, аппаратурой (программирование "по железу") невозможно без знания ассемблера [14]. По случайно практически все компиляторы языков высокого уровня содержат1 средства связи своих модулей с модулями на ассемблере либо поддерживают выход на ассемблерный уровень программирования.
Однако проводить начальное обучение программированию на низком уровн# с рассмотрением механизмов взаимодействия устройств на реальном языке, например xS6 на персональной ЭВМ, не всегда удобно. В этом случае между пользователем и аппаратурой ЭВМ присутствует операционная система (ОСЯ которая существенно ограничивает желания пользователя экспериментиро* вать с аппаратными средствами. Для преодоления этих ограничений необходимо обладать глубокими знаниями как ОС, так и аппаратных средств ЭВМ. '■
Предлагаемая для использования программная модель учебной ЭВМ отража-i ет все основные особенности систем команд и структур современных простых ЭВМ, включает в себя, помимо процессора и памяти, модели нескольких типичных внешних устройств. Модель позволяет изучить основы программирования на низком уровне, вопросы взаимодействия различных уровней памяти в составе ЭВМ и способы взаимодействия процессора с внешними устройствами.
ГЛАВА 8
Описание архитектуры учебной ЭВМ
Современные процессоры и операционные системы — не слишком благоприятная среда для начального этапа изучения архитектуры ЭВМ.
Одним из решений этой проблемы может быть создание программных моделей учебных ЭВМ, которые, с одной стороны, достаточно просты, чтобы обучаемый мог освоить базовые понятия архитектуры (система команд, командный цикл, способы адресации, уровни памяти, способы взаимодействия процессора с памятью и внешними устройствами), с другой стороны — архитектурные особенности модели должны соответствовать тенденциям развития современных ЭВМ.
Программная модель позволяет реализовать доступ к различным элементам ЭВМ, обеспечивая удобство и наглядность. С другой стороны, модель позволяет игнорировать те особенности работы реальной ЭВМ, которые на данном уровне рассмотрения не являются существенными.
Далее приводится описание программной модели учебной ЭВМ1, предназначенной для начальных этапов изучения архитектуры (в т. ч. на младших курсах вуза и даже в школе). Именно этим объясняется использование в модели десятичной системы счисления для кодирования команд и представления данных.
8.1. Структура ЭВМ
Моделируемая ЭВМ включает процессор, оперативную (ОЗУ) и сверхоперативную память, устройство ввода (УВв) и устройство вывода (УВыв). Процессор, в свою очередь, состоит из центрального устройства управления (УУ), арифметического устройства (АУ) и системных регистров (CR, PC, и др.). Структурная схема ЭВМ показана на рис. 8.1.
В ячейках ОЗУ хранятся команды и данные. Емкость ОЗУ составля 1000 ячеек. По сигналу MWr выполняется запись содержимого регистра д ных (MDR) в ячейку памяти с адресом, указанным в регистре адреса (MAR), сигналу MRd происходит считывание — содержимое ячейки памяти с адресо содержащимся в MAR, передается в MDR.
Сверхоперативная память с прямой адресацией содержит десять регистре общего назначения R0—R9. Доступ к ним осуществляется (аналогично д тупу к ОЗУ) через регистры RAR и RDR.
АУ осуществляет выполнение одной из арифметических операций, опреде» ляемой кодом операции (СОР), над содержимым аккумулятора (Асе) и реги« стра операнда (DR). Результат операции всегда помещается в Асе. При завер-шении выполнения операции АУ вырабатывает сигналы признаков результ)| та: Z (равен 1, если результат равен нулю); S (равен 1, если результ; отрицателен); OV (равен 1, если при выполнении операции произошло пере полнение разрядной сетки). В случаях, когда эти условия не выполняют^ соответствующие сигналы имеют нулевое значение.
В модели ЭВМ предусмотрены внешние устройства двух типов. Во-первых, э регистры IR и OR, которые могут обмениваться с аккумулятором с помощ безадресных команд in (Асе := IR) и out (OR := Асе). Во-вторых, это наб моделей внешних устройств, которые могут подключаться к системе и взаимодействовать с ней в соответствии с заложенными в моделях алгоритмами. Каждое внешнее устройство имеет ряд программно-доступных регистроГ может иметь собственный обозреватель (окно видимых элементов). Подробнее эти внешние устройства описаны в разд. 8.6.
УУ осуществляет выборку команд из ОЗУ в последовательности, определяемо естественным порядком выполнения команд (т. е. в порядке возрастания адресов команд в ОЗУ) или командами передачи управления; выборку из 031 операндов, задаваемых адресами команды; инициирование выполнения операции, предписанной командой; останов или переход к выполнению следующей команды.
В качестве сверхоперативной памяти в модель включены регистры общего назначения (РОН), и может подключаться модель кэш-памяти.
В состав УУ ЭВМ входят:
□ PC — счетчик адреса команды, содержащий адрес текущей команды;
□ CR — регистр команды, содержащий код команды;
□ RB — регистр базового адреса, содержащий базовый адрес;
□ SP — указатель стека, содержащий адрес верхушки стека;
□ RA — регистр адреса, содержащий исполнительный адрес при к венной адресации.
Регистры Асе, DR, IR, OR, CR и все ячейки ОЗУ и РОН имеют длину десятичных разрядов, регистры PC, SP, RA и RB — 3 разряда.
8.2. Представление данных в модели
Данные в ЭВМ представляются в формате, показанном на рис. 8.2. Это цел десятичные числа, изменяющиеся в диапазоне "-99 999...+99 999", содер щие знак и 5 десятичных цифр.
Старший разряд слова данных используется для кодирования знака: плюс ( изображается как 0, минус (-) — как 1. Если результат арифметической оп рации выходит за пределы указанного диапазона, то говорят, что произои переполнение разрядной сетки. АЛУ в этом случае вырабатывает сигнал п" реполнения OV = 1. Результатом операции деления является целая часть стного. Деление на ноль вызывает переполнение.
8.3. Система команд
При рассмотрении системы команд ЭВМ обычно анализируют три аспекта: форматы, способы адресации и систему операций.
8.3.1. Форматы команд
Большинство команд учебной ЭВМ являются одноадресными или безадресными, длиной в одно машинное слово (6 разрядов). Исключение составляют двухсловные команды с непосредственной адресацией и команда mov, являющаяся двухадресной.
В форматах команд выделяется три поля:
□ два старших разряда [0:1] определяют код операции СОР;
□ разряд 2 может определять тип адресации (в одном случае (формат 5а) он определяет номер регистра);
Гпава 8. Описание архитектуры учебной ЭВМ
239
□ разряды [3:5] могут определять прямой или косвенный адрес памяти, номер регистра (в команде mov номера двух регистров), адрес перехода или короткий непосредственный операнд. В двухсловных командах непосредственный операнд занимает поле [6:11].
Полный список форматов команд показан на рис. 8.3, где приняты следующие обозначения:
□ СОР — код операции;
□ ADR — адрес операнда в памяти;
□ ADC — адрес перехода;
□ I — непосредственный операнд;
□ R, Rl, R2 — номер регистра;