Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект по дисциплине Архитектура ЭВМ.doc
Скачиваний:
28
Добавлен:
01.05.2014
Размер:
661.5 Кб
Скачать

Федеральное агентство по образованию.

Санкт-Петербургский государственный электротехнический

университет «ЛЭТИ» имени В. И. Ульянова

КАФЕДРА ВТ

Пояснительная записка

К КУРСОВОМУ ПРОЕКТУ

по дисциплине «Архитектура ЭВМ»

Студент:

Преподаватель: Валов А.А.

Санкт-Петербург

2007

Содержание

Введение 3

1. Техническое задание 3

1.1. Область применения 3

1.2. Индивидуальное задание и литературные источники 3

1.3. Метод конвейеризации 4

1.4. Технические требования 4

Мнемокод 4

Код 4

Операнд 4

Назначение и действия 4

1.5. Способ тестирования ЭВМ 11

1.6. Взаимодействие программ пользователя с внешними устройствами 11

1.7. Демонстрация возможностей взаимодействия CPU с внешними устройствами 12

1.8. Интерфейс Win32 API 12

2. Структура и алгоритм функционирования ЭВМ классической модели 12

2.1. Вводные замечания 12

2.2. Функциональная модель ЭВМ 14

2.3. Алгоритм функционирования ЭВМ 16

2.4. Средства управления прерываниями 20

2.5. Организация виртуальной памяти 21

2.6. Оценка производительности ЭВМ 26

3. Модификация созданной ЭВМ 28

3.1. Возможности повышения производительности ЭВМ 28

3.2. Организация конвейерной обработки команд 28

3.3. Расчет прироста производительности ЭВМ 29

4. Тестовая задача 32

4.1. Алгоритм и программа для тестирования ЭВМ 32

4.2. Моделирование процесса выполнения программы 34

5. Программирование ввода и вывода 35

5.1. Пример использования системных функций для ввода 35

5.2. Общие сведения об интерфейсе Win32 API 36

ЗАКЛЮЧЕНИЕError: Reference source not found7

Введение.

Целью курсового проекта является приобретение навыков по составлению структурных и алгоритмических описаний ЭВМ. Цель достигается созданием классической принстонской модели ЭВМ с заданными характеристиками, которая далее совершенствуется с помощью реализации метода конвейеризации для повышения производительности ЭВМ.

1. Техническое задание

1.1. Область применения

Проектируемая ЭВМ относится к области электронных приборов, использующихся в спорте. Пользователь может задать на электронном табло счет спортивной игры.

Вариант

Объем виртуальной страницы

Способ

Адресации

Основная

память

Кбайт

Н

О

П

К

Объем

Мбайт

ШД

1

2

+

-

+

+

64

32

1.2. Индивидуальное задание и литературные источники

Параметры создаваемой ЭВМ:

При выполнении данной работы были использованы следующие источники информации

1) Лекции доцента кафедры ВТ Валова А.А. по курсу «Архитектура ЭВМ».

2) «Организация ЭВМ и систем» Н.Н.Горнец, А.Г.Рощин, В.В.Соломенцев, Москва: Издательский центр «Академия», 2006 г.

3) Дан Эпплман «Win32 API. Для профессионалов» С.-Пб.: Издательский дом «Питер», 2001 г.

4) «Руководство по микроконтроллерам», Майк Предко, М.: Издательство «Постмаркет», 2001 г.

1.3. Метод конвейеризации

В проекте используется простой способ конвейеризации, обеспечивающий совмещение выполнения текущей команды и выборки следующей. Каждая команда выполняется пошагово: сначала – выбирается из памяти, затем обрабатывается процессором. Процесс обработки предыдущей команды и выборки следующей можно совместить, так как задействованы разные системные ресурсы. С помощью этого метода можно увеличить производительность процессора. Этот метод называется конвейерный принцип обработки информации.

1.4. Технические требования

1.4.1. Команды ЭВМ

Мнемокод

Код

Операнд

Назначение и действия

Флаги

ADD

11001

Rr

Сложение с фиксированной точкой

Акк Акк + Rr

OF, ZF, SF

FADD

10100

Rr

Сложение с плавающей точкой

Акк Акк + Rr

OF, ZF, SF

WR

00110

Rd

Запись в память из Акк

RAM(Rd) Акк

None

READ

01001

Rr

Чтение из памяти в Акк

Акк RAM(Rr)

None

Jmp

01011

K

Безусловный переход

IP K + IP

None

JS

00011

K

Условный переход

If (S==1) then IP IP+K

None

JZ

00100

K

Условный переход

If (Z==1) then IP+K

None

HLT

01000

-

Останов

Тп 0

None

CLI

01101

-

Сброс флага IF

IF 0

IF

StI

01111

-

Установка IF

1F 0

IF

PtrRk

10101

Rk

Загружает косвенный адрес в Rk

RkRAM(Rr)

AND

01100

Rr

Логическое “и” – логическое умножение значений из регистра и аккумулятора

Акк Акк&Rr

None

OR

01110

Rr

Логическое “или” – логическое сложение значений из регистра и аккумулятора

Акк АккV Rr

None

IRET

11101

Возвращение управления прерванному процессу

SPSP+4

IPRAM(SP)

SPSP+4

FLAGRAM(SP)

all

SMSW

00111

KontPr

Сохранение контекста (в т.ч. слова состояния – регистра FLAG) процессора KontPr

KontPr KontPr-4

RAM(KontPr)FLAG

KontPr KontPr-4

RAM(KontPr)IP

KontPr KontPr-4

RAM(KontPr)Acc

KontPr KontPr-4

RAM(KontPr)Rk

KontPr KontPr-4

RAM(KontPr)GT

KontPr KontPr-4

RAM(KontPr)LT

KontPr KontPr-4

RAM(KontPr)TOS

none

LMSW

01010

KontPr

Восстановление контекста (в т.ч. слова состояния – регистра FLAG) процесcа KontPr

KontPr KontPr+4

FLAG RAM(KontPr)

KontPr KontPr+4

IP RAM(KontPr)

KontPr KontPr+4

Acc RAM(KontPr)

KontPr KontPr+4

Rk RAM(KontPr)

KontPr KontPr+4

GT RAM(KontPr)

KontPr KontPr+4

LT RAM(KontPr)

KontPr KontPr+4

TOS RAM(KontPr)

none

SYSCALL

11011

Переключение в пользовательский режим

PF 0

PF

SYSCALL

11011

Переключение в системный режим

PF 1

PF

GTRead

01110

Rr

Загружает из памяти начальный адрес глобальной таблицы страниц

GTRAM(Rr)

None

GTWrite

01111

Rd

Сохраняет в память начальный адрес глобальной таблицы

RAM(Rd)GT

None

LTRead

11110

Rr

Загружает из памяти начальный адрес локальной таблицы

RAM(Rr)LT

None

LTWrite

11111

Rd

Сохраняет в память начальный адрес локальной таблицы страниц

RAM(Rd)LT

None

IN

11011

Npr

Вводит в аккумулятор байт или слово из порта, указываемого в качестве операнда

AccPort(Npr)

None

OUT

11101

Npr

Выводит из аккумулятора байт или слово в порт, указанного в качестве операнда

Port(Npr) Acc

None

CMP

11010

Rr

Сравнение путем вычитания

Акк-Rr

OF, ZF, SF

В таблице использованы следующие обозначения:

Акк – (аккумулятор) источник данных или приемник;

К – адресная константа, для задания которой выделены n+1 разрядов. Диапазон значений адресной константы: -2**nK+(2**n-1).

Rr – источник данных;

Rd – приемник данных;

Rk – регистр косвенной адресации

KontPr – регистр, в котором хранится адрес таблицы виртуальных страниц;

PF – флаг рабочего режима.

GT – регистр глобальной таблицы страниц

LT – регистр локальной таблицы страниц

Npr – номер порта ввода/вывода

TOS – регистр, содержащий количество строк виртуальной страницы

Адрес операнда вычисляется в зависимости от используемого в команде способа адресации.