Скачиваний:
85
Добавлен:
13.03.2016
Размер:
46.08 Кб
Скачать

Лекция 2

2.3. Архитектура МП

Под архитектурой МП понимают функциональные возможности МП, используемые для представления программ и данных, а также для управления процессом вычислений.

Архитектура микропроцессора определяется следующими элементами:

1)Множество команд. Множество команд в общем случае содержит группу команд передачи данных, группу команд целочисленной арифметики, группу команд арифметики с плавающей точкой, группу логических команд, группу команд управления последовательностью выборки, группу специальных команд. Множество команд определяет также форматы кодирования команд, способы адресации данных.

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

3)Модель памяти. Модель памяти определяет размер адресного пространства, возможности адресации и связь с кэш-памятью; порядок байт (big или little-endian), совмещение (aliasing) имен (альтернативные имена для ссылки на одну и ту же область памяти) и когерентность.

4)Модель прерываний. Модель прерываний определяет полное множество прерываний и условий, которые генерируют прерывания. Модель прерываний специфицирует характеристики прерываний, такие как определенные или неопределенные, синхронные или асинхронные, маскируемые или не маскируемые. Модель прерываний определяет вектора прерываний и множество регистров, которые задействуются при прерываниях. Модель прерываний также обеспечивает адресное пространство для реализации специфических прерываний.

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

6) Модель счета времени. Модель счета времени, определяет объекты, которые позволяют установить время суток, а также ресурсы и механизмы, необходимые для поддержки время зависимых исключений.

2.3.1. Множество команд

Команда состоит из кода операции и некоторой дополнительной информации, например, откуда поступают операнды и куда должны отправляться результаты. Процесс определения, где находятся операнды (их адреса), называют адресацией.

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

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

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

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

Регистровая адресация сходна с прямой адресацией, только вместо адреса ячейки ОП указывается адрес регистра. Этот способ адресации является самым распространенным.

При косвенной регистровой адресации определяемый операнд берется из памяти или отправляется в память, но адрес не зафиксирован жестко в команде, как при прямой адресации. Вместо этого адрес содержится в регистре и его называют указателем. Преимущество косвенной адресации состоит в том, что можно обращаться к памяти, не имея в команде полного адреса.

Индексная адресация предполагает, что адрес памяти является суммой указателя и небольшого смещения в самой команде.

Относительная индексная адресация предполагает, что адрес памяти вычисляется путем суммирования значения двух регистров и смещения.

Традиционные архитектуры МП насчитывают большое количество разнообразных команд с разнообразными способами адресации и поэтому называются компьютерами с полным набором команд (CISC – Complex Instruction Set Computer).

Компьютеры с сокращенным набором команд (RISC – Reduced Instruction Set Computer) имеют небольшое количество простых команд, каждая из которых выполняется за один цикл обращения к регистрам.

При гибридном подходе МП содержат ядро RISC, которое выполняет самые простые (и обычно самые распространенные) команды за один цикл обращения к регистрам, а по обычной технологии CISC интерпретируются более сложные команды. В результате обычные команды выполняются быстро, а более сложные и редкие – медленно.

2.3.2. Программная модель

2.3.2.1. Регистры

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

Регистры можно разделить на адресные регистры (АР), регистры данных (РД), регистры общего назначения (РОН) и специальные регистры (СР).

Адресные регистры содержат адреса ОП. Регистры данных содержат промежуточные результаты вычислений и могут специализироваться на хранении различных типов данных (целых чисел или в формате с плавающей запятой).

Регистры общего назначения содержат как адресную информацию, так и данные. В одних МП РОН полностью симметричны и взаимозаменяемы, а в других - могут быть специализированы.

Специальные регистры включают счетчик команд и другие регистры с особой функцией (регистры специальных функций). Некоторые СР доступны только в особом режиме работы МП – привилегированном или супервизорном. Эти регистры используются только операционной системой (ОС) – специальной программой, управляющей выполнением пользовательских программ. Есть один специальный регистр, который представляет собой привилегированно пользовательский гибрид. Это флаговый регистр или PSW (Program State Word – слово состояния программы). Этот регистр содержит различные биты, которые нужны МП. Самые важные биты - это коды условия. Они устанавливаются в каждом цикле с участием АЛУ и отражают состояние результата выполненной операции. Биты кода условия включают:

N- результат отрицательный (Negative);

Z- результат равен 0 (Zero);

C- перенос из самого левого бита (Cary out);

V – результат вызвал переполнение (oVerflow);

AC – перенос из третьего бита (Auxiliary cary – служебный перенос);

P – результат четный (Parity).

Коды условий используются в командах условного перехода. Другие поля PSW указывают режим МП (пользовательский или привилегированный), трассовый бит (используется для отладки), уровень приоритета процессора, а также статус разрешения прерываний.

Указатель стека (SP – Stack Pointer) содержит адрес вершины стека. Стек - это память магазинного типа с дисциплиной обслуживания LIFO, организованная в ОП и содержащая данные и/или адреса возврата.

Стеке может содержать некоторую структуру данных местоположение которой определяется двумя указателями SP и LV, где LV – нижняя граница расположения данных в стеке. Такую структуру называют фреймом (кадром) стека.

В некоторых процессорах только часть РОН видны программе в любой момент времени. Эта особенность, называемая регистровыми окнами. Она предназначена для повышения эффективности вызова подпрограмм. Регистровые окна имитируют стек. То есть существует несколько наборов регистров, точно также как и несколько фреймов в стеке. Специальный регистр CWP (Current Window Pointer – указатель текущего окна) содержит номер регистрового окна, доступного программе. Команда вызова подпрограммы такого процессора скрывает старый набор регистров и путем изменения CWP предоставляет новый набор, который может использовать вызванная подпрограмма. Однако некоторые регистры могут перекрываться, что обеспечивает эффективный способ передачи параметров между подпрограммами.

2.3.2.2. Типы данных

Процессоры поддерживают различные типы данных на уровне системы команд. Типы данных можно разделить на две категории: числовые и нечисловые.

Среди числовых типов данных главными являются целые числа различной длины (8,16,32 или 64 бита). Некоторые процессоры поддерживают целые числа и со знаком и без знака. Знаковый бит является старшим битом слова, а отрицательные числа представляются в дополнительном коде.

Нечисловые типы данных используются для представления символьной информации. Наиболее распространенными символьными кодами являются ASCII (7-битовый символ) и UNICODE (16-битоаые символы). На уровне команд часто имеются особые команды, предназначенные для операций с цепочками символов. Эти цепочки иногда разграничиваются специальными символами в конце. Вместо этого для определения конца цепочки может использоваться поле длины цепочки. Команды могут выполнять копирование, поиск, редактирование цепочек и другие действия.

Соседние файлы в папке ВстроенныеСистемы