Смекни!
smekni.com

Представление текстовой и графической информации в электронном виде (стр. 4 из 7)

RCD – счетчик данных (количество байт, участвующих в операции (макс. 64 Кбайт))

RM – регистр режима, который задает направление обмена между ОП и ПУ.

Канал может работать в 4 режимах:

1) побайтный обмен: передав 1 байт, КПДП отключается и дает возможность работать ЦП или другим устройствам;

2) блочный обмен: начавшаяся операция будет поддерживаться, пока не передадутся все данные.

в) блочный обмен с ожиданием: контроллер будет выполнять операцию, не пуская другие устройства к работе

г) режим каскадного подключения.

3 фазы работы КПДП.

1. Инициирование.

2. Обмен.

3. Завершение.

В канал загружается адрес, количество слов, режим работы канала. Соответствующий канал размаскировывается, ЦП переключается на другую работу. ПУ, когда готово участвовать в обмене, передает сигнал DRQ, который анализируется контроллером. Контроллер посылает в ЦП сигнал HOLD (уступить шину). ЦП отключается от системной шины и передает контроллеру сигнал HLDA (освободил). Контроллер устанавливает сигнал AEN, вследствие чего все устройства отключаются от системной шины, кроме пославшего сигнал.

После этого контроллер выдает ПУ сигнал DACK. Этот сигнал после завершения обмена убирается, счетчик данных уменьшается на 1, контроллер убирает HOLD и AEN, ЦП захватывает шину и убирает HLDA. Контроллер готов реагировать на следующий сигнал DRQ.

Повышение производительности вычислительных систем

Производительность – это количество операций в единицу времени. Быстродействие – время выполнения операций. Пусть существует функция F, которую можно разделить на F1, F2, F3. При выполнении задачи F методом, описанным на рисунке, время выполнения F вычисляется как сумма времени выполнения операций F1, F2, F3.


При выполнении задачи F методом, описанным на рисунке, время выполнения F вычисляется как максимальное из значений времени выполнения операций F1, F2,F3.

Для ускорения выполнения операций используется конвейеризация (локальное совмещение команд – одновременное выполнение различных фаз соседних команд).

Выполнение команд последовательно осуществляется по следующей схеме:

При конвейеризации используется другой принцип:

При этом время выполнения операций не изменилось, но производительность увеличилась в 2 раза.

Для обработки операндов и команд используется буферная память.

БК – буфер команд

БД – буфер данных

Принцип конвейеризации по-разному реализуется в современных микропроцессорах. Структура микропроцессора типа CISC предполагает, что команды имеют разную длину и время выполнения, поэтому они сложны аппаратурно. Процессоры типа RISC предполагают, что все команды имеют одинаковый формат, Цикл выполнения команд тоже одинаков. В них количество команд сведено до минимума (содержат набор простых, чаше всего встречающихся команд). Уменьшено количество различных вариантов обращения к памяти. ЦП ориентирован на работу с регистрами, а не с памятью. Но удлинение кода приводит к увеличению затрат ОП.

Команды имеют следующий формат:

КОП – код операции

M – признак команды

R1 – номер регистра

R2 – номер ячейки

R3 (L) - смещение

Конфликты, возникающие при использовании принципа конвейеризации.

1. Структурный – возникает при одновременном обращении в различных фазах к одному тому же ресурсу.

Например, фазы ВО и ВК, ВК и ИК, выполняемые в одно время, требуют обращения к памяти. Решение – введение отдельных КЭШей (для команд и для данных).

2. Зависимость по данным. Например, при выполнении следующих операций

сложить R1 R2 R3 (результат сложения R2 и R3 записывается в R1)

умножить R4 R1 R5

При выполнении ВО второй команды требуется элемент R1, который будет получен только при выполнении ЗР первой операции. Это невозможно. Решение:

1) введение дополнительной пустой операции (приторможение конвейера)

2) заранее выявить конфликт и изменить порядок команд

3. Конфликт по управлению.

Например, такой конфликт возникает при:

сложить R1 R2 R3 (результат сложения R2 и R3 записывается в R1)

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

умножить R2 R3 R4

Решение:

1) вставить нейтральные команды («пузырь»),

2) спекулятивное выполнение,

3) предсказание перехода (если условие выполняется→переход к кэш-условию).

Мультипрограммирование

