Выполнение операций сложения и вычитания с плавающей точкой над векторами.

Этап.

Этап.

Этап.

Этап.

Этап.

Определили знак результата. Знаковые разряды операндов складываются по модулю 2, и

результат заносится в знаковый разряд. Знаковые разряды после этого обнуляются.

В счётчик цикла заносится число (n-1) – число значащих разрядов, а n – длина разрядной

сетки.

На втором этапе происходит обработка (n-1) циклов.

На каждом цикле анализируется очередной младший разряд множителя (регистр Р2). Если младший разряд равен 1, то переписываем на РАсодержимое регистра Р1(это переход на микропрограммный уровень); а если младший разряд равен 0, то обнуляем РА. После

этого в сумматоре складывается содержимое РАи РВ(РВпредварительно обнулили), и на выходе сумматора СМобразуется сумма частичных произведений до сдвига. На РСзаносится сумма частичных произведений после сдвига, которая потом переписывается на РВ. Младший разряд сумматора при сдвиге будет заноситься в старший разряд Р21, и он будет (освобождающийся) представлять собой младший разряд произведения. В этом же цикле множитель сдвигается на один разряд вправо путём пересылки с Р2на Р21, и после записываем на Р2. Счётчик цикла уменьшаем на 1. Если счётчик цикла равен 0, то дальше идёт коррекция результата: старшая часть на РС, младшая на Р21, происходит сдвиг на один разряд. Либо сразу вместо коррекции можно взять n.

Деление чисел с фиксированной точкой.

Деление с восстановлением остатка и без.

 

x/y=z x- делимое (2n разрядов)

y- делитель (n разрядов)

z- частное (n разрядов)

Надо проверить, вместится ли частное в разрядную сетку:

z < 2n-1

Пример. n=4

 

 

знак

8=23=2n-1→z< 2n-1

x/y< 2n-1

 

x-2n-1·y<0

 

 

Какова степень, на столько разрядов и сдвигается


Если любое двоичное число умножить на 2m, то это значит, что двоичное число сдвигается на mразрядов влево.

Этапы деления.

Проверка деления. На первом этапе деления проверяется возможность проведения

операции деления: из делимого xвычитается делитель y, сдвинутый на (n-1)разряд влево. Если результат вычитания оказывается меньше 0, то деление возможно, т.к. результат zуместится в разрядную сетку n. В противном случае (результат больше 0), zбудет требовать больше, чем nразрядов, для своего представления, и, следовательно, деление невозможно.

Определение знака результата. Ниже рассматривается случай деления в прямом коде. Знак

результата определяется путём сложения по модулю 2 знаковых разрядов операндов.

После этого знаковые разряды операндов обнуляются.

Определение очередной цифры частного. Зависит от метода выполнения деления.

 

Л 16

 


 

 

Пример.


Деление с восстановлением остатка.


Число 25 (0.0011001) разделить на 5 (0.101). n=4

x-2n-1·y<0

0.00110 0 1 0. 1 0 1

0101 0. 1 0 1

рез<0

0011

_0110

рез<0 0001

рез<0

0010

_0101

На очередном этапе частичный остаток сдвигается влево на один разряд. В освободившийся разряд заносим очередную цифру делимого. Из сдвинутого частичного остатка вычитаем делитель (в ЭВМ производится сложение с дополнительным или обратным кодом). Получаем новый частичный остаток. Если результат получился отрицательный, то в очередную цифру частного заносим 0 и восстанавливаем частичный остаток. В противном случае (если результат положительный, либо равен 0), заносим 1.

Деление без восстановления остатка.

Если на очередном шаге частичный остаток оказался положительным, то в частное

заносится 1, но на следующем шаге, после сдвига частичного остатка и занесения очередной цифры делимого, производится вычитание делителя и сдвинутого частичного остатка (сложение с дополнительным или обратным кодом). Если частичный остаток


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

 

  0.00110 0 1 0. 1 0 1   +5 0.101
0. 1 0 1   -5ок 1.010
рез<0 1     -5дк 1.011
  +1100        
рез<0   пробное вычитание    
   
 
  рез<0
 
  +1011
 

 

Структурная схема АЛУ.(Для 2-ого случая).

 

Швх

 

 


 

 

Р1


Р2 1 001


 

Р21


 


РА РВ



 

СчЦ

*

n-1

 

 

Тр СМ

 

РСМ

 

Швых

 

Р1– регистр делителя.

Делимое: старшая часть заносится на РВ, младшая часть на Р2.


Частичный остаток до сдвига получается на выходе сумматора СМ, а частичный остаток после сдвига – на РСМ.

На РСМс Р2заносится по линии *очередной разряд делимого. А потом сдвинутый частичный остаток на Р2.

Очередная цифра частного будет записываться в младший разряд регистра Р21.

Р21предназначен для сдвига младшей части делимого.

Частное формируется на Р21и переносится на Швых.

Особенности выполнения операций над числами с плавающей точкой.

 

 


 

Знак числа


мантисса


 

- нормализованная правильная дробь


25.31 + 3.2→0.2531×102 + 0.32×101 = число×102

1.Порядок результата принимается равным большему из двух порядков.

 

2.Производится коррекция мантиссы с меньшим порядком: сдвигается вправо на число порядков, равное разности порядков.

 

