- •Пояснительная записка к курсовому проекту по дисциплине
- •Введение
- •1. Техническое задание
- •1.1. Область применения
- •1.2. Индивидуальное задание и литературные источники
- •1.3. Метод конвейеризации
- •1.4. Технические требования
- •1.4.1. Перечень команд
- •1.4.2. Диапазон и максимальная абсолютная погрешность данных
- •1.4.5. Способы организации ввода/вывода информации
- •1.4.6. Способ оценки производительности эвм
- •1.4.7. Требуемое значение приращения производительности эвм, которое должно быть получено в результате модификации первоначально созданной эвм
- •1.5. Способ тестирования создаваемой эвм
- •1.6. Способ взаимодействия программ пользователя с внешними устройствами
- •1.7. Задача и требования к прикладной программе, которая иллюстрирует возможности взаимодействия с внешними устройствами по вводу и выводу
- •1.8. Интерфейс Win32 api
- •2. Структура и алгоритм функционирования эвм классической модели
- •2.1. Вводные замечания
- •2.2. Функциональная модель эвм
- •2.3. Алгоритм функционирования эвм
- •2.4. Средства управления прерываниями
- •2.5. Организация виртуальной памяти
- •2.6. Оценка производительности эвм
- •3. Модификация созданной эвм
- •3.1. Возможности повышения производительности эвм
- •3.2. Организация конвейерной обработки команд
- •3.3. Расчет прироста производительности эвм
- •4. Описание тестовой задачи
- •4.1. Описание программы (исходной и объектной)
- •Моделирование процесса выполнения программы
- •5. Программирование ввода и вывода.
- •5.1. Пример использования для ввода/вывода системных функций.
- •5.2 Общие сведенья об интерфейсе Win32 api.
- •Заключение.
1.7. Задача и требования к прикладной программе, которая иллюстрирует возможности взаимодействия с внешними устройствами по вводу и выводу
Требуется разработать программу, в которой для перемещения символа «*» в пределах заданного прямоугольника необходимо использовать клавиши, обозначенные символами: «←», «↑», «→», «↓» (стрелки). Таким образом, будет продемонстрирована возможность взаимодействия программы с устройствами ввода-вывода.
1.8. Интерфейс Win32 api
Назначение и примеры использования систем функций для разработки приложений.
2. Структура и алгоритм функционирования эвм классической модели
2.1. Вводные замечания
Существует две основные классические модели ЭВМ: принстонская и гарвардская.
Принстонская архитектура характеризуется использованием общей оперативной памяти для хранения программ, данных. Для обращения к этой памяти используется общая системная шина, по которой в процессе поступают и команды и данные. Эта архитектура имеет ряд важных достоинств:
1) Наличие общей памяти позволяет оперативно перераспределять ее объем для хранения отдельных массивов команд, данных
2) Использования общей шины для передачи команд и данных значительного упрощает отладку, тестирования.
Недостатки этой системы: общая шина становиться узким местом, которая ограничивает производительность цифровой системы.
Гарвардская архитектура характеризуется физическим разделением памяти команд и памяти данных. Каждая память соединяется с процессором отдельной шиной, что позволяет одновременно читать и записывать данные при выполнении текущей команды производить выборку и декодирование следующей команды. Благодаря такому разделению потоку команд и данных и совместному операций их выборки реализуются более высокая производительность, чем при использовании Принстонской архитектуры.
Недостатки Гарвардской архитектуры связаны с необходимостью проведения большого числа шин, а так же с фиксированным объемом памяти, выделенной для команд и данных, назначение которой не может оперативно перераспределяться в соответствии с требованием решаемой задачи.
Гарвардская архитектура широко применяется во внутренней структуре современных микропроцессоров, где используется отдельная кэш память для хранения команд и данных. В тоже время во внешней структуре большинстве микропроцессорных систем реализуются принципы Принстонской архитектуре.
Процессоры классифицируются по признаку поточности I и D (команд и данных):
ОКОД – одиночный поток команд, множественный поток данных.
Примером вычислительной машины, в которой реализуется такая система обработки данных, является персональная ЭВМ.
ОКМД – одиночный поток команд, множественный поток данных.
Такая система обработки данных используется в ассоциативных, матричных вычислительных системах.
В машинах такого класса одна и та же команда выполняется над большим количеством данных. В этом случае АЛУ представляет собой некоторой процессор со своей памятью, устройством управления и АЛУ. Эти устройства могут преобразовывать информацию, передавать ее на последующие элементы. В качестве основного устройства управления может выступать отдельная ЭВМ.
МКОД – множественный поток команд, одиночный поток данных.
Эта система обработки данных применяется в машинах конвейерного типа: множественный поток микроопераций воздействует на один поток данных.
Некоторые команды разбиваются на несколько элементарных операций, каждая из которых выполняется в своем блоке. Данные, проходя через последовательность операционных блоков, преобразуются. При этом действия выполняются над одними данными. Когда блок освобождается от данных, в него могут быть загружены другие данные. Таким образом, осуществляется заполнение конвейера.
МКМД – множественный поток команд, множественный поток данных.
Машины имеют одну память команд, поэтому могут возникнуть конфликты по ресурсам, когда АЛУ обращается к памяти команд и к памяти данных. Системы МКМД бывают многомашинными и многопроцессорными.
Представим описание структуры (перечень компонентов и их связи) аппаратных средств, реализующих классическую модель принстонской ЭВМ с архитектурой ОКОД.
Структура аппаратных средств включает в себя:
1. системная шина:
- шина данных
- шина адреса
- шина управления
2. центральное процессорное устройство:
- RA (регистр адреса, 64-х разрядный)
- RD (регистр данных, 64-х разрядный)
- R (регистр)
- центральное устройство управления и регистры управления(IP, IR, FR)
- ALU, локальное устройство управления, операционное устройство управления
3. основная память
4. интерфейс ввода/вывода:
- буфер выводимых данных
- буфер вводимых данных
- периферийные устройства
