- •Пояснительная записка
- •Введение
- •1. Техническое задание
- •1.1. Область применения
- •1.2. Индивидуальное задание и литературные источники
- •1.3. Метод конвейеризации
- •1.4. Технические требования
- •1.4.1. Команды эвм
- •1.4.2. Диапазон и погрешность представления чисел
- •1.4.3. Форматы команд, данных и слова состояния процессора
- •1.4.4. Организация виртуальной памяти
- •1.4.5. Способы организации ввода/вывода информации
- •1.4.6. Способ оценки производительности эвм
- •1.4.7. Приращение производительности эвм
- •1.5. Способ тестирования эвм
- •1.6. Взаимодействие программ пользователя с внешними устройствами
- •1.7. Демонстрация возможностей взаимодействия cpu с внешними устройствами
- •1.8. Интерфейс Win32 api
- •2. Структура и алгоритм функционирования эвм классической модели
- •2.1. Вводные замечания
- •2.2. Функциональная модель эвм
- •2.3. Алгоритм функционирования эвм
- •2.4. Средства управления прерываниями
- •2.5. Организация виртуальной памяти
- •2.6. Оценка производительности эвм
- •3. Модификация созданной эвм
- •3.1. Возможности повышения производительности эвм
- •3.2. Организация конвейерной обработки команд
- •Inc 23 такта
- •Iret 12 тактов
- •3.3. Расчет прироста производительности эвм
- •4. Тестовая задача
- •4.1. Алгоритм и программа для тестирования эвм
- •4.2. Моделирование процесса выполнения программы
- •5. Программирование ввода и вывода
- •5.1. Пример использования системных функций для ввода
- •5.2. Общие сведения об интерфейсе Win32 api
- •Заключение
2.6. Оценка производительности эвм
Определим время выполнения команд в классической модели и пути уменьшения этого времени. Для оценки времени выполнения команд в качестве единицы времени используется такт.
Таблица распределения времени выполнения команд
Название ступени (действия на ГСА) |
Тип команды | ||||||
ADD |
WR |
JMP |
JS (да/нет) |
READ |
INC |
IRET | |
IFETCH (выборка команды) |
8 |
8 |
8 |
8/8 |
8 |
8 |
8 |
DECODE (декодирование команды) |
1 |
1 |
1 |
1/1 |
1 |
1 |
1 |
TEST (проверка условия) |
- |
- |
- |
1/1 |
- |
- |
- |
EADDR (создание исполнительного адреса) |
2 |
2 |
- |
- |
2 |
2 |
- |
OFETCH (выборка операнда) |
4 |
- |
- |
- |
4 |
4 |
- |
EXEC (исполнение) |
3+1 |
1 |
- |
- |
1 |
3 |
1 |
CHANGE IP ( изменить IP) |
- |
- |
1 |
1/0 |
- |
- |
1 |
STORE (сохранение) |
- |
4 |
- |
- |
- |
4 |
- |
ENDOP (завершение) |
1 |
1 |
1 |
1/1 |
1 |
1 |
1 |
Итого: |
20 |
17 |
11 |
12/11 |
17 |
23 |
12 |
В следующей таблице приведены доли затрат времени для каждой команды.
Тип команд |
Доля общего времени выполнения, % |
ADD |
30 |
READ |
20 |
WR |
15 |
JMP |
7 |
Условный переход выполняемый |
8 |
Условный переход невыполняемый |
7 |
INC |
5 |
IRET |
8 |
=100
Для оценки производительности работы ЭВМ необходимо вычислить время, затрачиваемое на выполнение некоторой обобщенной команды. Для вычисления величины времени выполнения обобщенной команды используется формула, определяющая величину взвешенного арифметического среднего, которая позволяет учесть частоту использования каждой команды в заданной смеси команд.
X=, где
Xi – время (такты) выполнения команды i-го типа в заданной смеси команд;
Ci – дробная величина (доля). Характеризует частоту использования команды i-го типа в заданной смеси команд. При этом
Тип команд |
Доля общего времени выполнения, коэф. |
Время выполнения |
CiXi |
ADD |
0,3 |
20 |
6 |
READ |
0,2 |
17 |
3,4 |
WR |
0,15 |
17 |
2,55 |
JMP |
0,07 |
11 |
0,77 |
Условный переход выполняемый |
0,08 |
12 |
0,96 |
Условный переход невыполняемый |
0,07 |
11 |
0,77 |
INC |
0,05 |
23 |
1,15 |
IRET |
0,08 |
12 |
0,96 |
Итого |
|
|
16,56 |
Таким образом в среднем на выполнение одной команды требуется 16,56 тактов, ≈ 17 тактам.
Если частота тактирующих сигналов будет 17 МГц, то производительность бесконвейерной модели ЭВМ составит 1 миллион операций в секунду.
3. Модификация созданной эвм
3.1. Возможности повышения производительности эвм
Существует различные способы повышения производительности ЭВМ, например:
параллельная обработка нескольких команд за счет использования конвейерного принципа обработки команд;
параллельная обработка нескольких команд за счет увеличения числа процессоров;
использование нескольких процессоров;
повышение быстродействия виртуальной памяти;
повышение частоты генератора тактовых импульсов.
В данном курсовом проекте для повышения производительности ЭВМ реализуется конвейерный принцип обработки команд, заключающийся в совмещении выполнения текущей команды с выборкой следующей.