3.Этап сложения мантисс: производится сложение мантисс как чисел с фиксированной точкой.

 

4.Нормализация результата: если результат не нормализован, то нормализуем результат – сдвигаем мантиссу влево на количество разрядов, равное числу нулей до первой значащей цифры; порядок мантиссы при этом уменьшается на это же число.

 

При сложении мантисс возникает «переполнение». Тогда сдвигаем мантиссу вправо, а порядок увеличивается.

При коррекции порядка может возникнуть переполнение разрядной сетки. Тогда будет прерывание.

 

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

 

0.5×103 + 0.26×102

 

РА×2 РВ×2L

При умножении мантиссы перемножаем, порядки складываем.

 

Деление чисел с плавающей точкой.

 

Порядки вычитаем, мантиссы делятся.

 


Л17


 

 

ОРГАНИЗАЦИЯ СИСТЕМЫ ПРЕРЫВАНИЯ


 

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

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


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

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

Существует специальная маска, которая позволяет замаскировать отдельные запросы на прерывание.

Если код маски установлен в ноль для некоторых причин, то соответствующие запросы не обрабатываются.

 

Общие правила организации прерывания.

 


Выполнение программы:


 

 

I (сохранение основных параметров)


запрет на прерывание II

 


 

 

прерывания


 

III


процесс обработки


 

 

Основные параметры, подлежащие хранению:

Счеткик команд (CrK) Признаковые триггера в АЛУ Маска

Дополнительные параметры:

РОНы

ССП – слово состояния программы ( хранит основные параметры)

Запросы на прерывание, как правило, обрабатываются по окончанию выполнения очередной машинной команды.

1 этап: выбор машинной команды из памяти;

2 этап: дешефрация;

3 этап: формирование исполнительного адреса и выбор операндов;

4 этап: выполнение операции в АЛУ;

5 этап: запись результата.


 

 

Выбор команды из памяти

 

 

Дешифрация кода операции

 

 

Формирование исполнительного адреса и выбор операндов

 

Выполнение операции в АЛУ

 

 

Запись результата

 


 

Запрос на прерывание


Обработка прерывания


 

 

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

возможно прерывание в процессе выполнения команды.

При возникновении запроса на прерывание по окончанию выполнения текущей командыпроисходят следующие действия:

I. Необходимо сохранить основные параметры в памяти (счетчик команд, признак,

маска).

II. Чтобы выполнить программу обработки прерывания в ЦП на счетчик команд из некоторой фиксированной ячейки памяти подается адрес 1-й команды программы обработки прерывания. Процесс выполнения программы обработки прерываний условно включает в себя 3 этапа:

1. Сохранение в памяти дополнительных параметров – содержимого ронов для прерванной программы.

2. Этап непосредственного выполнения программы обработки прерывания.

3. Восстановление из памяти содержимого ронов для прерванной программы. III. Чтобы продолжить выполнение прерванной программы, необходимо восстановить в

ЦП содержание регистров ССП, т.е. основных параметров.

 

Механизм реализации прерываний с помощью старых и новых (от фирмы IВМ)


Все запросы на прерывание делятся на 5 классов:

 

Аппаратное прерывание.

В/в

 

 

Внешние прерывания.

Супервизер.

Программное прерывания.

 

Обработка прерывания – понижение приоритета, поступление запрета на прерывание –

повышение приоритета

Обработка одного запроса на прерывание(на примере прерывания по вводу/выводу):

в оперативной памяти выделяются старые и новые ячейки, их количество соответствует числу классов прерывания (по 5 шт.)

1. Код причины прерывания заносится на регистр ССП.

2. Содержимое регистра ССП будет записано в старую ячейку для этого класса прерывания. (I)

3. Новая ячейка для данного класса заносится на регистр ССП. В новой ячейке содержится адрес первой команды обработки прерывания и маски для обработки прерывания.

Новые счетчики для каждого из 5 классов хранят адрес первой команды. (II)

4. Выполнение программы обработки прерывания:

а. сохранение РОНов

б. непосредственное выполнение програмы обработки прерывания ( анализируется код причины прерывания и в соответствии с кодом выполняется нужная подпрограмма)

в. восстановление РОНов

5. Старая ячейка помещается на ССП (восстановление основных параметров)

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

Пример: в/в и внешнее

1. На регистр ССП поступает запрос внешних прерываний.

2. В старую ячейку внешних прерываний записывается регистр ССП.

3. Новая ячейка внешних прерываний заносится на регистр ССП. Регистр ССП теперь содержит адрес первой команды первых прерываний.

4. Запрос на в/в заносится на регистр ССП. Регистр ССП заносится в старую ячейку по в/в. Старая ячейка будет содержать регистр ССП (адрес первой команды внешних прерываний)

5. В новую ячейку по в/в записывается регистр ССП (адрес первой команды по в/в).

6. Выполнение программы обработки прерывания по в/в.

7. Старая ячейка по в/в заносится на регистр ССП (адрес первой команды по внешним прерываниям).

8. Выполнение побработки прерывания по внешним прерываниям.

9. Старая ячейка внешних прерываний записывается на регистр ССП (содержит регистр прерванной программы).

