Главная Учебники - Разные Лекции (разные) - часть 55
|
Московский
Государственный
Университет Экономики,
Статистики
и Информатики.
Институт
информационных
систем. Кафедра
вычислительных
систем, сетей
и телекоммуникаций. Курсовая
работа по теме: “Анализ
состава
АЛУ и принципы
выполнения
операций умножения
и деления в
конкретной
модели ЭВМ” Выполнил
студент группы
ДП-201: Зеленов
А.В. Руководитель: профессор
Черняк Н. Г.
Москва,
1998 год. Задание
на курсовую
работу на тему: “Анализ
состава
АЛУ и принципы
выполнения
операций умножения
и деления в
конкретной
модели ЭВМ” студента
группы ДП-201
Зеленова А.В. Введение
( структурная
схема ЭВМ , место
АЛУ и его взаимодействие
с другими
устройствами
) Основные
параметры и
классификация
АЛУ Алгоритм
выполнения
операций умножения
и деления в
АЛУ конкретной
модели ЭВМ Заключение
( сравнительный
анализ выполнения
арифметических
команд ) Исполнитель
: Руководитель
:
Создание
фирмой Intel
первого
микропроцессора
в 1971 году положило
начало
эпохе компьютеризации.
“Благодаря
микропроцессорам
компьютеры
стали массовым,
общедоступным
продуктом ”,-
заявил Тед
Хофф, один из
изобретателей
первого процессора.
Его имя, вместе
с именами его
коллег - Федерико
Феджина и Стива
Мейзора, внесено
в список лауреатов
Национального
зала славы
изобретателей
США, а само
изобретение
признано одним
из величайших
достижений
ХХ века.
За
чуть более чем
четвертьвековую
историю микропроцессоры
прошли поистине
гигантский
путь. Первый
чип Intel
4004 работал
на частоте 750
Кгц, содержал
2300 транзисторов
и стоил около
200 долларов.
Производительность
его оценивалась
в 60 тысяч операций
в секунду. На
сегодняшний
день рекордные
показатели
принадлежат
микропроцессорам
Alpha 21264
фирмы DEC
и составляют:
600 МГц,
15.2 миллиона
транзисторов,
2 миллиарда
операций в
секунду и около
300 долларов
соответственно. Сравнение
приведенных
значений подтверждает
оценку успехов
микропроцессорной
индустрии,
данную основателем
и председателем
совета директоров
фирмы Intel
Гордоном
Муром: “Если
бы автомобилестроение
эволюционировало
со скоростью
полупроводниковой
промышленности,
то сегодня
“Роллс-Ройс”
стоил бы 3 доллара,
мог бы проехать
полмиллиона
миль на одном
галлоне бензина
и было бы дешевле
его выбросить,
чем платить
за парковку”
[ “Intel на Comtek’98”
CDROM - perspectives.html ].
Такое
интенсивное
развитие технологий
в обществе, где
основным предметом
труда становится
информация,
является следствием
растущего
спроса на новые
орудия труда
- компьютеры.
На сегодняшний
день компьютеризация
является одним
из главных
направлений
научно-технического
прогресса и
концентрированным
его выражением.
Количество
и качество
производимых
в стране компьютеров,
степень насыщенности
вычислительной
техникой самых
разных отраслей
становится
одним из основных
критериев ее
экономического
и военного
потенциала.
В
формируемом
ежегодно в США
группой экспертов
перечне “критических
технологий”,
охватывающем
практически
все направления
производства,
исследований
и разработок,
оказывающих
влияние на
военный и
экономический
статус страны,
микроэлектронные
технологии
традиционно
занимают первое
место. В
микропроцессорах
- наиболее сложных
микроэлектронных
устройствах
- воплощены
самые передовые
достижения
инженерной
мысли. В условиях
свойственной
данной отрасли
производства
жесткой конкуренции
и огромных
капиталовложений,
выпуск каждой
новой модели
микропроцессора
- так или иначе
связан с очередным
научным, конструкторским,
технологическим
прорывом.
Универсальные
микропроцессоры
предназначаются
для применения
в вычислительных
системах :
персональных
ЭВМ, рабочих
станциях, а в
последнее время
и в массово-параллельных
супер-ЭВМ. Основной
их характеристикой
является наличие
развитых устройств
для эффективной
реализации
операций с
плавающей
точкой над 64
разрядными
и более длинными
операндами.
Предназначаются
в основном для
проведения
научно-технических
расчетов. Цифровые
сигнальные
процессоры
рассчитаны
на обработку
в реальном
времени цифровых
потоков, образованных
путем оцифровывания
аналоговых
сигналов. Это
обусловливает
их сравнительно
малую разрядность
и преимущественно
целочисленную
обработку.
Однако современные
сигнальные
процессоры
способны проводить
вычисления
с плавающей
точкой над
32-40 разрядными
операндами.
Кроме того,
появился класс
медийных процессоров,
представляющих
собой законченные
системы для
обработки
аудио- и видеоинформации. Наибольшей
специализацией
и разнообразием
функций обладают
микроконтроллеры,
используемые
во встроенных
системах управления,
в том числе и
в бытовых приборах.
Общее число
кристаллов
с различными
системами
команд превышает
500, и все они, в
силу существования
изделий с их
использованием,
имеют свою
устойчивую
долю рынка. В
данной курсовой
работе на примере
цифрового
сигнального
процессора
семейства
ADSP-21xx
производится
разбор команд
умножения и
деления, выполняемых
в АЛУ.
Центральный
процессор в
персональных
компьютерах
представляет
собой микропроцессор,
то есть построен
на одной микросхеме
(БИС,СБИС). В его
состав входят: Центральное
устройство
управления
- комплекс средств
автоматического
управления
процессами
передачи и
обработки
информации; Арифметико-логическое
устройство
- устройство,
осуществляющее
обработку
информации
и выработку
признаков
управляющих
сигналов. Внутренняя
память процессора
:
Регистровая
память
Постоянная
память устройства
управления Модули
оперативной
и постоянной
памяти, связаны
с микропроцессором
напрямую. Остальные
устройства
( монитор, клавиатура,
накопители
на магнитных
носителях и
т.д.) связаны с
микропроцессором
через контроллеры
ввода-вывода,
которые, в свою
очередь, связаны
с микропроцессором
через системную
шину. Микропроцессор
является ядром
ЭВМ (рис.1). Он
осуществляет
обработку
данных и функции
управления
системой. К
функциям управления
системой относятся
: инициирование
операций
ввода-вывода управление
доступом к
основной памяти
( работа с виртуальной
памятью ) обработка
системных
событий - прерываний организация
многозадачных
режимов работы
Организация
центрального
процессора
определяется
архитектурой
и принципами
работы ЭВМ (
состав и форматы
команд, организация
памяти ). Логическая
структура
включает ряд
функциональных
средств: средства
обработки
информации
локальная
память средства
управления
системой и
программами
управление
интерфейсом
и каналами
Структурно
эти средства
разбиваются
на центральное
устройство
управления,
АЛУ, внутреннюю
память и управляющие
устройства,
связанные с
конкретными
устройствами
вычислительной
машины. Центральное
устройство
управления
принимает и
расшифровывает
команды, формирует
адреса команд
и операндов,
формирует
последовательности
управляющих
сигналов и
обеспечивает
координацию
работы всех
функциональных
узлов, посредством
выработки
синхронизирующих
сигналов. Внутренняя
память входит
в состав первого
уровня и связана
с АЛУ и другими
блоками центрального
процессора
непосредственно
и имеет скорость
работы соизмеримую
со скоростью
работы блоков
процессора. Управляющая
память входит
в состав центрального
устройства
управления
и относится
к классу постоянной
памяти. Этот
вид памяти
используется
для хранения
микропрограмм.
Ее отличает
очень высокое
быстродействие
и небольшая
емкость, определяющаяся
количеством
команд в системе
команд центрального
процессора. Регистровая
память выполнена
на триггерных
элементах и
входит в состав
центрального
процессора.
Емкость ее
невысока, скорость
высокая, но
меньше, чем у
управляющей
памяти. Основной
характеристикой
данного типа
памяти является
разрядность
Арифметико-логическое
устройство
функционально
можно разделить
на две части
:
а) микропрограммное
устройство
(устройство
управления),
задающее
последовательность
микрокоманд
(команд);
б) операционное
устройство
(АЛУ), в котором
реализуется
заданная
последовательность
микрокоманд
(команд).
Закон переработки
информации
задает микропрограмма
М, которая
записывается
в виде последовательности
микрокоманд
A1,A2, ..., Аn-1,An.
При этом различают
два вида микрокоманд:
внешние, то
есть такие
микрокоманды,
которые поступают
в АЛУ от внешних
источников
и вызывают в
нем те или иные
преобразования
информации
(на рис. 2
микрокоманды
A1,A2,...,
Аn),
и внутренние,
которые генерируются
в АЛУ и воздействуют
на микропрограммное
устройство,
изменяя естественный
порядок следования
микрокоманд.
Например, АЛУ
может генерировать
признаки в
зависимости
от результата
вычислений
j,w,Q
и др. (j –
признак переполнения,
w – признак
отрицательного
числа, Q
– признак равенства
0 всех разрядов
числа), На рис.
2
эти микрокоманды
обозначены
р1,
p2,...,
рm.
Результаты
вычислений
из АЛУ передаются
по кодовым
шинам записи
у1,
у2,
...,уs,
в ОЗУ.
Функции регистров,
входящих в АЛУ:
Рг1 – сумматор
(или сумматоры)
– основной
регистр АЛУ,
в котором образуется
результат
вычислений;
Рг4 – адресный
регистр (или
адресные регистры),
предназначен
для запоминания
(иногда и формирования)
адреса операндов
и результата;
Ргб – k индексных
регистров,
содержимое
которых используется
для формирования
адресов;
Рг7 – l вспомогательных
регистров,
которые по
желанию программиста
могут быть
аккумуляторами,
индексными
регистрами
или использоваться
для запоминания
промежуточных
результатов.
Часть операционных
регистров
является
программно-доступной,
то есть они
могут быть
адресованы
в команде для
выполнения
операций с их
содержимым.
К ним относятся
:
сумматор,
индексные
регистры,
некоторые
вспомогательные
регистры.
остальные
регистры
программно-недоступные,
так как они не
могут быть
адресованы
в программе
. Операционные
устройства
можно классифицировать
по виду обрабатываемой
информации,
по способу
обработки
информации
и логической
структуре.
Подробная
классификация
АЛУ показана
на рис. 3.
Сложность
логической
структуры АЛУ
в определенной
степени можно
охарактеризовать
количеством
отличающихся
друг от друга
микроопераций,
необходимых
для выполнения
всего комплекса
задач, поставленных
перед АЛУ. На
входе каждого
регистра собраны
соответствующие
логические
схемы, обеспечивающие
такие связи
между регистрами,
что позволяют
реализовать
заданный набор
микроопераций.
Выполнение
операций над
словами сводится
к выполнению
последовательности
микрокоманд,
которые управляют
передачей слов
в АЛУ и действиями
по преобразованию
слов. Порядок
выполнения
микрокоманд
определяется
алгоритмом
выполнения
операций.
Следовательно,
связи между
регистрами
АЛУ и функции,
которые должны
выполнять
регистры, зависят
в основном от
принятой методики
выполнения
операций :
арифметических,
логических
и специальной
арифметики.
Перечень операций,
выполняемых
в АЛУ, зависит
от назначения
цифровой
вычислительной
машины и от
функций, выполняемых
АЛУ при обеспечении
работы остальных
устройств
машины. При
представлении
операций в виде
последовательностей
микроопераций
АЛУ должно
состоять из
элементов;
реализующих
эти микрооперации.
Таким образом,
структура АЛУ
определяется
набором микроопераций,
необходимых
для выполнения
заданных
арифметических,
логических
и специальных
операций , а
задачу построения
АЛУ можно свести
к задаче определения
набора микроопераций,
который позволяет
составить
микропрограмму
любой из заданных
операций. Такой
набор легко
получить. если
записать
микропрограммы
всех операций,
выполняемых
в АЛУ, и выбрать
из них все
микрооперации,
входящие в
микропрограммы
хотя бы один
раз. Однако,
если при этом
алгоритм операций
выбирать произвольно,
то количество
микроопераций,
входящих в
полный набор,
может оказаться
слишком большим
и, следовательно,
АЛУ будет сложным.
Для получения
более простой
схемы АЛУ алгоритмы
арифметических
и логических
операций следует
выбирать из
условия получения
минимального
набора микроопераций.
При этом необходимо
учитывать
требование
обеспечения
заданного
быстродействия
АЛУ: слишком
ограниченный
набор микроопераций
может привести
к “длинным
микропрограммам
некоторых
операций”, что
увеличивает
время выполнения
данных операций. Структурная
схема микропрограммы
сложения показана
на рис. 4. Выполнение
этого алгоритма
состоит в следующем: Первое
слагаемое а
устанавливается
на Рг1, анализируется
его знак: если
знак отрицательный,
то операнд
инвертируется
и передается
на Рг3, если
положительный
- передается
без инверсии
через Рг2 на
Рг3 Второе
слагаемое
также устанавливается
на Рг1 и анализируется
его знак: если
знак отрицательный,
то операнд
инвертируется,
если положительный
- сразу начинается
суммирование
операндов на
Рг2 ( сумматоре
) После
суммирования
анализируется
знак результата:
если результат
отрицательный,
то он инвертируется,
если положительный
- добавляется
“+1” ЦП к младшему
разряду результата
и выполняется
анализ признаков
переполнения
Для
того, чтобы
структурная
схема, показанная
на рис. 4 могла
выполнять
операцию вычитания,
достаточно
перед выполнением
операции
проинвертировать
знак второго
слагаемого.
В
начале операции
все регистры
устанавливаются
в нулевое состояние. Множимое
и множитель
располагаются
в определенных
регистрах,
предусматриваются
также регистры,
в которых образуется
сумма частичных
произведений. Анализируется
младший разряд
множителя:
если он имеет
значение “1”,
то к сумме частичных
произведений
прибавляется
множимое.
Действия
3 и 4 повторяются
n
раз ( n
- разрядность
сомножителей
) Структурная
схема микропрограммы
умножения
показана на
рис. 6. Ввиду
громоздкости
деление здесь
не рассматривается. Теперь,
можно приступать
к рассмотрению
конкретного
АЛУ, что и будет
сделано. В качестве
примера возьмем
АЛУ цифрового
сигнального
процессора
- специализированного
процессора
с RISC
архитектурой,
предназначенного
для решения
задач цифровой
обработки
сигналов. Трудно
найти такую
область техники,
где не могли
бы применяться
сигнальные
процессоры.
Это цифровая
фильтрация,
кодирование
и декодирование
информации,
обработка звука
и распознавание
речи, обработка
изображений,
медицина,
измерительная
техника, управляющие
системы и многое
другое. Чем
же отличается
цифровой процессор
от обычного
микропроцессора
? В первую очередь
- архитектурой
и системой
команд. В основу
построения
DSP (Digital
Signal Processor) положены
следующие
принципы : использование
гарвардской
архитектуры сокращение
длительности
командного
цикла применение
конвейеризации применение
аппаратного
умножителя включение
в систему команд
специальных
команд цифровой
обработки
сигнала Гарвардская
архитектура
подразумевает
хранение программ
и данных в двух
раздельных
запоминающих
устройствах.
Соответственно
на кристалле
имеются раздельные
шины адреса
и данных ( в
некоторых типах
процессоров
- несколько шин
данных и адреса
). Это позволяет
совмещать во
времени выборку
и исполнение
команд Конвейерный
режим используется
для сокращения
командного
цикла. Обычно
применяется
двух- или трехкаскадный
конвейер, что
позволяет на
различных
стадиях выполнения
одновременно
обрабатывать
две или три
инструкции. Аппаратный
умножитель
применяется
для сокращения
времени выполнения
одной из основных
операций цифровой
обработки
сигнала - умножения.
В процессорах
общего назначения
эта операция
используется
за несколько
тактов сдвига
и сложения (
см. рис.5 ) и занимает
много времени,
а в DSP
благодаря
специализированному
умножителю
- один цикл. Все
устройства
в процессорах
этого семейства
16-и битные с
фиксированной
точкой. Почти
все операции
подразумевают
представление
знаковых чисел
в форме дополнения
до двух. Остальные
же используют
беззнаковые
числа или просто
строки битов.
Специальная
поддержка
имеется для
многословных
вычислений
и блочной плавающей
арифметики. Это
простейшая
форма записи;
16 бит составляют
строку битов.
Примерами
операций, в
которых используется
этот формат,
являются логические
операции
NOT,AND,OR,XOR.
Эти операции,
исполняемые
АЛУ, считают,
что их аргументы
строки битов
и не заботятся
о знаке или о
положении
десятичной
точки
Беззнаковые
двоичные числа
могут принимать
только положительные
значения и
потому имеют
почти вдвое
больший диапазон,
чем знаковые
числа той же
длины. Младшие
слова чисел
с увеличенной
точностью
используются
как беззнаковые
числа. Для
арифметики
процессоров
семейства
термин “знаковый”
всегда обозначает
числа. Записанные
в форме дополнения
до двух. Многие
инструкции
процессора
подразумевают
или поддерживают
арифметику
по модулю 2.
Арифметические
инструкции
процессоров
семейства
оптимизированы
для операций
в дробном двоичном
формате 1.15. В этом
формате левый
бит числа обозначает
его знак, и 15
оставшихся
бит представляют
собой числа
от -1 до почти
1 ( из-за несимметричности
представления
знаковых чисел
).
Все
арифметико-логические
операции трактуют
свои операнды
и получают
результаты
как 16 разрядные
битовые строки,
за исключением
примитивов
знакового
деления (DIVS).
Различные флаги
трактуют результаты
как числа со
знаком: флаг
переполнения
(AV)
и флаг отрицательного
числа (AN). Логика
флага переполнения
основана на
арифметике
по модулю 2. Он
устанавливается
если знаковый
бит изменялся
непредсказуемым
образом. Например
при сложении
двух положительных
чисел, результат
также должен
быть положителен.
Если же происходит
переполнение
( перенос в знаковый
бит, устанавливающий
его в единицу,
так что результат
получается
отрицательным
), то устанавливается
бит AV. Логика
флага переноса
основана на
беззнаковой
арифметике.
Этот флаг
устанавливается
в том случае,
если генерируется
перенос из
старшего разряда
числа, который
не может быть
записан в результат.
Этот флаг очень
полезен при
операциях с
многословными
представлениями
чисел для младших
слов. Результаты
умножения
представляют
собой битовые
строки. Операнды
же обрабатываются
так, как это
указано в самой
инструкции
( умножение
знаковых, умножение
беззнаковых,
умножение
знакового на
беззнаковое
или операция
округления
). 32-битный результат
из умножителя
считается
знаковым, так
как происходит
знаковое расширение
на все 40 бит наборов
регистра умножителя
( MR ).
Все
процессоры
семейства
поддерживают
два формата
коррекции
результата
умножения :
дробный (1.15 )
целый ( также
называется
16.0 ) Когда
процессор
умножает два
1.15 операнда,
результат
является числом
в формате 2.30 ( два
знаковых бита
и 30 дробных бит
). В дробном режиме
МАС автоматически
сдвигает результат
умножения влево
на один бит
перед переносом
его в регистр
результата
( MR ).
После этого
сдвига формат
результата
становится
1.31, что позволяет
округлить его
до формата
1.15. В
целочисленном
режиме сдвиг
влево не происходит.
Например, если
операнды формата
16.0, то 32-битный
результат
умножения будет
в формате 32.0. Более
того здесь
сдвиг не нужен,
ибо он изменит
значение результата. Многие
сдвиговые
операции созданы
специально
для знаковых
или беззнаковых
чисел: логические
сдвиги предполагают
беззнаковые
операнды, тогда
как арифметические
сдвиги предполагают
знаковые операнды.
Экспоненциальная
логика предполагает
знаковые операнды
и поддерживает
блочную плавающую
точку, которая
тоже базируется
на формате
дополнения
до двух. Арифметико-логическое
устройство
обеспечивает
стандартный
набор арифметических
и логических
операций. Также
имеется два
примитива
деления, которые
позволяют
реализовывать
многоцикловое
деление. На
рисунке 7
показана блок-схема
АЛУ. АЛУ
имеет три 16-битных
регистра, доступных
для программиста
: X,Y
-регистры
операндов, а
R - регистр
результата.
АЛУ использует
входной сигнал
переноса ( CI
), который
означает бит
переноса в
регистре
арифметического
состояния (
ASTAT ).
АЛУ генерирует
шесть статусных
сигналов :
результат 0 (
AZ )
отрицательный
( AN )
перенос
( AC )
переполнение
результата
( AV )
знак (AS
)
состояние
частного (
AQ ) В
конце цикла
все сигналы
арифметического
статуса изменяют
состояния
соответствующих
битов в регистре
арифметического
статуса ( ASTAT
).
Входной
порт X
может принимать
данные из двух
источников
: из блока
регистров
АХ или с шины
результата.
Шина результатов
( R )
соединяет
выходные регистры
всех вычислительных
устройств,
позволяя им
быть непосредственно
операндами
инструкций.
Блок регистров
АХ состоит из
двух регистров
: АХ0 и АХ1. Эти
регистры читаемы
и могут быть
записаны через
шину DMD.
Выход блока
регистров АХ
таков, что один
из них может
Входной
порт Y
также может
принимать
данные из двух
источников
: из набора регистров
АY или
из регистра
обратной связи
AF.
Блок регистров
AY состоит
из двух регистров
AY0 и
AY1.
Эти регистры
читаемы и могут
быть записаны
через шину DMD,
а также могут
быть записаны
через шину PMD.
Выход блока
регистров AY
совпадает
по своим возможностям
с блоком регистров
АХ. Результат
работы АЛУ
загружается
либо в регистр
обратной связи
AF,
либо в регистр
результата
AR.
Регистр обратной
связи - внутренний
регистр АЛУ,
который позволяет
использовать
результат
непосредственно,
как операнд
Y.
Регистр результата
AR может
записываться
как на шину
DMD,
так и на шину
результатов.
Он также непосредственно
загружаем с
шины DMD.
Набор
инструкций
позволяет
осуществить
чтение этих
регистров с
шины PMD,
но при этом
нужно использовать
устройство
обмена между
DMD-PMD
шинами. Любые
регистры, связанные
с АЛУ могут как
читаться, так
и писаться в
одном цикле.
Регистры читаются
в начале цикла
и записываются
в конце. Новое
значение, записанное
в регистр, не
может быть
считано до
начала следующего
цикла.
АЛУ содержит
два набора
регистров AR,
AF, АХО, АХ1, AYО, AY1. В
каждый момент
времени домен
лишь один набор.
Дополнительный
набор регистров
может быть
сделан активным
(например, при
обработке
прерывания)
для очень быстрого
переключения
контекстов.
Новая задача,
такая, как обработка
прерывания,
может быть
выполнена без
запоминания
текущего состояния
регистров АЛУ.
Выбор первичного
или вторичного
набора регистров
контролируется
битом 0 в регистре
режима и статуса
процессора
(MSTAT). Если этот
бит нулевой,
используется
первичный
набор, если же
он единица, то
используется
вторичный
набор регистров.
Вот список
стандартных
функций АЛУ: R= – X Для
обработки чисел
с повышенной
точностью
предусмотрен
сигнал переноса
и флаг переноса
(AC). Операция
сложения с
переносом (+Cl)
предназначена
| |||||||||||||||||||||||||||||||||||||||||||||||||||