- •Основные понятия: эвм (компьютер), вычислительный комплекс, вычислительная система, вычислительная сеть.
- •Сопоставление понятий «архитектура эвм» и «организация эвм». Программная и аппаратная архитектура эвм. Структурная и функциональная организация эвм.
- •Каноническая структура эвм и её состав: ядро эвм (pms – подсистема), вторичная (внешняя) память, система ввода-вывода.
- •Центральный процессор (цп) как основное устройство эвм. Основные функции цп как обрабатывающего и управляющего устройства. Состав цп. Основные характеристики цп.
- •Классификация архитектур процессоров по способу хранения операндов. Основные особенности архитектур: аккумуляторной, регистровой, с выделенным доступом к памяти, стековой.
- •Классификация архитектур процессоров по мощности системы команд. Cisc- и risc- архитектуры и их основные особенности. Модели современных cisc- и risc- процессоров и их области применения.
- •Основные причины снижения производительности реальных конвейеров команд: структурные риски, риски по данным, риски по управлению - и способы устранения или уменьшения их влияния.
- •Наличие в программе так называемых зависимостей по управлению (риски по управлению).
- •Наличие в программах зависимостей по данным (риски по данным).
- •Использование различными блоками конвейера одного и того же ресурса (структурные риски).
- •Наличие при выполнении программы особых случаев, приводящих к прерыванию.
- •Различное время выполнения отдельных фаз машинных команд.
- •Большой разброс длительности фазы ех для различных машинных команд.
- •Иерархическая схема организации памяти компьютеров и её обоснование. Основные характеристики уровней памяти: объём, время доступа (быстродействие), удельная стоимость хранения.
- •Организация кэш-памяти: стратегии отображения, стратегии удаления, стратегии поддержания актуальности копий блоков в оп при их модификации в кэш-памяти.
- •Виртуальная память: понятие и концепции.
- •Назначение и основные функции системы прерываний. Реализация функций на аппаратном и программном уровнях.
- •Отличия организации прерываний в реальном и защищенном режимах процессоров семейства Intel 80x86, Pentium.
- •Программируемый контроллер прерываний (pic), его назначение, функции, взаимодействие с цп.
- •Система ввода-вывода: назначение, функции, программные и аппаратные составляющие. Аппаратные интерфейсы: их классификация, стандартные интерфейсы современных компьютеров.
- •Программно управляемый ввод-вывод(pio – Programmed input/output)
- •Ввод-вывод по прерыванию.
- •Прямой доступ к памяти (dma)
- •Канальный ввод/вывод.
- •Адресация портов ввода-вывода с использованием единого или раздельного с оп адресного пространства и её влияние на систему команд процессора.
- •Раздельные адресные пространства
- •Единое адресное пространство
Программно управляемый ввод-вывод(pio – Programmed input/output)
Ввод-вывод осуществляется при непосредственном участии ЦП. Реализация ввода/вывода производится специальной программой, называемой драйвером ВУ, которая выполняет следующие действия:
Пересылка порции данных между ОП и адресуемым портом ввода-вывода. Как правило в качестве промежуточного звена используется какой-либо регистр ЦП (например, регистр аккумулятор в процессорах семейства Intel Pentium)
Проверка готовности ВУ к обмену. Сводится к опросу регистра состояния, точнее, специального флага готовности контроллера ВУ.
Ожидание готовности ВУ путем циклической проверки состояния флага готовности.
Изменение (модификация) параметров пересылки, в частности, текущего адреса области ОП для ввода/вывода и счетчика длины пересылаемого блока.
Проверка завершения передачи путем сравнения счетчика с некоторым конечным значением. Например, с нулем при декрементном счетчике.
Основным достоинством PIO является простота его реализации, а основной недостаток – крайне неэффективное использование ресурсов ЦП.
Ввод-вывод по прерыванию.
Использование этого способа организации ввода/вывода позволяет устранить основной недостаток предыдущего.
Основная идея этого способа: после осуществления элементарных действий по пересылке очередной порции данных (см. выше) ЦП вместо переключения в состояние активного ожидания с опросом готовности ВУ (как в первом способе) переходит к выполнению другой программы. Планировщик заданий ОС запускает другой процесс.
В свою очередь, устройство в/в (ВУ) о своей готовности продолжить операцию ввода/вывода с очередной порцией данных сообщает ЦП с помощью сигнала прерывания. Так, например, в процессорах фирмы Intel сигнал прерывания от ВУ поступает на специальный вход процессора INT R(Interrupt Request – запрос прерывания). Промежуточным звеном между ВУ и ЦП ретранслирующим запросы прерываний от многих ВУ на единственный вход ЦП, является специализированная микросхема PIC (программируемый контроллер прерываний).
Отметим далее, ЦП после завершения любой машинной команды производит опрос наличия сигнала INT R (основанием для этого является установленный флаг IF). При сброшенном флаге реакция ЦП на запросы от ВУ временно приостановлена. При наличии активного уровня на входе INT R и разрешении прерывания(IF=1) ЦП выполняет следующие действия:
Cохраняет минимальный контекст прерываемой программы на аппаратном уровне. В процессорах фирмы Intel для этой цели используется стек, в который поочередно загружаются регистр флагов, сегмент кода CS, счетчик команд IP.
Идентифицирует источник прерывания и преобразует код источника в начальный адрес программы обработчика соответствующего прерывания (в процессорах Intel функцию идентификации источника, точнее номера ВУ, пославшего запрос прерывания выполняет PIC, который пересылает в ЦП код (номер) запроса по шине данных в цикле подтверждения прерывания). ЦП, получив код запроса, модифицирует его в адрес соответствующего вектора прерывания и далее считывает содержимое этого вектора: 2 младших байта в IP, 2 старших в CS, тем самым осуществляется загрузка адреса обработчика прерывания в регистры ЦП.
ЦП переходит к выполнению программы обработчика прерывания. Обработчики прерываний для соответствующих ВУ связаны с драйверами этих устройств.
Несмотря на очевидное преимущество этого способа по сравнению с предыдущим, его недостатком являются большие издержки времени, связанные с контекстным переключением из прерванной программы на обработчик прерываний и обратно после завершения программы-обработчика. Так, например, для устройств с посимвольным обменом эти переключения будут иметь место после пересылки, если не каждого байта данных, то сравнительно небольшого их числа, определяемого шириной (разрядностью) ШД.
