- •Введение.
- •1. Основы построения эвм. Основные определения.
- •2. Принципы действия эвм. Принципы программного управления.
- •Страница–словарь.
- •4. История развития вычислительной техники. Поколения эвм.
- •«Компьютер... XVII века»
- •5. Основные параметры эвм.
- •1. Запоминающие устройства эвм.
- •1.1. Типы зу и их основные характеристики.
- •1.2. Оперативные запоминающие устройства.
- •1.2.1. Общие принципы организации озу.
- •1.2.2. Структурная организация блока памяти.
- •1.2.3. Полупроводниковые интегральные зу с произвольным обращением.
- •1.2.4. Модули памяти и элементы памяти (бис).
- •1.2.5. Система электрических параметров полупроводниковых бис зу.
- •1.2.6. Контроль функционирования бис зу.
- •1.2.7. Организация многоблочной оперативной памяти.
- •1.2.8. Организация озу с многоканальным доступом.
- •1.2.9. Ассоциативные зу.
- •1.3. Сверхоперативные зу.
- •1.3.1. Назначение и типы созу.
- •1.3.2. Организация созу с прямой адресацией.
- •1.3.3. Организация стекового и магазинного созу.
- •1.3.4. Организация ассоциативных созу.
- •1.3.5. Оценка эффективности использования созу в процессоре.
- •1.4. Постоянные зу.
- •1.5. Виртуальная память.
- •Логическое распределение оперативной памяти в персональных компьютерах (Intel/pc).
- •1.6.1. Стандартная оперативная память.
- •1.6.1.1.Таблица векторов прерываний.
- •1.6.1.2. Область данных bios.
- •1.6.1.3. Область для операционной системы.
- •1.6.1.4. Основная область памяти.
- •2. Арифметико-логические устройства эвм
- •2.1. Типы арифметических устройств и их структуры.
- •2.2. Организация алу параллельного действия при работе над числами в естественной форме.
- •2.2.1. Суммирование и вычитание чисел при использовании накапливающего сумматора.
- •2.2.2. Принципы построения алу для сложения и вычитания на комбинационных суммах.
- •2.2.3. Организация алу (параллельного действия) в режиме умножения чисел с фиксированной запятой.
- •2.2.4. Аппаратные способы ускорения умножения в организации алу.
- •2.2.5. Алгоритмические (логические) способы ускорения умножения в организации алу.
- •2.2.6. Организация алу параллельного действия в режиме деления чисел с фиксированной запятой.
- •2.2.7. Организация алу при реализации логических операций и операций специальной арифметики.
- •2.3. Организация алу параллельного действия при работе над числами в нормальной форме.
- •2.3.1. Принцип построения и работы алу при суммировании и вычитании чисел в нормальной форме.
- •2.3.2. Направления и методы ускорения операций над числами с плавающей запятой.
- •2.4. Организация алу, работающих в двоично-десятичных кодах.
- •2.5.Об экзотических формах представления чисел. Логарифмическая форма:
- •Трансформирующаяся запятая.
- •Инверсная запятая.
- •2.6. Итеративные методы деления.
- •3. Процессоры.
- •3.1. Система команд эвм.
- •3.1.1. Структура и форматы команд.
- •3.1.2. Список команд.
- •3.1.3. Способы адресации.
- •3.2. Устройства управления.
- •3.2.1. Организация цуу (на примере гипотетической одноадресной эвм).
- •3.2.2. Принципы формирования уфс.
- •3.2.3. Организация микропрограммных устройств управления.
- •3.3. Организация внутрипроцессорных систем ввода-вывода информации.
- •3.3.1. Основные понятия и определения.
- •3.3.2. Способы обмена данными между ядром малой эвм и периферийными устройствами.
- •3.3.3. Программно управляемые способы передачи данных.
- •3.3.3.1. Простые типы передачи.
- •3.3.3.2. Последовательность событий при прерываниях.
- •3.3.3.3. Идентификация прерывающего устройства.
- •3.3.4. Организация прямого доступа к памяти.
- •4. Основы вычислительных конвейеров.
- •4.1. Введение в архитектурные принципы конвейерных процессоров и эвм.
- •Конвейерные сумматоры
- •Конвейерный умножитель
- •5. Архитектура сигнальных процессоров.
- •5.1. Введение. Основные задачи обработки сигналов. Методы обработки сигналов.
- •5.2. Основные характеристики и базовая архитектура семейства adsp-21xx
- •5.2.1. Общие сведения о составе функциональных устройств
- •5.2.2. Базовая архитектура.
- •5.2.3. Средства разработчиков для процессоров семейства.
- •5.3. Интерфейс процессоров adsp-21xx с памятью.
- •5.3.1. Интерфейс с загрузочной памятью.
- •5.3.2. Интерфейс с памятью программ.
- •5.3.3. Интерфейс с памятью данных.
- •5.4. Архитектура операционных устройств.
- •5.4.1. Арифметико-логическое устройство.
- •5.4.2. Умножитель/накопитель mac.
- •5.4.3. Устройство сдвига shifter.
3.3.3.2. Последовательность событий при прерываниях.
Каждое ПерУ, подключенное к процессору через систему прерывания, может посылать в процессор сигнал запроса прерывания (ЗПр). Это просьба об обслуживании, требование реакции процессора, иногда – немедленной.
Сигнал ЗПр появляется асинхронно к действиям процессора, управлять фактом его появления программа, выполняемая процессором не может. Выхода только два:
-
игнорировать ЗПр;
-
временно приостановить текущую программу, перейти к другой программе (подпрограмме) обслуживания ЗПр, обслужить и вновь вернуться к выполнению прерванной программы.
Остановимся пока на втором варианте действий.
Итак, запрос принят не проигнорирован. Программе обслуживания ПерУ почти наверняка потребуются внутренние регистры АУ, СОЗУ, а значит их содержимое будет изменено. (Конечно, возможна ситуация, когда обмен с ПерУ не задевает ход текущего процесса в АУ, а касается только некоторой зоны памяти. Здесь не совсем прерывание, а кроме того, возможен непрограммный путь!). Итак, «..изменено…» Но прерываемая программа ничем не провинилась и должна по окончании обслуживания ПерУ выполняться так, будто никакого прерывания ее не было. Она уже пострадала тем, что мы удлинили время ее выполнения. Следовательно, перед обслуживанием прерывания содержимое всех регистров, которые потребуются ему, надо временно запомнить, например - в ОЗУ, а еще удобнее в стековой памяти, с последующим возвратом.
Теперь о возможном игнорировании ЗПр. ЗПр только и означает, что процессор должен делать нечто иное, очень важное. Но ведь и выполняемая программа полностью или в какой-либо своей части может быть очень важна, не допускает промедления. Выход, возможно, – на время исключить ЗПр из рассмотрения, игнорировать.
<145>
Строго рассуждая, в момент «рассмотрения заявления» на прерывание может возникнуть ещё одна проблема: а если периферийных устройств несколько и все они способны послать свой ЗПр? Надо выяснить, кто обращается и по ходу работы установить, насколько это срочно.
Вырисовывается такая картина:
Рис. 3.3.3.4.
Существуют нюансы:
а) все операции по организации прерываний могут быть реализованы только командами, в том числе возможны и команды запрета/разрешения прерывания;
б) в зависимости от того, какое ПерУ стало источником ЗПр, может быть наложена или не наложена блокировка;
в) как определить, когда прерывание обслужено? нужна специальная команда окончания?
Видимо некоторые операции необходимо рассмотреть подробнее.
Процессы запоминания состояния процессора после восприятия ЗПр и его восстановления называют иногда контекстным переключениями. Их скорость существенно влияет на производительность ЭВМ. Поэтому-то и используются стеки.
<146>
3.3.3.3. Идентификация прерывающего устройства.
Способы решения проблемы идентификации различаются скоростью реакции процессора и объемом дополнительных аппаратных затрат.
Программный поллинг. Это простейшее, с точки зрения аппаратных затрат, решение, заключающееся в программном опросе флажков (триггеров) готовности ПерУ (сигналов прерываний). Реагируя на прерывание, процессор переходит к подпрограмме, находящейся в фиксированной области памяти с известным начальным адресом. Этот начальный адрес загружается в программный счетчик (СчК) после контекстного переключения.
Рис. 3.3.3.5.
Конкретная реализация поллинга зависит от особенностей системы команд процессора и других особенностей вычислителя. Например, для ускорения программного поллинга сигналы прерываний всех ПерУ подключаются к специальному регистру. Поллинг реализуется посредством ввода в процессор содержимого этого регистра и анализа состояний его отдельных бит (последовательность анализа определяется системой приоритетов).
Недостаток программного полинга – необходимость проверки всех устройств увеличение времени опроса.
<147>
Аппаратный поллинг. (Дейзи – цепь, приоритетная цепочка, гирляндное включение ПерУ и пр.) Он заключается в организации специальной линии распространения сигнала подтверждения прерывания, проходящей через все устройства. Устройство, запросившее прерывание, блокирует (аппаратно!) дальнейшее распространение сигнала. Приоритеты расставляются в соответствии с «географической» близостью к процессору. Затем ПерУ передает в процессор свой адрес с сопровождающим его обычно стробом.
Рис. 3.3.3.6. Схема аппаратного поллинга.
– это стробирующе-синхронизирующий импульс, сопровождающий передачу в процессор адреса идентифицированного устройства.
Рис 3.3.3.7. Внутрипроцессорная схема обработки прерываний (сигналов прерываний INT).
<148>
Векторные прерывания. Если в системе прерывания возникают часто (много внешних устройств, либо каждое из них работает интенсивно и в нескольких режимах), опрос устройств потребует очень много времени. Поэтому в этих случаях выбирают аппаратный поллинг. Формируемый на ШД от идентифицированного внешнего устройства адрес рассматривается как «вектор прерывания», который и используется для обращения к той или иной программе.
«Векторного» в этом адресе лишь то, что он указывает, направляет.
Обычно формирование векторов прерываний возлагается на специальную схему выбора приоритетов (другое название – БПП ).
Контроллеры прерывания. Основные функции:
-
аппаратный полинг;
-
смена системы приоритетов (круговой простой и по обработке запросов);
Рис. 3.3.3.8.
(возможен и случайный приоритет и многие другие)
-
аппаратный запрет прерываний;
-
организация многоуровневых прерываний.
Процессорная реализация функций контроллера:
единый алгоритм обработки «нештатных» ситуаций (прерываний, программных прерываний или обращений к подпрограммам, исключений, «ловушек» и т.д.).
<149>