- •Пояснительная записка к курсовому проекту по дисциплине
- •Введение
- •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.
- •Заключение.
5. Программирование ввода и вывода.
5.1. Пример использования для ввода/вывода системных функций.
Пример использования системных функций для ввода-вывода:
#include <dos.h> #define ESC 27 void main() { int x=30, y=10; union REGS in, out; char temp; do { clrscr(); //Очистка экрана gotoxy(x,y); printf("*\n"); in.h.ah=0*07; int86(0*21, &in, &out); if (out.h.al==0) { in.h.ah=0*07; int86(0*21, &in, &out); } temp=out.h.al; switch (temp) { case 77: x++; break; case 75: x--; break; case 80: y++; break; case 72: y--; break; } if (x>35) x=25; if (x<25) x=35; //Пределы заданного на экране окна if (y>15) y=5; if (y<5) y=15; // delay(500); } while(out.h.al!=ESC); }
5.2 Общие сведенья об интерфейсе Win32 api.
API (Application Program Interface) - набор из нескольких тысяч системных функций, дающий полный контроль над ресурсами операционной системы. В Windows 95 их количество составляло немногим более двух тысяч. В современных версиях Windows их количество возросло. ОС Windows не дает прямой доступ к устройствам обычным программам, но множество системных функций позволяет использовать полный спектр возможностей устройств, причем программист не обязан знать ни внутреннюю структуру устройства ни непосредственные способы программирования этих устройств (в отличие от программирования устройств в DOS).
Все 32-разрядные приложения Windows используют для взаимодействия с операционной системой, оборудованием и другими программами интерфейс Win32 API.
Так как доступ в обход Win32 API запрещен, программам необходимо использовать этот интерфейс. Приложения Windows исполняются в защищенном режиме процессора, в котором прямой доступ к портам ввода/вывода и областям памяти, не принадлежащим приложению, является привилегированной операцией и доступен только операционной системе. Поэтому программа обращается к операционной системе с помощью Win32 API с запросом на выполнение этих операций.
Среди функций Win32 API имеются: функции для работы с файловой системой, функции для построения пользовательского интерфейса, функции для работы с дополнительными устройствами (принтеры, звуковые карты и др.), функции для межпрограммного взаимодействия (посылка и прием сообщений), функции для работы с сетью и другие.
Заключение.
В результате выполнения курсовой работы были получены знания в области проектирования микропроцессоров, знания об устройствах и внутренних механизмах, имеющих место в современных электронно-вычислительных машинах.
Проектирование контроллера позволило понять структуру Принстонской архитектуры ЭВМ.
Общее время, затраченное на курсовой проект: 72 часа.
Ready ALUШД
Y10 S ША
R T ALU ШК
Y11
REG
& УУ Ai R 0 Y7
АLU ОУ ALU RD RA
Pi
Акк Y6 Y9 V1
Y5 IP
Контроллер прерываний
-регистр
Int
#
SF SF S V2 Y2
ZF FR ZF Z
OF OF O Y8
STI IF IF I
CLI внешние устройства
Y4
Ready RAM
RI КОП СА А
Ready ALU Z S O INT
АО
ЧТ INTR WR RAM режим
DС ЗП
…УУ Процессора RD RAM режим
Y0
INTA
Пуск
S
Тп
1
Y3 Рис.1. Регистровая модель гипотетическогоCPU