Особенность организации МП режима в том, что он реализуется в однопроцессорной машине. На рисунке представлена схема работы ЦП над двумя задачами одновременно.

Для работы ЦП по данной схеме используется принудительное переключение. Цикл активности – время непрерывного решения задачи ЦП-ом., которое лимитируется.

Аппаратные о программные средства для поддержания МП.

1. Канал по обслуживанию периферийных устройств.

2. ЦП должен иметь таймер.

3. Система прерываний.

2 и 3 – механизмы переключения.

4. Диспетчер определяет порядок выполнения программы.

5. Память: внешняя (файловая система) и ОП.

При МП решаются задачи защиты и распределения памяти. Динамическое распределение памяти – это выделение памяти каждой программе по мере и в объемах ее необходимости.

Защита – это предотвращение влияния одной программы на другую через общую память.

Распределение памяти

Для распределения памяти используются таблицы массивов, содержащие следующие параметры: базовый адрес, длина. Первая строка таблицы описывает начальный адрес свободной области памяти. Память должна освобождаться в порядке, обратном ее заполнению. Обращение к памяти происходит по адресу B+адрес, указанный в программе. Для защиты необходимо выполнение следующего условия: Bi+ni<Ai*<=Bi, где Ai* - адрес при обращении к i-ому массиву.

Виртуальная память – это расширение ОП за счет дисковой памяти.


Ам – математический адрес (сформированный в ЦП)

Aф – физический адрес (сформированный при помощи таблиц перевода)

Аh – старшая часть, указывающая номер страницы

Al – младшая часть, указывающая ячейки внутри страницы.

Схема преобразования математического адреса в физический.

Sм – указатель на строку таблицы страниц (ТС)

Sф – физический адрес соответствующей страницы

ДП – диспетчер памяти

Метод защиты памяти

При страничной организации используется метод «ключ-замок». Ключ – это код, который ставится в соответствие программе. Замок - это код, который ставится в соответствие области памяти. При обращении к памяти происходит сравнение ключа с замком, и в случае совпадения разрешается доступ к памяти.

Сегментация памяти

Процессор при обработке программы взаимодействует с оперативной памятью ОП, которая представляется единым массивом однобайтных ячеек, обращение к которым происходит по их номерам (физическим адресам). Для обращения к памяти процессор предварительно помещает адрес ячейки в один из своих регистров. Шестнадцатиразрядный процессор не может хранить в своих регистрах двадцатиразрядный адрес. Поэтому в нем применена так называемая сегментация памяти, которая заключается в том, что истинный, физический адрес ячейки хранится в двух регистрах. Один из них - сегментный, он хранит адрес начала блока памяти, который и называется сегментом. Если к шестнадцати разрядам сегмента справа дописать четыре двоичных нуля (16+4=20), то получим физический адрес начала сегмента в ОЗУ. Второй регистр хранит величину смещения адреса требуемой ячейки от начала сегмента. Адрес ячейки памяти записывается в виде двойного слова (4 байта): <сегмент>:<смещение>. Сегмент всегда начинается с ячейки, номер которой заканчивается на 4 двоичных нуля. Минимальная длина сегмента 16 байтов (параграф). Максимальная длина определяется длиной регистра, хранящего смещение и равна 64 Кбайта. Пара регистров CS: IP определяют адрес следующей команды программы. Для адресации данных используются сегментные регистры DS и ES, а в качестве регистров, хранящих смещение, используются регистры общего назначения BX, SI, DI. Для работы с сегментом стека используют сегментный регистр SS и регистр BP.

Режимы формирования адреса

Режим R86 (реальный) используется при включении питания. Это BIOS – этап, на котором происходит конфигурирование, тестирование системы.

В защищенном режиме P86 происходит запуск Windows.

1.ЦП получает набор специальных управляющих регистров (трассировки и тестирования).

2.Он изменяет способ формирования адреса, при этом не используются коды команд, написанных для R86 (для их выполнения используется V86).

3.Обеспечивается МП режим работы (включены механизмы распределения и защиты памяти). V86 обеспечивает согласование режимов на уровне кодов команд.

Адресация памяти в P86 происходит следующим образом: ЦП формирует 32-разрядный адрес. Но этот адрес не физический. Формируется линейный, линейно-страничный адрес (страничная организация поверх линейной памяти)