Если программа обработки прерывания по в/в уже начала обрабатыватся, и приходит запрос на прерывание, то эта система приоритетов не действует, а возможность прерывания определяется маской: если внешнее прерывание не замаскировано , то запрос от внешних прерываний будет обрабатываться


Л18

 

Стековый механизм организации

 

Различают понятия: вектор состояния и вектор прерывания, хотя они имеют одинаковую структуру.

 

СЧК - вектор состояния

ССР - вектор прерывания

 

При обработке программы в ЦП изменяется вектор состояния.

При возникновении запроса на прерывание анализируется приоритет обрабатываемой программы в ЦП (порог прерывания) и приоритет запроса на прерывание.

Если запрос на прерывание имеет более высокий приоритет, то инициируется процесс обработки прерывания.

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

II - Из некоторой ячейки выбирается вектор прерывания и помечается на регистре ЦП,

который содержит адрес 1-й команды программы обработки прерывания.

1. Сохранение ронов для прерванной программы.

2. Непосредственное выполнение программы обработки прерываний.

3. Восстановление сохраненных ронов для прерванной программы.

Из верхушки стека выбирается вектор состояния для прерванной программы.

Различаются внутренние и внешние прерывания. И их вектор прерывания находится в ячейках с фиксированным адресом ( для внутренних причин).

 

Внешние прерывания

 

Существуют i линий запросов на прерывание, к каждой линии может быть подключено несколько устройство (n). Все внешние устройства, подключенные к одной линии, имеют одинаковый приоритет, соответствующий данной линии запроса на прерывание.

Если внешнее устройство выставило запрос на прерываине, то в ЦП сравнивается приоритет запроса на прерывание и приоритет обрабатываемой программы.

Если приоритет запроса на прерывание выше, то происходит прерывание выполняемой программы в ЦП. При этом по соответствующей линии разрешение прерывания подается сигнал разрешения прерывания. (Внешние устройства подключаются к линии запроса на прерывание и к линии разрешения с одинаковыми номерами).

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

 

Классификация систем прерывания

 

Различаются одноуровневые и многоуровневые системы прерываний.

В одноуровневых системах прерывания существует одна система на разрешение прерывания.

В многоуровневых существуют несколько линий запросов и разрешений.

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


Системы с фиксированным, либо плавающим приоритетом.

Системы с фиксированным приоритетом часто назначаются по следующему правилу: то устройство, которое физически ближе подключено к ЦП, имеет более высокий приоритет. В системах с плавающим приоритетом опрос устройств ведется в соответствии с приоритетом, который назначается программой.

 

Организация в/в

 

Существуют 3 основных подхода к организации в/в:

1. Канальный в/в.

2. Магистральный в/в.

3. Радиальный в/в.

 


 

 

вывод

ОП ЦП

ввод


 

ВЗУ


ОП

 

В/В ЦП


К

А ВУ

Н А Л

ВУ


 

 


Магистральный ввод/вывод


Канальный ввод/вывод


 

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

ЦП инициирует в/в, а далее продолжает выполнять программу ЦП. Канал, восприняв запрос по в/в, функционирует параллельно с ЦП и занимается в/в информации. Таким образом, для этого класса систем обработка программ ЦП и организация в/в ведется параллельно.

Канальная команда

 

Поскольку канал предназначен для организации в/в, а не для обработки данных, то формирование канальной команды в корне отличается от формы команды ЦП. Канальнаякоманда содержит следующие поля:

1. КОП (код операции: чтение, запись).

2. Адрес начала массива, считываемого или записываемого в ОП.

3. Длина массива.

4. Специальные признаки.

 


 

КОП Адрес Признак

 

1-й признак: цепочка команд.


УС(управляющее слово)


Когда ЦП инициирует в/в, то он передает номер канала и номер внешнего устройства, с которым необходимо произвести обмен.

Далее канал по отношению к этому внешнему устройству будет выполнять одну канальную программу (ряд канальных команд).

Если признак цепочки команд в некотором управляющем слове установлен в значение 1,

то это будет означать, что это управляющее слово принадлежит данной канальной


программе. Если признак цепочки команд = 0, то данная канальная команда является последней, следовательно, операция в/в завершена и канал посылает сигнал в ЦП, сигнализирующий завершение операции в/в.

Другой признак – цепочка данных . Используется в том случае, если одна и та же операция (например, чтение и записи) выполняется над разными фрагментами массива. Тогда в одну канальную команду объединяются несколько управляющих слов, которые будут иметь один и тот же КОП, но для каждого фрагмента будет свой адрес начала размещения данного фрагмента в ОП и длина фрагмента.

Для того, чтобы показать, что следующее управляющее слово принадлежит данной канальной команде, устанавливается признач цепочки данных=1

Выделяются 2 типа каналов:

Один тип каналов предназначен для работы с высокоскоростными устройствами и работает в многоканальном режиме (селекторный).

Второй канал предначен для работы с медленно действующими устройствами. Работает в режиме разделения времени. Называется мультипликативный канал.

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

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

 


Л19


 

 

Функционирование селекторного канала


 

 

ОП К

А ВУ

Н А

ЦП Л

ВУ


ОП

Р ЗМ Р А Ч П П

 

 

РАКК КОП Адр Призн Дл

 

К

А БР Н

А Л

РД СБ

 

 

РВУ

 

РАРК – регистр адреса канальной команды

РКК – регистр канальной команды

БР – буферный регистрРДК – регистр данных канала

СБ – счетчик байт

РВУ – регистр внешнего устройства

РАРК хранит адрес следующего выполняемого управляющего слова.

РКК хранит текущее управляющее слово.

БР предназначен для повышения скорости работы селекторного канала.

РДК - его длина равна ширине выборки из оперативной памяти, т. е. числу байт, которое одновременно можно считать или записать в ОП.

СБ определяет номер байта на РДК, с которым производится обмен с РВУ. Имеет кольцевую структуру и после того, как РДК полностью заполнен, либо полностью разгружен сбрасывается в ноль. Для определенности положим, что ширина выборки из ОП равна 4 байтам.

Ширина информационного тракта – это число байт одновременно передаваемых между РДК и РВУ. Для определенности положим, что ширина информационного тракта равна 1 байту.

Адрес данных хранит в ОП два младших разряда, определяющих номер байта внутри ширины выборки. Старшие разряды определяют адрес ячейки, где хранятся разряды равные ширине выборки.

1010…0|00

1010…0|01

1010…0|10

1010…0|11

1010…1|00


Первый этап: выбор управляющего слова из памяти. УС имеет размер 8 байт, поэтому по адресу, который хранится на РАРК за два обращения к ОП выбирается УС и помещается на РАРК. Далее анализируется КОП.

 

Выполнение операции «запись»

 

Старшая часть адреса поступает в ОП. В СБ заносятся младшие разряды, исполнительного адреса, которые определяют номер байта внутри ширины выборки и номер байта, считываемого в РДК.

СБ управляет коммутационной схемой, которая коммутирует нужный номер байта с РВУ. По СБ 1 байт переписывается с РДК на РВУ и корректируются параметры канала в соответствии с формулой *:

 

Дл = Дл – 1; Адр = Адр + 1; СБ = СБ + 1.

 

Если СБ и Дл массива не равны нулю, то с РДК на РВУ считывается следующий байт информации.

Если Дл массива не равна нулю, а СБ = 0 , то РДК разгружен полностью. И если массив полностью не переписан, по адресу нужно считать следующие 4 байта и поместить их на РДК.

Если Дл массива стала равна нулю, нужно проверить поле признака. Если признак цепочки команд равен 1, то выбирается следующее управляющее слово из памяти. Если признак равен 0, то формируется сигнал прерывания на ЦП.

 

Выполнение операции «чтение»

 

По СБ с РВУ на РДК заносится очередной байт информации и по формуле *

корректируются параметры канала.

Если СБ и Дл массива не равны нулю, то с РВУ на РДК заносится следующий байт информации.

Если СБ = 0, то РДК заполнен полностью и данные с РДК надо записать в память по старшим разрядам адреса хранящимся на РКК. Если Дл массива = 0, то проверяется поле признака (см. выполнение операции «запись»). Предварительно содержимое РДК заносится в ОП.

При выполнении операции «запись» в ОП сначала данные считываются на РДК, а потом по СБ с РДК нужное количество байт изменяется на РЧП. Это происходит, когда Дл массива = 3.

БР позволяет организовать параллельную работу по разгрузке и заполнению РДК и по обмену между БР и ОП. БР позволяет увеличить скорость работы селекторного канала. При выполнении операции «запись», пока данные с РДК переписываются на РВУ, из памяти выбираются следующие 4 байта массива на БР. При выполнении операции

«чтение» предшествующие 4 байта с БР записываются в ОП, а в это время с РВУ

заполняется следующими байтами РДК.

 

Л20

 

Организация мультиплексного канала


ОП

РАКК
РКК
РДК
СБ

 

Р ЗМ Р А Ч П П

 

 

Память подканала

 

РАКК КОП Адр Призн Дл

 

 

РДК СБ РА

 


ША

 

Р№ВУ


 

РВУ


 

 

ША – шифратор адреса

РА – регистр адреса

Р№ВУ - регистр номера внешнего устройства

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

Структура мультиплексного канала включает в себя 2 части:

1. часть предназначена для хранения параметров канальной программы относительно отдельных ВУ (относятся к отдельному внешнему устройству и представляют собой память подканалов).

2. часть является общей для всех ВУ и представляет собой регистры канала.

При работе мультиплексного канала выделяют 2 типа сеансов связи:

1. Сеанс начальной выборки

2. Сеанс по запросу внешнего устройства

 

Сеанс начальной выборки

 

Предназначен для создания нового подканала. ЦП выдает в канал номер устройства и номер канала, с которым необходимо произвести операцию. Далее происходит тестирование ВУ, и если оно свободно и готово к выполнению операции, то далее на РАКК из специальной ячейки помещается адрес первой канальной команды, на РКК выбирается первое управляющее слово, в СБ заносятся младшие разряды адреса. Если КОП – запись, то на РДК из памяти считываются первые 4 байта массива. Далее по номеру ВУ определяется адрес подканала и в этот подканал заносится содержимое РАКК, РКК, СБ. После того как ВУ будет готово к приему или выдаче информации, оно передает свой номер в мультиплексный канал. И далее будет иметь место второй тип сеанса связи по обслуживанию ВУ.

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


одним байтом информации. Сеансы связи по обслуживанию различных ВУ чередуются между собой во времени.

 

Сеанс связи по запросу ВУ

 

Рассмотрение этого сеанса включает 3 этапа:

1. По адресу, полученному на регистре РА (адрес памяти подканала) выбирается содержимое памяти подканала и подается на регистры канала.

2. Основной этап начинается с анализа кода операции на регистре РКК (канальная команда, находящаяся на РКК. Ее выбирать не надо).

3. Третий этап заключается в том, что содержимое регистров канала переписывается в адрес подканала, который содержится на регистре РА.

ВУ на регистр номера ВУ выставляет свой номер (когда данное ВУ готово к работе, к обмену одним байтом РДК с РВУ).

Шифратор адреса по номеру ВУ определяет адрес ячейки ОП, начиная с которой хранится содержимое памяти подканала (содержимое РАКК, РКК, СБ и РДК).

 

Выполнение операции «запись»

 

По СБ 1 байт переписывается с РДК на РВУ и по формуле * корректируются параметры канала. Если СБ и Дл массива не равны нулю, то переходим к этапу 3.

На втором этапе, после того как очередной байт переписался на РВУ, СБ может оказаться равным нулю, а Дл массива не равной нулю. Тогда на этом же этапе по адресу, содержащемуся в РКК, выбирается очередной фрагмент массива и передается на РДК. Далее 3 этап.

На втором этапе после передачи очередного байта, Дл массива может оказаться равной нулю. Тогда анализируем поле признаков. Если признаки цепочки команды равны нулю, то формируется сигнал прерывания, канальная команда завершена. В противном случае из ОП выбирается следующее управляющее слово по адресу, который содержится на РАКК. Это управляющее слово записывается на РКК за два обращения к ОП.

После выбора очередного управляющего слова на РКК в этом же сеансе связи проверяется КОП. Если происходит операция записи, то РДК считывается фрагмент массива по адресу, хранящемуся на РКК. Далее третий этап.

 

Выполнение операции «чтение»

 

По СБ с РВУ на РДК считывается очередной байт информации. По формуле *

корректируются параметры канала.

Если СБ и Дл массива не равны нулю, то переходим к третьему этапу.

Если СБ = 0, а Дл массива ≠ 0, то это означает, что СБ заполнен полностью и по адресу с

РКК производиться запись в память с РДК. Далее третий этап.

Если Дл массива =0, то РДК записывается в память и анализируется поле признаков (см.

выполнение операции «запись»).

В мультиплексном канале существует 3 различных регистра для хранения адреса.

1. РА – хранит адрес памяти подканала.

2. РАКК – хранит адрес следующего управляющего слова.

3. Адр в РКК – хранит адрес массива, который считывается или записывается в ОП.

 

Магистральный ввод/вывод


ЦП ОП ВУ ВУ

 

 

Общая шина

 

 

Через общую шину могут обслуживаться одновременно только 2 устройства. Поэтому, в отличие от предыдущего случая, параллельное совмещение по времени выполнения программы в ЦП и ввод/вывод невозможно.

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

В общей шине выделяют 4 группы шин:

1. Шины данных

2. Шины управления

3. Адресные шины

4. Шины арбитража

Шины данных:

По шинам данных в параллельном коде данные пересылаются между ведущим и ведомым устройствами.

Шины управления предназначены для передачи управляющих сигналов.

Адресные шины:

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

Шины арбитража:

См. стековый механизм прерывания.

 

ЗПn

: ЗП1

ЦП :


 

 

ВУ ВУ


 

РП1


 

ВУ, готовое к приему или передаче 1-2 байт информации, выставляет сигнал прерывания на шину запроса. Запрос обрабатывается (см. лекцию №2) и в качестве программы обработки прерывания будет выступать программа в/в, под управлением которой 1-2 байт информации будет передаваться между двумя устройствами. Такой программно управляемый в/в характерен для медленных устройств. Для быстродействующих систем используют прямой доступ к памяти. Быстродействующие устройства подключаются к специальной шине запроса на прерывание, которая имеет наивысший приоритет. При поступлении запроса на шину прямого доступа к памяти общая шина освобождается для в/в. Однако программа обрабатываемая в ЦП с обработки не снимается, т.е. стековый механизм реализации прерывания в этом случае не работает. Под управлением контроллера ВУ происходит обмен данными между двумя устройствами. При этом контроллер ВУ содержит РА, в который записывается адрес начала массива в ОП, и регистр, в котором хранится длина передаваемого массива. При передаче 1 байта Дл


массива уменьшится на 1, а адрес увеличится на 1. Как только Дл массива станет равна нулю, пересылка заканчивается.

 

Радиальный ввод/вывод

 

 

ОП

 

 

ЦП К

 

 

ВУ

 

Микропроцессоры.

Выделяют два основных направления:

- однокристальные

- секционированные

Секционированные микропроцессоры:

на одном кристалле выполнен полностью микропроцессор (мп) на ограниченное кол-во разрядов ( например 4) Секции соединяются между собой , следовательно происходит наращивание разрядности мп до требуемого числа разрядов. Программирование ведется на микропрограммном уровне.

Однокристальные микропроцессоры:

весь процессор выполнен на одном кристалле. Программа ведется на уровне машинных команд. На 1-ой ступени развития целиком мп не удавалось выполнить на одном кристалле, тогда мп был разделен «горизонтальными плоскостями»

Микропроцессоры серии INTEL.

м/п Год выпуска Частота МГц Кол-во транзисторов тыс.шт Разряд шины Размер адресного пространства Примечания
  Intel 8086     5-10   Внутр внешн 16/16 1Мбайт 20 разрядов адресная шина
Intel 8088 5-8 16/8 1Мбайт Встал в основе PC-XT
10-16 16/ 16Мбайт Шина адреса 24 разряда, исп в PC-AT
80386DX 20-33 32/32 4Гбайт Шина адреса 32 разряда
80386SX 20-30 32/16 4Гбайт  
80486DX 25-50 32/32 4Гбайт  
80486DX2 DX4   До 133        
80486SX До 33 32/32 4Гбайт  
Pentium 150-200 3.1 млн 32/ 4Гбайт  
Pentium Pro 150- 5.5 млн +15.5млн или 31млн 32/ 64Гбайт 5.5 млн на осн кристалле 15.5млн(КЭШ

 

            256Кб) 31млн(КЭШ 500Кб)
Pentium MMX 166- 4.5 млн. 32/ 64 Гбайт  
Pentium 2 233-466 7 млн. 32/ 64 Гбайт  
Celeron 266-300        
Pentium III 500- 8.2 млн ----//--- - ----//----  

 

INTEL 8086,8088

Впервые идет совмещение обработки команд во времени.

 

 


 

 

Сегментные регистры


Устройство шинного интерфейса(УШИ)

 

 

Сумматор

 

 

Сч К


 

Буфер


 

 

А19-А16

 

 

Старшие разряды


 


 

Внутренняя шина


Буфер


 

AD15

 

 

AD0


 


 

РОНы


 

АЛУ


Буфер команд


 

F

 

Операционное устройство

 

 

Выделяются 2 устройства операционное устройство (ОУ) и устройство шинного интерфейса (УШИ). УШИ предназначено для вычисления адресов и формирования запросов к памяти (ОП) к ВУ. В УШИ включён буфер команд емкостью 6 байт (очередь команд). Как только в буфере команд освободится 2 байта (внешняя шина данных и ширина выборки ОП 2 байта) УШИ формирует опережающий запрос в память за командами. ОУ выполняет команды, находящиеся в буфере команд. Если требуется обращение к памяти за операндами или по записи результата, то ОУ выставляет запрос к УШИ. Если УШИ свободно, то запрос выполняется сразу же, если УШИ занято выборкой команд в буфере команд, то после получения 2-х очередных байт обрабатывается запрос от ОУ. Т.о. выбор следующей команды начинается не по завершению предыдущей команды а по наличию 2х свободных байт в буфере команд- принцип опережающей обработки. Снижение производительности происходит из-за появления команд перехода. При появлении команд перехода содержимое буфера обнуляется и буфер команд заполняется с команды, на которую осуществляется переход.Мультиплексированы шины данных и адр. шины.

МИКРОПРОЦЕССОР 8088

Внешняя шина данных 8 разрядов для совместимости с ранее разработанными ВУ. Для

реализации плавающей точки в м/п 8086 и в 8088 для повышения производительности на


материнской плате мог отдельно устанавливаться мп, аппаратно реализующий операции с плавающей точкой.

 

  Тип операции 8087 Мкс 8086 и 8088 эмуляция мкс
  +   17-18
*
Exp x

 

INTEL 80286

1.В отличие от 8086/8088 шина адреса и шина данных не мультиплексированы во времени

( своя ША и ШД)

2. Разработчики предусмотрели реальный и защищенный режим. В защищённом режиме имеется возможность использования мультипрограммирования.

3. Конвейерная обработка команд

 

1 команда 2 команда

 


Послед. Обр. Команд

 

 

Конв.обра ботка данных


1т 2т 3т 4т 5т

 


 

 

Конвейерная обработка на уровне команд:

Каждый этап машинной команды обрабатывается на отдельном блоке. На 1-м такте 1-я команда подается на первый блок, то есть реализует 1-й этап(выборка команды из памяти). Во 2-м такте 1-я команда переходит на 2-й этап , а 2-я команда поступает на первый этап. В 3-ем такте, 1-я команда на 3 этапе, 2-я команда на 2-ом этапе, 3-я команда на 3-ем этапе т.е. конвейер команд аналогичен технологическому конвейеру. После заполнения конвейера каждый такт на конвейере заканчивает обрабатываться очередная команда. Поэтому говорят, что за первый такт выполняется 1 команда. Потеря производительности происходит в следствие команд перехода, когда содержимое конвейера обнуляется и в следствии инф. конфликтов

R1 + R2 R1


R3 + R1 R3

 

До тех пор пока результат для 1-й команды не будет записан в R1 вторая команда не может считывать операнды из R1 т.е. происходит блокирование конвейера для 80286 число ступеней конвейера.

 

 

INTEL 80386 DX

Первый 32-х разрядный м/п. Уже в PC впервые поддерживается Windows. Работает как в

реальном , так и в защищенном режиме. Поддерживается виртуальный режим м/п 8086 (

если параллельно запущенно несколько задач. то каждая задача обрабат. на м/п 8086

 

INTEL 80386 SX

Уменьшены внешние шины данных с 32 до 16 разрядов, было вызвано совместимостью с

ВУ, которые работали с м/п 80286

 

INTEL 80486 DX

1. Впервые сопроцессор с плавающей точкой был встроен в кристалл м/п. В

предыдущих моделях сопроцессор с плавающей точкой реализован на отдельном кристалле и заканчивался на 7. Сопроцессор стал работать на тактовой частоте основного процессора и произошло увеличение производительности в 2 раза.

2. Внутрь самого кристалла был встроен КЭШ 1-го уровня, его емкость 8 Кбайт.

КЭШ 2-го уровня располагалась отдельно на материнской плате и его объем

256Кбайт и 512Кбайт. Впервые КЭШ на материнской плате стал использоваться совместно с 80386 микропроцессором.

3. Был усовершенствован механизм обработки команд, используется 5-ти ступенчатый конвейер, в среднем обеспечивается обработка 1-й команды за 1 такт.

DX2 – удвоение тактовой частоты

DX4 – утроение тактовой частоты

PENTIUMАЛУ с фиксированной точкой

 


 

КЭШ

команда


Схема предсказ.

переходов


 


 

64р


Буфер предвыборки

32р 32р

 

 

АЛУ АЛУ

 

 

Блок регистров


 

 

Конвейерн. блок с плав. точкой

 

умножение сумма деление


 

 

80р


 

КЭШ

данных


1. Впервые появился отдельно КЭШ команд и КЭШ данных, каждый по 8Кбайт.

2. Впервые появляется суперскалярная обработка команд. В структуре имеется 2

АЛУ, которые параллельно обрабатывают независимые команды.

3. Впервые аппаратно реализован блок предсказания переходов.

4. Операции с плавающей точкой обрабатываются в конвертном режиме.

5.

 

PENTIUM PRO

1. В кристалле встроен КЭШ 1-го уровня на 16 Кбайт и КЭШ 2-го уровня либо на

256Кбайт либо на 512Кбайт. КЭШ 2-го уровня работает на тактовой частоте самого м/п, т.к встроена в кристалл.

2. В следующей модели Intel отказался от встроенной КЭШ 2-го уровня в кристалле,

т.к. увеличился процент брака.

3. В Pentium Pro используют 14-ступенчатый конвейер.

4. В Pentium Pro (c него начинается серия Р6) используется конвейер с изменяемой последовательностью команд. Зависимая команда, поступающая на вход конвейера , не сдерживает выполнение следующей за ней независимой команды в окне просмотра. В предыдущих моделях зависимая команда блокировала выполнение всех следующих за ней команд.

 

PENTIUM MMX

Структура соответствует Pentium, однако увеличен КЭШ 1-го уровня до 32Кбайт (16

КЭШ команд +16 КЭШ данных)

Добавлено 57 новых команд для обработки видео изображения.

 

PENTIUM 2

Это есть Pentium Pro + Pentium MMX. Однако КЭШ 2-го уровня вынесен из кристалла

и помещен на подложку в одном корпусе с основным кристаллом, работал на 0.5

тактовой частоте.

 

CELERON

Из подложки удален КЭШ 2-го уровня. Резко падает производительность системы.

Начиная с модели 300А и выше, встраивается КЭШ внутрь кристалла на 128 Кбайт,

которая работает на частоте ЦП.

 

PENTIUM III

Структура Pentium 2 , добавлены команды для обработки видео изображения.

 

PENTIUM 4

 

Pentium 4 2000 1300-2800 86млн +55млн ----//---- (КЭШ)

 

В последующих моделях Pentium III КЭШ встраивается в кристалл на 256 Кбайт. Все

Pentium 4 : КЭШ в кристалле.

1. КЭШ 1-го уровня включает в младших моделях 8Кбайт данных, 12 Кбайт

КЭШ, которая хранит микрокоманды. КЭШ 2-го уровня встроен в кристалл

2. Число ступеней конвейера 20.(гиперконвейерная обработка) В КЭШ 1-го уровня поступают декодированные команды( хранится в КЭШ 1-го уровня микропрограмма), и за 1 такт декодирует одновременно 3 команды. В КЭШ хранится несколько цепочек микрокоманд. Если направление перехода выбрано не


верно, происходит обращение в КЭШ 1-го уровня и выбирается другая цепочка микрокоманд.

3. Память расширена до 16 Кбайт( в последних моделях)

4. Существует 2 параллельно работающих АЛУ. С 2002г. Pentium 4 оснащается специально биосом, который поддерживает гипертрейдинг: т.к. число блоков конвейера велико, то одновременно часть блоков может простаивать. Потому эти свободные блоки загружаются другой задачей.

 

PRESCOTT

31 ступень конвейера (гиперконвейрная обработка). КЭШ в кристалле увеличена до 1

Мб. КЭШ 3-го уровня 2Мб встроена на материнскую плату. Появляется новая обработка – гипертрейдинг. Чтобы заполнить 20-30 ступеней в КЭШ 1-го уровня находятся трассы микропрограмм. Гипертрейдинг – это псевдомультипрограммный режим, т.е на свободные блоки конвейера запускают вторую задачу, т.е одновременно обрабатываются 2 задачи.

 

PENTIUM D

На одной подложке (кристалле) взяли 2 ядра Prescott (каждый со своим КЭШ),

отключив гипертрейдинг.

 

PENTIUM M

КЭШ 1-го уровня увеличена до 64 Кб. (архитектура P6 (продолжение Pentium III) 32Кб

команд, 32Кб данных. КЭШ 2-го уровня 1-2Мб встроен в кристалл. Количество обрабатываемых блоков 9 штук)

 

CORE 2

КЭШ 1-го уровня увеличен до 2-4 Мб. КЭШ команд 32 Мб, КЭШ данных 32 Кб.

Добавляется четвертый простой декодер. Число обрабатываемых блоков 11 штук :

АЛУ с фиксированной точкой 3 штуки по 64 разряда, 2 шт. АЛУ с плавающей точкой

128р. Команды видеорежима 3 блока 128р. 3блока общения с памятью. Intel впервые в Core и Core 2 для двухъядерных процессоров использовал общую КЭШ 2-го уровня. В Core 2 имеется связь м/д отдельными ядрами.

 


 

 

1. м/п 8086, 80286

тактовая частота 5-10, 10-16


Системные интерфейсы


Проблемы которые решаются системным интерфейсами: связь с ОП и ЦП, связь ядра с

ВУ.

 

 

м/п ОП ВУ

 

8 или 16 разрядов

 

ISA

 

 

тактовая частота 5-8 Мгц


пропускная способность 5-10 Мбайт/сек

 

 

2. м/п 80386, 30 Мбайт/сек

На материнской плате появляется новые архитектурные решения: Появляется КЭШ, что бы как можно реже обращаться к ОП. Стали использовать несколько структур решений:

 

м/п

 


Контроллер


К ОП


 


ISA


 

Локальная шина в 32 р.


 

 

ВУ

 

2 MCA, 16,32p, = 14 Мбайт/сек

использование в системах PS2 , прекращ. существование

3 EISA, 32p, 33 Мбайт/сек

- расширенная шина ISA, прекращ. существование

 

3. м/п 80486

тактовая частота 33 Мгц

пропускная способность 130 Мбайт/сек

 

 


 

 

Быстродейств.

дисплей


 

м/п


Системный интерфейс


 

 


ВУ

 

VLB


К ОП


 

ISA

 

ВУ

 


 

 

4. Pentium

PCI: 32разряда

133 Мбайт/сек

33 МГц


Медленнодейств.


М/п


кэш


 

К ОП

 

 

PSI

 

 

ВУ К

 

ISA

 

5. Pentium MMX: поддержка 3-х мерной графики

AGP: 133 МГц

633 Мбайт/сек

 

 


М/п


кэш


 

Дисплей

 

 


Д AGP


К ОП


 

 

PSI

 

 

ВУ К

 

ISA

 

6. Pentium II

Системная шина 528-800 Мбайт/сек, 66-110 МГц, AGP - 500 Мбайт/сек

7. Pentium 4


 

м /п


КЭШ


 

800 МГц, 6Гбайт/сек

 

 


AGP

Д


 

Северный ОП

мост


 


SATA

 

 

UATA


 

Южный мост


PCI

 

 

USB


 

 

Биос

 

Классификация вычислительных систем.

 

Выделяют четыре класса вычислительных систем:

1. ОКОД (одиночный поток команд, одиночный поток данных)

2. ОКМД (множественный поток команд, множественный поток данных)

3. МКОД

4. МКМД

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

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

Многообразие вычислительных систем связано с различием в характеристиках обрабатываемых команд.

Классы задач:

1. Слабосвязанные задачи, параллелизм независимых задач.

 

2. Параллелизм независимых ветвей.

 

3. Параллелизм независимых объектов.


 

 


 

 

1.Многомашинные комплексы.


МКМД


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

 

 

Классификация машинных комплексов.

 

1. Слабосвязные – связь устанавливается на уровне в/у.

2. Сильносвязные – связь на уровне «ядро-ЭВМ».

3. Сателлиты – общение через ОП.

Слабосвязные ЭВМ. Повышение надежности.

1. Связь по в/у, резервное ЭВМ может находится в выключенном состоянии.

2. Резервное ЭВМ во включенном состоянии в режиме тестировании. Как только основная выходит из рабочего состояния, резервная подключается к выполнении задачи.

3. Троированная система Три системы решают одну задачу. Если 2 системы одинаково решили задачу, значит они правы, а третья вышла из строя.

4.

Мультипроцессорные вычислительные системы.

 

Предназначены для повышения производительности задач 2-ого уровня.

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


 

Используются для повышения производительности при решении задач, хар.

параллелизмом независимостью ветвей.

Особенности:

1. ЦП работают с общей памятью

2. Для ядра имеется общее ВУ и общая ОС.

 

Классификация мультипроцессорных ВС:

 

1. На основе общей шины

 

Только два устройства могут обращаться между собой, т.е. малая производительность.

Достоинства: простота, система просто наращивается.

Недостатки: низкая надежность, т.е. если общая шина выходит из строя, то вся система тоже выходит из строя. Низкое быстродействие.

2. На основе коммутативной матрицы.


 

 

Достоинства: Высокая производительность надежность (выше чем в первом случае). Недостатки: Малая гибкость, чтобы нарастить систему, надо переделать всю коммутативную матрицу.