Разработка устройства, реализующего набор команд из числа операций с плавающей точкой семейства процессора i486. Структура сопроцессора FPU. Принцип выполнения операций, разработка блок-схемы, построение структурной схемы основных блоков процессора.
С появлением процессора i486 и его сопроцессора FPU - сопроцессора с плавающей точкой, работа с вещественными числами стала аппаратной, а не программной задачей. Освоение архитектуры, принципов работы сопроцессора FPU стало для программистов едва ли не основной задачей.Команда умножения умножает операнды источника и получателя и возвращает произведение в получатель. Оба операнда находятся в регистровом стеке в формате 80real. Адрес второго операнда определяется полем ST(i), которое принимает значения от 000 до 111, где 000 - вершина стека, 111 - восьмой элемент регистрового стека. Бит R показывает, возвращается ли результат в вершину стека. Бит P указывает, что после операции производится извлечение из стека.Во внутренних операциях процессор с плавающей точкой (ППТ) использует представление вещественных чисел в формате с расширенной точностью (РТ, m80real) (рис.2.1). Поле порядка (E) показывает фактическое положение двоичной точки в разрядах мантиссы. Порядок задается в смещенной форме; он равен истинному порядку (П), увеличенному на значение смещения - смещ РТ = 16383: E = П смещ РТ Числа в формате РТ имеют явный бит F0. Поле порядка (E) показывает фактическое положение двоичной точки в разрядах мантиссы.3.1) включает в себя кольцевой стек из восьми регистров R0-R7, слово тэгов TW, слово состояния SW и слово управления CW. В стеке хранятся числа в формате РТ. ST(0) содержит последнее включенное в стек значение, регистр ST(1) предпоследнее и т.д. Включение в стек осуществляет декремент TOP и загрузку в новую вершину стека. В слове состояния SW поле TOP содержит адрес текущей вершины стека.На основании анализа заданных операций укрупненная блок-схема процессора представлена на рис 4.1. В него входят оперативная память ОП, блок преобразования форматов данных БПФ, блок регистров БР, блок обработки данных БОД, блок микропрограммного управления БМУ. Из БР в БОД передаются 2 операнда в формате РТ для операции умножения (FMUL) и из БОД в БР передается результат операции умножения в формате РТ в вершину стека.Порядок выполнения операции состоит из следующих этапов: а) Чтение операнда из вершины стека ST(0) в БОД; Если регистр ST(0) непустой (Т(0)?11), то читаем операнд в RGD=ST(0), а оттуда в рабочий регистр RG1. Если регистр ST(i) непустой (Т(i)?11), то читаем операнд в RGD=ST(i), а оттуда в рабочий регистр RG2. Первый операнд читается из вершины стека в рабочий регистр Второй операнд читается из вершины стека в рабочий регистр RG2: RG2=ST(i).Адрес содержит 11 бит, из них старшие 8 адресуют слово MW, а младшие 3 - слово W в MW. При записи данное должно быть размещено в ОП в соответствии со своим форматом и адресом, поскольку запись полного слова может привести к разрушению информации в соседних полях слова памяти. Управляют записью в банки биты разрешения записи Z7, Z6, …, Z0, формируемые в зависимости от трех младших бит адреса (таблица 6.1). Схема управляется сигналами (битами МК) WR - запись, МЕМ - обращение к памяти. Блок регистров БР (рис.6.5) включает в себя регистровый стек ST, регистр тэгов TW, регистр управления CW, регистр состояния SW, регистр 1-го операнда RGA, схему СХАИМ анализа и модификации TW, CW и SW, трехразрядный сумматор SM.6.12) входят регистр команд RGK, регистр микрокоманд RGMK, схема управления последовательностью микрокоманд УПМ, мультиплексор кода условия МКУ; инвертор кода условия ИКУ, счетчик микрокоманд СМК, преобразователь кода операции ПКОП, мультиплексор адреса МК МУАД, память констант ПЗУК. В микрокоманде можно выделить часть, которая управляет операционными блоками - ОП, БПФ, БР, БОД, и часть, которая управляет самим БМУ. В МК, которая управляет БМУ входят следующие поля: CHA-управление адресом следующей МК, CC-определяет проверяемое логическое условие (ЛУ), I - бит инверсии условия, J-бит безусловного перехода, Адр/К (адреса/константы)-поле адреса или константы, которое содержит адрес следующей МК, адрес ПЗУ констант или небольшую константу К. ПКОП преобразует код операции в начальный адрес НА микропрограммы этой операции или непосредственно в микрокод. Знак и характеристика первого числа хранятся в регистре BX (15ый бит - знак числа, биты 0-14 - характеристика), мантисса - в регистре BP.Целью данного курсового проекта является разработка устройства, реализующего набор команд из числа операций с плавающей точкой семейства процессора i486, изучение структуры сопроцессора FPU.
План
Содержание
Техническое задание
Введение
1. Описание команд
1.1. FMUL ST, ST(i) - умножение
1.2. FST m32real - сохранение
2. Форматы данных
2.1. Внутренний формат
2.2. Внешний формат
2.3. Пример формата m80real
2.4. Пример формата m32real
3. Программная модель процессора
4. Блок - схема процессора
5. Алгоритмы операций
5.1. Алгоритм операции FMUL St,St(i)
5.2. Алгоритм операции FST m32real
6. Структурные схемы блоков процессора
6.1. Блок памяти
6.2. Блок преобразования форматов
6.3. Блок регистров
6.4. Блок обработки данных (блок умножения)
6.5. Блок микропрограммного управления
7. Моделирование операции FMUL St,St(i)
Заключение
Список использованных источников
Введение
С появлением процессора i486 и его сопроцессора FPU - сопроцессора с плавающей точкой, работа с вещественными числами стала аппаратной, а не программной задачей. Производительность ЭВМ увеличилась. Возможности использования ЭВМ в бухгалтерии и многих других областях деятельности человека дали толчок массовому внедрению их в повседневную жизнь. Были переписаны многие программы, компиляторы. Освоение архитектуры, принципов работы сопроцессора FPU стало для программистов едва ли не основной задачей.
В данной работе описываются команды, форматы данных ППТ, программная модель и почти все блоки процессора, рассматриваются алгоритмы выполнения заданных операций, а также моделирование одной арифметической операции на модели микропрограммируемого процессора (MICRO).
Вывод
Целью данного курсового проекта является разработка устройства, реализующего набор команд из числа операций с плавающей точкой семейства процессора i486, изучение структуры сопроцессора FPU. В результате выполнения данной работы был расписан принцип выполнения операций, разработаны блок-схемы выполнения этих операций, построены структурные схемы основных блоков процессора.
Грамотная разработка подобных устройств дает необходимые первичные навыки будущим инженерам различных специальностей.
Список литературы
1. Григорьев В.Л. Микропроцессор i486. Архитектура и программирование (в четырех книгах). М.: ГРАНАЛ, 1993. 382 с.
2. Григорьев В.Л. Архитектура и программирование арифметического сопроцессора. М.: Энергоатомиздат, 1991.
3. Злобин В.К., Григорьев В.Л. Программирование арифметических операций в микропроцессорах: учебное пособие для технических вузов, М: Высш. шк., 1991, 303 с.
4. Исследование микропрограммируемого процессора: методические указания к лабораторным работам / РГРТА; Сост.: Волковыский В.Л., Елесина С.И., Никифоров М.Б. Рязань, 2001, 40 с.
5. Проектирование процессора с плавающей точкой: методические указания к лабораторным работам / РГРТА; Сост.: Волковыский В.Л., Елесина С.И. Рязань, 2003, 32 с.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы