Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ekzam.docx
Скачиваний:
8
Добавлен:
18.09.2019
Размер:
3.23 Mб
Скачать

30.Структура центрального процесора

В состав процессора входят как программно доступные регистры, так и специ­альные регистры управления и состояния. Последние также могут неявно обра­батываться при выполнении определенных машинных команд. Программно доступные регистры могут иметь общее или специальное назначение, например предназначаться для хранения чисел в формате с плавающей точкой, адресов, индексов или указателей сегментов. Регистры управления и состояния исполь­зуются для управления ходом выполнения операций в процессоре. Примером регистра подобного типа может служить счетчик команд — PC. Другим регист­ром этой группы является регистр слова состояния программы — PSW, кото­рый включает множество битов состояния и условий. В частности, в состав PSW входят биты, отражающие характер результата последней выполненной арифметической или логической команды, биты разрешения прерывания, ин­дикатор режима выполнения программы (супервизорный/пользовательский).

Для повышения скорости обработки в процессоре может быть организован кон­вейерный режим. По существу, конвейерная организация предполагает разбив­ку цикла обработки команды на несколько отдельных этапов, которые следуют один за другим — этап извлечения команды, декодирования команды, опреде­ления адресов операндов, извлечения операндов, выполнения операции и запи­си результата. Команда "проходит" через эти этапы, как через технологические позиции на сборочном конвейере, и средства выполнения каждого этапа могут в один и тот же момент времени иметь дело с разными командами. Реализация такой стратегии обработки команд серьезно усложняется наличием команд пе­рехода и определенной зависимостью команд друг от друга.

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

Извлечение команды — процессор считывает команду из памяти.

Интерпретация команды — процессор расшифровывает команду и опре­деляет, какие операции ему предстоит выполнить.

Извлечение данных — для выполнения команды может потребоваться про­честь данные из памяти или из модуля ввода-вывода.

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

Запись данных — если в процессе выполнения команды данные были из­менены, результат необходимо где-то зафиксировать. В частности, результат может быть записан в память или передан в модуль ввода-вывода.

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

31.Організація набору регістрів

В микропроцессоре MC68000 имеется восемь 32-разрядных регистров дан­ных и девять регистров адреса такой же длины. Хотя основное назначение реги­стров данных — манипуляция со значениями операндов, они используются и в качестве индексных регистров при формировании исполнительного адреса. Раз­рядность регистров позволяет работать с 8-, 16- или 32-разрядными элементами

данных в зависимости от кода операции. Регистры адреса содержат 32-разрядные адреса (без сегментации). Два из них используются в качестве указа­телей стека: один — стека прикладной программы, а другой — стека операцион­ной системы в соответствии с текущим режимом выполнения программы. Оба регистра имеют номер 7, поскольку в каждый момент времени может быть ак­тивным только один из них. В состав MC68000 входит также 32-разрядный счетчик команд и 16-битовый регистр состояния.

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

Разработчики микропроцессора Intel 8086 использовали при организа­ции регистров другой подход. Каждый регистр имеет свое назначение, хотя некоторые из них могут использоваться и в качестве универсальных. В со­ставе Intel 8086 имеется четыре 16-разрядных регистра данных, которые можно адресовать как целиком (все 16 разрядов), так и побайтово, и четыре 16-разрядных регистра, предназначенных для формирования адреса.

Из этого краткого описания двух конструкций процессоров следует, что не существует единого общепринятого подхода к организации регистров в процессоре (см. [TOON81J). Как и многие другие вопросы проектирования процессоров, эта проблема до сих пор является темой оживленных дискуссий и экспериментов.

В торой вывод, касающийся организации регистров в процессоре, иллю­ стрируется схемой регистров процессора Intel 80386, представленной на рис. 11.3,в [ELAY85J. Этот микропроцессор разрабатывался как 32- разрядная модификация процессора 8086. В состав процессора 80386 входят 32-разрядные регистры, но чтобы сохранить обратную совместимость про­ граммного обеспечения, в нем сохранена прежняя схема распределения функций между регистрами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]