
- •Базовая структура компьютера
- •Процессор, оперативная память, устройства ввода-вывода, внешняя память, шины.
- •Представление информации. Целые, вещественные, символьные данные.
- •Структуры машинных команд. Трех-, двух-, одноадресные системы команд процессоров.
- •Стек. Его использование и аппаратная поддержка.
- •Risc-процессоры.
- •Cisc-процессоры. Микрокомандный уровень архитектуры.
- •Пример базовой архитектуры - pdp-11
- •Структура процессора. Регистры и их назначение.
- •2.2. Архитектура с общей шиной. Адресное пространство.
- •2.3. Форматы команд.
- •2.3.1. Двух-, одно- и безадресные команды. Примеры
- •2.3.2. Организация ветвлений и циклов. Регистр состояния процессора.
- •2.4. Методы адресации.
- •2.4.1 Прямые методы адресации.
- •2.4.2. Косвенные методы адресации.
- •2.4.3. Использование счетчика команд и указателя стека в методах адресации.
- •2.4.4. Позиционно-независимые программы и методы адресации.
- •2.5. Организация ввода-вывода.
- •2.5.1. Контроллеры устройств. Регистры устройств и их адресация.
- •2.5.2. Ввод-вывод по опросу флага готовности.
- •2.5.3. Прерывания устройств и их обработка.
- •2.5.4. Система приоритетов в обработке прерываний.
- •2.5.5. Ввод-вывод с использованием механизма прерываний.
- •2.5.6. Устройства с блочной передачей данных.
- •2.5.7. Прямой доступ к памяти и его использование для ввода-вывода.
- •2.6. Синхронные прерывания (исключительные ситуации) и их обработка.
- •3. Шинная архитектура
- •3.1 Структура шин. Подшины адреса, данных, управления. Ширина шины.
- •3.2. Синхронизация шины. Синхронные и асинхронные шины.
- •3.3. Временные диаграммы операций обмена по шинам.
- •3.4 Арбитраж шины.
2.5.6. Устройства с блочной передачей данных.
Блочная передача данных – режим, позволяющий передавать несколько команд чтения/записи за одно прерывание.
К блочным относятся такие устройства, которые хранят информацию в блоках фиксированной длины, у каждого из которых есть свой собственный адрес. Обычно размеры блоков варьируются от 512 до 32 768 байт. Вся передача данных ведется пакетами из одного или нескольких целых (последовательных) блоков. Важным свойством блочного устройства является то, что оно способно читать или записывать каждый блок независимо от всех других блоков. Среди блочных устройств встречаются устройства чтения с магнитной ленты, жесткие диски, приводы компакт-дисков и флэш-накопители USB.
Обычно все дисковые устройства организованы на основе плоских магнитных поверхностей, называемых тарелками (platters). Поверхность делится на концентрические кольца, называемые дорожками, каждая из которых подразделяется на секторы. Сектор — наименьшая адресуемая единица, обычно он способен хранить значительное число машинных слов.
С целью адресации пространства, поверхности пластин диска делятся на дорожки — концентрические кольцевые области. Каждая дорожка делится на равные отрезки — секторы. Адресация CHS (Cylinder, Head, Sector - Сектор на жёстком диске адресуется кортежем из трёх чисел: цилиндр-головка-сектор, именно так, как этот блок физически расположен на диске) предполагает, что все дорожки в заданной зоне диска имеют одинаковое число секторов.
Цилиндр — совокупность дорожек, равноотстоящих от центра, на всех рабочих поверхностях пластин жёсткого диска. Номер головки задает используемую рабочую поверхность (то есть конкретную дорожку из цилиндра), а номер сектора — конкретный сектор на дорожке.
2.5.7. Прямой доступ к памяти и его использование для ввода-вывода.
2.6. Синхронные прерывания (исключительные ситуации) и их обработка.
Прерывание — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.
Синхронные или внутренние прерывания — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции;
Внутренние прерывания вызываются событиями, которые связаны с работой процессора и являются синхронными с его операциями, а именно прерывание происходит, когда:
- при нарушении адресации (в адресной части выполняемой команды указан запрещенный или несуществующий адрес, обращение к отсутствующему сегменту или странице при организации механизмов виртуальной памяти);
- при наличии в поле кода не задействованной двоичной комбинации.
- при делении на нуль.
- при переполнении или исчезновении порядка.
- при обнаружении ошибок четности, ошибок в работе различных устройств аппаратуры средствами контроля.
Механизм обработки прерываний
При обработке каждого прерывания должна выполняться следующая последовательность действий:
- Восприятие запроса на прерывание: прием сигнала и идентификация прерывания.
- Запоминание состояния прерванного процесса: определяется значением счетчика команд (адресом следующей команды) и содержимым регистров процессора.
- Передача управления прерывающей программе (в счетчик команд заносится начальный адрес подпрограммы обработки прерываний, а в соответствующие регистры – информация из слова состояния процессора). Обработка прерывания.
- Восстановление прерванного процесса и возврат в прерванную программу.
Главные функции механизма прерывания:
распознавание или классификация прерываний.
передача управления соответственно обработчику прерываний.
корректное возвращение к прерванной программе (перед передачей управления обработчику прерываний содержимое регистров процессора запоминается либо в памяти с прямым доступом либо в системном стеке).