Галерея диаграмм связей Интеллект-карта принципов компьютерной композиции
Это интеллектуальная карта принципов построения компьютеров 02, включая обзор, операции с данными, системы хранения, центральные процессоры и т. д.
Отредактировано в 2023-12-08 15:47:38Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
Cent ans de solitude est le chef-d'œuvre de Gabriel Garcia Marquez. La lecture de ce livre commence par l'analyse des relations entre les personnages, qui se concentre sur la famille Buendía et raconte l'histoire de la prospérité et du déclin de la famille, de ses relations internes et de ses luttes politiques, de son métissage et de sa renaissance au cours d'une centaine d'années.
La gestion de projet est le processus qui consiste à appliquer des connaissances, des compétences, des outils et des méthodologies spécialisés aux activités du projet afin que celui-ci puisse atteindre ou dépasser les exigences et les attentes fixées dans le cadre de ressources limitées. Ce diagramme fournit une vue d'ensemble des 8 composantes du processus de gestion de projet et peut être utilisé comme modèle générique.
Принципы компьютерной композиции
Глава Один Обзор
иерархия компьютерной системы
аппаратное обеспечение
компьютер фон Неймана
хранимая процедура
драйвер потока управления
Собранные заранее программы и данные отправляются в основную память. Компьютер выполняет элемент за элементом
однопроцессор
Инструкции и данные имеют одинаковый статус
Данные инструкций представляют собой все двоичные коды.
Ориентирован на оператора
современный компьютер
ориентированный на память
состав
Устройство ввода
устройство вывода
Память
Основная память (внутренняя память)
банк памяти
Вспомогательное хранилище (внешнее хранилище)
Процессор
МАР (адресная память)
Количество битов соответствует количеству единиц хранения.
Адрес доступа к магазину
MDR(память данных)
Количество бит равно длине слова памяти.
Временно хранит информацию, прочитанную и записанную из памяти.
оператор
АЛУ (арифметико-логическое устройство)
комбинационная логическая схема
АСС (аккумулятор)
MQ (регистр коэффициентов множителя)
X регистр общего назначения
Временное хранение операндов и промежуточных результатов
IX (индексный регистр)
BE (регистр базового адреса)
PSW (регистр слова состояния программы/регистр флагов)
Сохраните информацию о флагах, полученную в результате операции, например: переполнение, перенос и заимствование.
контроллер
ПК (счетчик программ)
Сохраняет адрес инструкции, которая должна быть выполнена в данный момент. После выполнения он автоматически увеличивается на единицу для формирования адреса следующей инструкции.
Количество цифр длины слова→Количество слов памяти
IR (Регистр инструкций)
Используется для хранения текущей команды
Контент из MDR
Длина слова инструкции
БУ (блок управления)
программное обеспечение
состав
программное обеспечение
операционная системаОС
Система управления базами данных СУБД
система языковой обработки
Сетевая программная система
сервисная программа
приложение
Программное обеспечение для ежедневного использования
язык
машинный язык
Компьютер может быть выполнен напрямую
бинарный код
язык ассемблера
Английские слова и аббревиатуры
Преобразование в машинный язык перед выполнением
язык высокого уровня
Java, c, c и т. д.
Исходная программа в исполняемый файл
многоуровневая иерархия
Программа-интерпретатор: переводить и выполнять одновременно
Производительность
длина слова
Является целым числом, кратным байтам (1B или 8 бит).
машинная длина слова
Ширина пути данных внутри ЦП для целочисленной арифметики
Длинные цифры ALU
Количество битов регистра общего назначения
Длина слова инструкции
Количество бит двоичного кода в командном слове
Длина слова хранения
Длина двоичного кода одной единицы памяти
пропускная способность пути передачи данных
Количество битов, передаваемых параллельно по шине данных за один раз.
Объем основной памяти
расчет скорости
Пропускная способность
Количество запросов, обработанных в единицу времени
Основная частота
Тактовая частота процессора
Сколько вообще ГЦ?
1 Гц означает раз в секунду
1 ГГц = 10⁹
Сколько тактов в секунду
Тактовый цикл процессора
Обратный отсчет основной частоты
1/основная частота
Сколько секунд составляет тактовый цикл?
ИПЦ
Количество тактов, необходимое для выполнения команды
Сколько тактов требуется для выполнения команды?
связано с тремя факторами
Набор инструкций
Программирование (структура системы)
Компьютерная организация (архитектура)
Время выполнения процессора
(количество инструкций × CPI) / основная частота
МИПС
Сколько миллионов (М) инструкций выполняется в секунду?
Основная частота / (CPI×10⁶)
ФЛОПС
мфлопс
Сколько миллионов операций с плавающей запятой выполняется в секунду?
Количество операций с плавающей запятой / (время выполнения × 10⁶)
гфлопс
миллиард
10⁹
тфлопс
триллионы
10¹²
пфлопс
квадриллионы
10¹⁵
зфлопс
Прозрачность
Невидимый контент
Для языковых программистов высокого уровня: Формат инструкции, процесс работы с данными и т. д. являются невидимым содержимым.
Для программистов на машинном языке или ассемблере: Формат инструкций, структура машины и формат данных — это видимый контент.
Программисты не могут просматривать содержимое MAR, MDR и IR в ЦП.
Глава вторая Операции с данными
базовый метод
двоичный
База — 2.
Восьмеричный
Каждые восемь переходит в один
Хитрость: трехзначные двоичные числа
десятичная дробь
шестнадцатеричный
123456789ABCDEF
Совет ①: Четырехзначное двоичное число.
Совет ②: A означает 10.
двоично-десятичный код
8421 код
Четыре двоичных цифры представляют десятичное число
Метод коррекции:
① Если результат двузначной операции меньше или равен десятичному числу 9, коррекция производиться не будет.
② Если результат двузначной операции больше или равен десятичному числу 10, добавьте десятичное число 6 (0110).
Еще три ярда
Добавьте 3 к коду 8421 (0011) Таким образом, каждое число имеет остаток, равный трем.
2421 код
От самого высокого положения до самого низкого положения они 2421 Например: 5=(0101)
кодированное представление
Исходный код
0 означает не уникальный
Длина слова равна n 1, диапазон подписанного исходного кода. -(2ⁿ-1)≤ x ≤ 2ⁿ-1
обратный код
Положительное число Исходный код = обратный код
отрицательное число Знаковый бит остается неизменным, а значение инвертируется.
дополнять
0 означает уникальный
Положительное число Исходный код=обратный код=дополнительный код
отрицательное число Обратная конверсия кода исходного кода: исходный код идет справа налево, найти первую 1, инвертировать все числовые биты слева от этой 1, то есть получить дополнительный код
Длина слова равна n 1, диапазон дополнений со знаком. -2ⁿ ≤ х ≤ 2ⁿ-1
Хранится в форме дополнения до двух на языке C
сдвиг кадра
0 означает уникальный
экспонента, представляющая число с плавающей запятой
Компенсировать
Отменить бит знака дополнения → сдвиг кадра
сдвиг фиксированной точки
арифметический сдвиг
Для символических чисел
Знаковый бит остается неизменным при сдвиге
положительный арифметический сдвиг Введите 0 для первоначальных опровержений и дополнений.
отрицательный арифметический сдвиг Введите 0 для исходного кода. Код дополнения до двух заполняется цифрами 0 для левого сдвига и 1 для правого сдвига. Введите обратный код цифрой 1.
логический сдвиг
Для беззнаковых чисел
Логический сдвиг влево, старший бит потерян, младший бит заполнен нулями
Логический сдвиг вправо, младшие биты теряются, старшие биты заполняются нулями.
Сложение и вычитание чисел с фиксированной запятой
Сложение и вычитание двух дополнений
Добавление прямой операции
Вычитание Дополнение (-B) дополнение
Идентификатор
беззнаковое число
CF взять взаймы
Определить переполнение беззнакового числа
дополнение
Определить вычетное заимствование
Малый - Большой Доступны заимствованные места
ZF Нулевая отметка
Результат 0, тогда ZF=1
подписанный номер
Нулевая отметка ZF
Знак символа SF
Символ, обозначающий результат
OF флаг переполнения
Определить переполнение знаковых чисел
Решение о переполнении
один знаковый бит
два знаковых бита (дополнение по модулю четыре)
При хранении сохраняется только один бит.
Если два бита одинаковы, переполнения нет.
Два разных человека
01
Положительное переполнение
10
отрицательное переполнение
Умножение чисел с фиксированной точкой
Однобитовое умножение исходного кода
Ручной расчет
Подобно десятичному, вычислять напрямую
компьютерный расчет
Вычислить А×В
Иллюстрация
Множимое A хранится в общем регистре X.
Сохраните множитель B в MQ
Результаты расчетов каждого раунда сохраняются в АСС.
процесс
Множимое и множитель принимают абсолютное значение для участия в операции. Знаковый бит обрабатывается отдельно (операция XOR).
① Когда номер в ACC добавляется к номеру в общем регистре X? Проверьте, равен ли 1 младший бит MQ. Если он равен 1, суммируются ACC и X, а результат помещается в ACC
(АСС) (X) → АСС
② После сохранения нового результата в ACC выполните логический сдвиг вправо. Логический сдвиг MQ вправо, логический сдвиг вправо ACC Старший бит ACC заполняется 0, а число, сдвинутое вправо от младшего бита ACC, перемещается в старший бит MQ. Младший бит MQ перемещается
Дополнительное умножение
Ручной расчет
компьютерный расчет
Вспомогательный бит — младший бит MQ = 1, дополнение (ACC) (x)
Вспомогательный бит — младший бит MQ = 0, (ACC) 0
Вспомогательный бит — младший бит MQ = -1, дополнение (ACC) (-x)
процесс
Однобитовое умножение с дополнением до двух с использованием двух знаковых битов
Выполните n раундов сложения, перемещения и, наконец, еще раз сложите.
Каждый сдвиг представляет собой арифметический сдвиг вправо.
Знаковый бит участвует в операции
Вспомогательный бит находится после младшего бита MQ и изначально равен 0. Дополнительное число от сдвига вправо MQ заменяет начальный 0 или другое число исходного вспомогательного бита.
Процессы сложения и сдвига аналогичны однобитовому умножению исходного кода.
Деление с фиксированной точкой
Деление исходного кода (метод восстановления остатка)
а÷б
ACC хранит дивиденды a, остаток
Коэффициент хранения MQ (изначально все 0)
X хранит делитель b
процесс
Во-первых, частное по умолчанию равно 1, в случае возникновения ошибки оно меняется на 0, а остаток восстанавливается.
Если частное равно 0, выполните дополнение ACC (b) и поместите результат в ACC.
Коэффициент 1, выполните дополнение ACC (-b)
Если знаковый бит вычисленного результата равен 1, это означает, что частное неверно, тогда восстановите
После операции сложения и получения нового результата ACC и MQ логически сдвигаются влево, а младшие биты MQ заполняются 0.
Повторите вышеуказанную операцию
Исходное деление кода (попеременный метод сложения и вычитания)
Только начал, Дополните (-b), чтобы получить новый остаток.
Если остаток отрицательный, частное равно 0, а остаток логически сдвигается влево, а затем (б) дополняется
Если остаток положителен, то частное равно 1, а остаток логически сдвигается влево, а затем (-b) дополняется.
последний шаг Если остаток отрицательный, частное равно 0, (б) дополняется, чтобы получить правильный остаток
Деление дополнения до двух (попеременное сложение и вычитание)
В операции участвует знаковый бит, двойной знаковый бит
Только начал Определить, имеют ли делимое и делитель одинаковый знак, Если они имеют одинаковый знак, делимое – делитель Если знаки разные, то делимое является делителем.
Следовать за Остаток и делитель имеют одинаковый знак Частное 1, остаток и частное (ACC MQ) сдвиг влево, вычитание делителя Остаток и делитель имеют разные знаки Частное 0, остаток и частное сдвинуты влево, добавлен делитель
Организация хранения данных
хранилище с прямым порядком байтов
То же, что привычки людей к чтению
хранилище с прямым порядком байтов
Напротив
выравнивание границы
целочисленный тип
тип int
4Б 32бит
длинный
4Б 32бит
короткий тип
2Б 16бит
тип символа
1Б 8бит
число с плавающей запятой
Формат представления
знак номера
код
Представлено сдвигом кадра
мантисса
Выражено в десятичной форме исходного кода
Стандартизация
Цзогуй
Сместите мантиссу на одну позицию влево и уменьшите показатель степени на единицу.
правильное правило
Сместите мантиссу на одну позицию вправо и прибавьте единицу к показателю степени.
IEEE754
32-битная одинарная точность
составляют
1-значное число
Код расширения (код кадра) 8 бит
Развернуть истинное значение = код кадра - значение смещения 127
Диапазон кодов 1~254
23 цифры мантиссы
Значение смещения 127
процесс преобразования
① Цифровые символы
② мантисса
③ Истинное значение кода
④ Код кадра (код кадра) = значение истинности кода - значение смещения
⑤ Мантисса перемещается в соответствии с истинным значением показателя степени.
пример
Код не может состоять только из 0 или 1.
64-битная двойная точность
1-значное число
Код 11 цифр
52 бита мантиссы
Значение смещения 1023
Сложение и вычитание с плавающей запятой
① Правильный порядок
Маленькие шаги совпадают с большими шагами
Малая мантисса кода показателя степени сдвинута на одну позицию вправо, показатель степени равен 1.
② Сумма мантисс
③ Стандартизация
правильное правило
При 1×.××, правильный калибр.
Сдвиньте мантиссу вправо и прибавьте единицу к показателю степени.
Цзогуй
Когда 0.0, левое правило
Сдвиньте мантиссу влево и уменьшите показатель степени на 1.
Нормализованное число
Старший бит мантиссы исходного кода не равен 0, а старший бит мантиссы дополняющего кода отличается от символа числа.
дополнять
Нормализация одного символа
0,1xxx 1.0ххх
Двухсимвольная нормализация
00.1ххх 11.0ххх
④ Округление
Скругление происходит при выравнивании или повороте вправо.
0 метод округления
Похоже на округление
метод постоянного набора 1
Независимо от того, равен ли старший бит 1 или 0, установите конец мантиссы после сдвига вправо на 1.
⑤ Решение о переполнении
Для положительного и отрицательного нижнего значения компьютер обрабатывает его как 0.
бросать
char→int→long→double
плавающий → двойной
третья глава Система хранения
Классификация памяти
Классифицировано по уровню
кэш
основная память
вспомогательное хранилище
Сортировать по носителям
магнитная поверхность
лента
диск
магнитный сердечник
полупроводник
CD
Классифицировано по методу доступа
ОЗУ – оперативное запоминающее устройство
ПЗУ – память только для чтения
Современные воспоминания можно стереть с помощью электричества
память с последовательным доступом
Классификация по сохраняемости информации
Нестабилен при выключении питания
БАРАН
энергонезависимый
ПЗУ
магнитная поверхность
CD
Показатели производительности памяти
хранилище
Количество сохраненных слов × длина слова
Скорость хранения
Время доступа
Период времени от начала доступа до завершения доступа
срок хранения
Время доступа Период восстановления
пропускная способность основной памяти
скорость передачи данных
Максимальное количество сообщений в основной памяти и из нее в секунду
Многоуровневая система хранения
ЦП-кэш-основная память-вспомогательная память
Передача данных до того, как процессор и кэш будут выполнены аппаратно (невидимо)
Соединение между основной и вторичной памятью осуществляется аппаратным обеспечением и операционной системой (не видно программисту приложения).
основная память
оперативная память
БАРАН
кэш реализован SRAM
СРАМ
статическая оперативная память
бистабильный триггер
неразрушающее считывание
Высокая стоимость, высокая скорость, низкая интеграция.
Основная память реализована DRAM.
ДРАМ
динамическая оперативная память
Емкость затвора
Приходится обновлять время от времени
Централизованное обновление
Используйте фиксированное время для обновления конденсатора
мертвое время
Рассеянное обновление
Распределите обновление каждой строки на различные циклы.
нет мертвой зоны
Асинхронное обновление
Период обновления, разделенный на количество строк Обновляйте время от времени
Максимальное время интервала 2 мс
Есть время умереть
Низкая стоимость, медленная скорость, высокая интеграция
Мультиплексирование адресных выводов
ПЗУ
ПЗУ
Функции
Простая структура
энергонезависимый
Классификация
Постоянная память шаблона маски MROM
Неизменяемый контент
Одноразовое программируемое постоянное запоминающее устройство ПРОМ
Однажды написанное, его нельзя изменить.
Стираемая программируемая постоянная память EPROM
Возможность перезаписи, ограниченное время программирования, длительное время записи
флэш-память (флэш-память)
Долговременное хранение информации
Быстрое стирание, перезапись онлайн
компакт-диск
компакт-диск
Твердотельный накопитель SSD
Долговременное хранение информации
Быстрое стирание, перезапись
параллельная память
двухпортовая память
пространственный параллелизм
многочастичная параллельная память
параллелизм во времени
Кроссовер высокого порядка (последовательный режим)
последовательный доступ
последовательная память
Перемежение низкого порядка (режим перемежающейся адресации)
Внутренний адрес старшего порядка отправляется в модуль младшего порядка для декодирования.
Трубопроводный подход
Бит цикла доступа T для доступа к слову Цикл передачи данных по шине равен r
Количество кросс-модулей ≥ T/r
Время, необходимое для непрерывного доступа к m словам, равно T (м-1)/r.
Подключение основной памяти и процессора
Линия данных двунаправленная Адресные строки являются односторонними
Расширение мощностей
расширение слова
Функция декодера 2/4: Выбор чипа
расширение бита
Сигнал выбора чипа cs должен быть связан со всеми чипами.
Соединение памяти с процессором
Верхняя линия выбора чипа, нижняя адресная линия
① Адресная строка
② Кабель передачи данных
③ Линия ввода-вывода
④ Строка выбора чипа
Внешнее хранилище
диск
Минимальная единица чтения, один сектор
Функции
① Низкая стоимость и большая емкость.
②Длительное хранение
③Неразрушающее считывание
Классификация
дисковое хранилище
зона хранения
Магнитная головка (количество записывающих сторон)
Одна записывающая поверхность соответствует одной магнитной головке.
цилиндр
Сколько треков на каждой пластинке?
сектор
Сколько секторов на каждой дорожке?
Расположены в одном секторе → все данные могут быть считаны за один доступ к памяти
Производительность
среднее время доступа
время поиска
Время, необходимое головке для перемещения на путь назначения
задерживать
Время, необходимое магнитной головке для обнаружения секторов чтения и записи.
Время передачи
Время передачи данных
Время сектора запроса
искать время/2
скорость передачи данных
количество оборотов в секунду × пропускная способность каждой дорожки n бит
Операции чтения и записи являются последовательными.
Дисковый массив
RAID0
Никакой избыточности, никакой контрольной суммы
RAID1
Зеркальный дисковый массив
взаимное резервное копирование
RAID2
Исправление ошибок дискового массива кода Хэмминга
RAID3
перекрестная проверка четности
RAID4
перекрестная четность блоков
RAID5
Проверка четности без независимой проверки
SSD-флеш-память
Ничем не отличается от U-диска
Случайное письмо происходит медленно.
Будет износ
кэш-кеш
Принцип работы
ЦП выдает запрос на доступ к памяти, Если физический адрес основной памяти находится в кеше, он попадает в него, и кеш считывается напрямую. Если кеш промахивается, ему все равно необходимо получить доступ к основной памяти и загрузить его в кеш из основной памяти.
Длина блока кэша, также известная как длина строки.
Невидимый для всех программистов
Метод сопоставления кэша и основной памяти
прямое картографирование
Самый низкий процент попаданий и самое короткое время, необходимое
установить ассоциативное отображение
Номер тега и группы образуют номер блока основной памяти.
Предполагая, что каждая группа имеет r строк кэша, это называется ассоциативным набором r-way. r действует как группа
Количество компараторов в кеше также равно r.
Емкость кэша (бит) = количество строк × (данные на строку, действительные биты, грязные биты, биты управления заменой, биты флагов)
Единицей каждой строки данных является бит.
Грязные биты (постоянное обслуживание)
Метод обратной записи
заменить бит управления
При использовании алгоритма замены этот бит При использовании стратегии случайной замены этот бит недоступен.
алгоритм замены
① Случайный алгоритм
② Алгоритм «первым пришел — первым вышел»
Сначала замените самую старую строку
③ Последний использованный алгоритм. (принцип локальности) ЛРУ
Заменить недавно посещенные строки
④ LFU используется реже всего
полностью ассоциативное отображение
Самый высокий процент попаданий и самое длительное время.
стратегия записи в кэш
①
Полный метод записи (прямое письмо)
Высокая безопасность
Запись процессора в кэш
Данные должны быть записаны в основную память и кеш одновременно. Если определенный блок необходимо заменить, перезапишите его новым блоком.
буфер записи
Чтобы сократить потери времени при записи непосредственно в основную память
ЦП записывает данные в кэш и буфер записи одновременно. Запишите буфер, а затем запишите его содержимое в основную память.
метод распределения без записи
Промах записи процессора в кеш
Запись в основную память не выполняет настройку блока
②
Метод обратной записи (метод обратной записи)
для интенсивного
Запись процессора в кэш
Записывает данные только в кеш, а не в основную память сразу Записывает в основную память только тогда, когда этот блок выгружается.
написать метод назначения
Промах записи процессора в кеш
Загрузите блок основной памяти в кеш, а затем обновите блок кеша.
Недостаток: каждый раз, когда происходит промах, блок должен быть прочитан из основной памяти.
виртуальная память
Логический адрес (виртуальный адрес) для пользовательского программирования Основная единица памяти — это физический адрес (реальный адрес).
Виртуальный адрес = номер страницы виртуальной памяти внутри страницы.
Реальный адрес = номер страницы основной памяти внутри страницы.
ЦП использует адреса виртуальной памяти, чтобы определить взаимосвязь между виртуальными и реальными адресами с помощью вспомогательного оборудования. Если он находится в основной памяти, через преобразование адреса Если его нет в основной памяти, он выгружается в основную память и доступен ЦП. Если основная память заполнена, используется алгоритм замены
Отсутствие совпадений окажет большое влияние на производительность системы.
Используйте полностью ассоциативное сопоставление для повышения частоты обращений.
Метод обратной записи
Невидимый для прикладных программистов, видимый для системных программистов
Классификация
страничная память
на страницах
таблица страниц
Найдите соответствующую запись таблицы страниц на основе номера виртуальной страницы в старших битах виртуального адреса.
Быстрый стол TLB
Состоит из ассоциативной памяти
Адресация контента
Используйте групповую ассоциативность или полностью ассоциативность.
Тег TLB
Полностью связанный номер виртуальной страницы
Установить старший бит номера ассоциативной виртуальной страницы
Многоуровневая система хранения
Связь между TLB, страницей и кешем
В TLB хранится частичная копия страницы.
В кэше хранится копия части основной памяти.
Если TLB попадает, страница должна попасть. Если TLB отсутствует, страница все равно может попасть. Если страница отсутствует, то должны отсутствовать и TLB, и кэш.
Промахи в кэше выполняются аппаратно. Отсутствие страницы завершается программным обеспечением (обработчик исключений отсутствия страницы операционной системы) Удаление TLB можно выполнить как аппаратно, так и программно.
сегментированная память
Номер сегмента, адрес сегмента, состав
Записи таблицы сегментов: ① первый адрес сегмента ② бит загрузки ③ длина сегмента
сегментированная память
Со страницей в качестве основной единицы передачи
① Номер раздела ② Номер страницы внутри раздела ③ Адрес внутри страницы
Глава четвертая инструкция
Архитектура набора команд ISA
Основное содержание: формат инструкции, тип и формат данных, способ хранения операндов, количество доступных программе регистров и их номера. Размер дискового пространства и режим адресации, режим адресации, режим управления выполнением инструкций и т. д.
Формат команды
Код операции OP Код адреса A
Длина слова инструкции является целым числом, кратным байтам.
Классификация
команда нулевого адреса
Только код операции
Инструкции по эксплуатации: нет операции, выключение, прерывание выключения. Арифметические инструкции используются в стековых компьютерах (операнды поступают с вершины стека и вершины второго стека).
одна адресная команда
Инструкция с одним операндом, имеющая только операнд-адресат
Результат сохраняется обратно на исходный адрес.
Инструкции с двумя операндами с неявно согласованными операндами-адресатами
Другой операнд предоставляется ACC посредством соглашения о неявной адресации. Результат операции сохраняется в ACC.
Две адресные инструкции
Укажите операнд назначения и исходный операнд
Результат сохраняется по адресу назначения операнда.
Три адресные инструкции
Укажите операнд назначения, исходный операнд и результат.
Доступ к памяти 4 раза: выборка инструкции один раз, выборка операнда 2 раза, сохранение результата один раз
Четыре адресные инструкции
оп, операнд назначения, операнд источника, результат, следующий адрес
Код операции составляет 8 бит, а 4 кода адреса — по 6 бит каждый.
Расширенный формат инструкции кода операции
① Короткий код операции не может совпадать с предыдущей частью длинного кода операции.
② Коды операций каждой инструкции не повторяются.
Режим расширения
Все единицы зарезервированы для следующего расширения инструкции адреса.
Тип операции
① Передача данных
② Арифметические и логические операции
③ Операция переключения
④ Операция передачи
безусловная передача
Выполнить в любом случае
условный перевод
Выполнение в определенных условиях
Разница между инструкциями по переводу и инструкциями по вызову
Вызывающая инструкция сохранит адрес следующей инструкции (адрес возврата). Инструкция передачи не возвращается к исполнению
⑤ Операции ввода и вывода
Инструкция по управлению программой
безусловная передача
условный перевод
вызов подпрограммы
Команда возврата
Инструкции по циклу
Привилегированные инструкции
Для операционных систем и системного программного обеспечения
Недоступно для пользователей
Режим адресации инструкций
адресация инструкций
последовательная адресация
Счетчик программ ПК 1, формирует следующую команду
пропустить адресацию
Реализуется посредством инструкций по передаче
Текущая инструкция изменяет значение ПК, а следующая инструкция по-прежнему передается через ПК.
Адресация данных
Классификация
неявная адресация
Другой операнд одноадресной инструкции может быть получен посредством неявной адресации, полученной из ACC.
спецификация программы
немедленная адресация
Поле адреса напрямую содержит сам операнд, используя представление дополнения до двух.
Удобный
Прямая адресация
ЕА=А
Число битов в A определяет диапазон адресации операнда.
Уменьшена длина команды
1 доступ
Косвенная адресация
ЭА = (А)
Один косвенный адрес требует двух обращений к памяти.
Облегчает расширение диапазона адресации
Зарегистрировать адресацию
ЕА = Ри
Сразу дайте номер реестра
Фаза выполнения не обращается к основной памяти, а только к регистрам.
Длина кода адреса мала (сокращена)
зарегистрировать косвенную адресацию
ЕА = (Ri)
Ri — это не операнд, а адрес основной памяти, в которой находится операция.
Требуется доступ к памяти
Операнды находятся в основной памяти
относительная адресация
ЕА = (ПК) А
A — смещение относительно текущего значения PC, выраженное в дополнении
для инструкций по переводу
1 доступ
базовая адресация
ЕА = (БР) А
Используется для многоканального проектирования, BR — это регистр базового адреса (видимый).
1 доступ
индексированная адресация
Эффективный адрес = формальный адрес Индексный регистр IX ЕА = (IX)А
Ориентированный на пользователя
Решение проблем с массивами
1 доступ
Адресация стека
последним пришёл первым ушёл
Представление кода машинного уровня
Формат сборки
формат AT&T
Первый — операнд-источник, второй — операнд-адресат. Направление слева направо, что естественно.
Регистры начинаются с префикса %, а непосредственные числа — с префиксом $.
Адресация памяти использует ()
формат Intel
Первый — операнд-адресат, второй — операнд-источник. Направление справа налево
Регистры и непосредственные номера не нуждаются в префиксе.
Адресация памяти использует [ ]
В сравнении
Общие команды
Формат Intel
глядя справа налево
Класс передачи данных
инструкция перемещения
Копирование значения в другое
например: mov eax, ebx Скопируйте значение ebx в eax
push-инструкция
отправить в стек
поп-команда
поп
Арифметические и логические операции
добавить/добавить команду
Сложение и вычитание
Сохраняем результат под первое число
например: сабвуфер, 10 eax - 10 → eax
инструкции inc/dec (приращение/уменьшение)
Самовозрастающая и самоубывающая
директива imul (умножение)
Умножение символьных чисел
Результат сохраняется в первом операнде, который должен быть регистром.
например: imul eax, [var] eax × [var] → eax
например: imul esi, edx, 25 25 × edx → esi
директива idiv (разделение)
Деление символьных чисел
Есть только один операнд, делитель
например: идив ebx
и/или/xor инструкции
И, ИЛИ, исключающее ИЛИ
Результат помещается в первый операнд
например: и eax, 0 fH Первые 28 бит eax равны 0, а последние 4 бита остаются неизменными.
не инструкция
немного перевернуть
0→1, 1→0
отрицательная инструкция (отрицательный)
Возьмите негатив
например: neg eax -eax→eax
команда шл/шр (сдвиг)
Логический сдвиг влево, логический сдвиг вправо
Первый операнд представляет объект выполнения. Второе число означает количество смен.
например: shl eax, 1 eax логически сдвигается влево на 1 бит shr ebx, cl ebx логически сдвигается вправо на n бит (n — значение в cl)
класс потока управления
команда jmp
инструкция по переводу
инструкция jcondition
инструкции по условному переводу
команда cmp/test
Размер значения сравнения cmp test выполняет побитовую операцию И над операндами
инструкция вызова/возврата
Вызов подпрограммы и возврат
CISC и RISC
ЦИСК
сложная система команд
РИСК
Оптимизированная система команд
В сравнении
глава пятая Процессор
Структура процессора
оператор
Блок арифметико-логических операций ALU
Арифметические и логические операции
блокнот
Временно хранить данные, считанные из основной памяти.
Регистр накопления АСС
Временно сохранить информацию о результатах ALU
Общий регистр X
Позволяет пользователям свободно программировать и хранить данные и адреса.
То же, что и длина машинного слова
видимый
Регистр слов состояния программы PSW
Сохраняйте различную информацию о состоянии результатов
видимый
оборотень
Выполнение операций сдвига над операндами или результатами операций.
Счетчик КТ
Контролируйте количество шагов операций умножения и деления.
контроллер
счетчик программ ПК
Указывает адрес хранения в основной памяти команды, которую необходимо выполнить.
Количество бит такое же, как количество бит адреса памяти. Адрес памяти зависит от емкости хранилища
видимый
Регистр инструкций IR
Сохраните текущую выполняющуюся команду
Та же длина, что и длина слова инструкции.
не могут быть заменены регистрами общего назначения
декодер инструкций
Раскодируйте опкод
Невидимый
регистр адреса памяти MAR
Сохраните адрес основного блока памяти
Невидимый
Регистр данных памяти MDR
Хранить информацию, записанную или прочитанную из основной памяти.
Невидимый
система синхронизации
Используется для генерации различных сигналов синхронизации.
Генератор сигналов
Функция процессора
Контроллер отвечает за координацию и контроль последовательности инструкций (выборка, анализ, выполнение) программы, выполняемой каждым компонентом компьютера. Калькуляторы обрабатывают данные
① Контроль инструкций, выполнение операций получения, анализа и выполнения инструкций.
② Управление работой
③ Контроль времени
④ Обработка данных
⑤ Обработка прерываний
Процесс выполнения инструкции
цикл инструкций
Время, необходимое для выборки и выполнения инструкции
Представлено несколькими машинными циклами
машинный цикл
Фиксированная длина
Нефиксированная длина
Выборка инструкций, косвенный адрес, выполнение, прерывание
цикл выборки
Извлеките код инструкции из основной памяти в соответствии с содержимым ПК и поместите его в ИК.
ПК сохраняет адрес инструкции. По этому адресу инструкция извлекается из соответствующего блока памяти и помещается в ИК.
ПК 1 во время загрузки
Инструкции автоматически загружаются машиной.
цикл косвенного адреса
Получить эффективный адрес операнда
Отправьте адресный код инструкции в MAR и на адресную шину. cu выдает команду чтения для получения эффективного адреса и, наконец, сохраняет его в MDR.
Два доступа
цикл выполнения
Возьмите операнд и выдайте результат посредством операции ALU в соответствии с кодом операции командного слова IR.
цикл прерывания
Обработка запроса на прерывание
План Действий
одиночный командный цикл
несколько циклов команд
Трубопроводное решение
путь к данным
Функция
Путь передачи данных между функциональными компонентами
Описывает, где начинается информация, через какой регистр или мультиплексор она проходит и в какой регистр она в конечном итоге передается.
контролируется блоком управления
Базовая структура
Режим внутренней одиночной шины ЦП
Внутренний многошинный режим ЦП
Входные и выходные порты всех регистров подключены к нескольким общим путям.
Подход к выделенному пути данных
Прочтите палец
(ПК)→МАР 1→Р МЕМ (МАРТ)→МДР (МДР)→ИК
(MDR)→МАР 1→Р МЕМ (МАРТ)→МДР (MDR)→Y (ACC) (Y)→Z (Z)→АСС
контроллер
проводной контроллер
устройство управления
ИК
Поле кода операции инструкции является входным сигналом для блока управления.
FR (Регистр флага)
Информация обратной связи от исполнительного блока
Тайминг
генератор битов
Сгенерируйте сигналы периода машины и сигналы биения
Блок управления также принимает сигналы управления от системной шины, такие как прерывания, DMA
Микрооперации
Несколько микроопераций могут быть выполнены за один машинный цикл.
принести
(ПК)→МАР 1→Р М(МАР)→МДР (МДР)→ИК (ПК) 1→ПК
косвенный адрес
Объявление(IR)→MAR 1→Р М(МАР)→МДР
осуществлять
неприемлемый
CLA
Очистить акк
Соглашение мэров
Отрицать
ШР
арифметический сдвиг вправо
CSL
Цикл влево
СТП
неисправность
Доступ
добавление Объявление(IR)→MAR М(МАР)→МДР (MDR) (ACC)→ACC Инструкция по хранению STA X Ad(IR)→MAR, 1→запись в память, запись (АКК)→МДР (МДР)→М(МАР) Инструкция по выборке LDA X Объявление(IR)→MAR,1→R М(МАР)→МДР (MDR)→ACC
передача
JMP X(безусловная передача) Ad(IR)→ПК БАН X (условный перевод)
метод управления
Синхронный метод управления
унифицированные часы
Асинхронный метод управления
Каждый компонент работает со своей собственной скоростью.
метод совместного контроля
Большинство используют синхронный режим, некоторые используют асинхронный.
микропрограммный контроллер
Используйте логику хранения для кодирования сигналов микроопераций
Машинная инструкция записывается как микропрограмма, и каждая микропрограмма содержит несколько микроинструкций. Машинную инструкцию можно разложить на последовательность микроопераций (самая основная и не подлежащая дальнейшему разделению).
Обычно один цикл микропрограммы соответствует одному циклу команды.
Это необходимо для обеспечения синхронизации всего сигнала управления машиной.
Микрокоманды хранятся в блоке памяти управления.
Микрокоманды — это сигналы управления микрооперациями, а микрооперации — это процессы выполнения микрокоманд.
Основная память используется для хранения данных и программ и реализуется вне ЦП с использованием ОЗУ. Управляющая память CM используется для хранения микропрограмм. Она реализована в ПЗУ (EPROM) внутри ЦП и доступна по адресу микрокоманды.
состав
процесс работы
получить микроинструкции
Из поля кода операции машинной инструкции компонент формирования микроадреса генерирует адрес записи микропрограммы, соответствующий машинной инструкции, и отправляет его в CMAR.
Получите по одной соответствующие микроинструкции из CM и выполните их.
Вернитесь по адресу записи микропрограммы и повторите операцию.
Кодирование
прямой контроль
Метод прямого кодирования поля
Поле микрокоманд разделено на несколько Взаимоисключающие микрокоманды размещаются в одном поле, а команды совместимости — в разных полях.
Все 0 означает отсутствие операции
Метод косвенного кодирования поля
Микрокоманда для одного поля интерпретируется микрокомандой для другого поля, Сократить длину слова микрокоманды
Способ формирования адреса микрокоманды
Метод решения
Выдается по адресу под микроинструкцией
Коды операций формируются на основе машинных инструкций
инкрементный счет
подписать закон
киберзакон
закон об аппаратном обеспечении
Формат микроинструкции
горизонтальные микрокоманды
Сильная возможность параллельной работы
Короткие сроки исполнения
вертикальные микрокоманды
Параллельно может выполняться только одна базовая операция.
долгое время выполнения
гибридные микроинструкции
В сравнении
Исключения и прерывания
аномальный
Неожиданные события, генерируемые внутри ЦП, называются исключениями (внутренними прерываниями).
Например: прерывание аппаратного сбоя (ошибка проверки памяти, ошибка шины) Программные исключения (деление на 0, переполнение, точка останова, одношаговая трассировка, недопустимая инструкция, переполнение стека, адрес за пределами границ, ошибка страницы)
Внутреннее прерывание — это немаскируемое прерывание.
Обнаружение аномалий выполняется самим процессором
Классификация
Программное прерывание (программное прерывание)
Вина
Отсутствует раздел
Отсутствует страница
Загрузите необходимые сегменты или страницы с диска в основную память и вернитесь к невыполненной инструкции, чтобы продолжить выполнение.
Недопустимый код операции
Делитель равен 0
Сбой не может быть восстановлен через обработчик исключений (обработчик все равно необходимо вызвать), выполнение не может быть возвращено в точку останова, и процесс завершается напрямую.
поймать себя в ловушку
Настройки точки останова для отладки программы. При выполнении этих инструкций. Автоматически вызывать программу ядра операционной системы для безусловного или условного выполнения.
Завершить (аппаратное прерывание)
Ошибка контроллера, ошибка проверки памяти и т. д.
Вызовите процедуру обслуживания прерываний и перезапустите систему.
Внешнее прерывание (аппаратное прерывание)
Устройство, внешнее по отношению к ЦП, которое выдает запрос на прерывание ЦП, называется прерыванием (внешнее прерывание).
Например: прерывание ввода-вывода, выданное устройством ввода-вывода (ввод с клавиатуры, в принтере закончилась бумага). Особое событие (пользователь нажимает клавишу esc, и таймер достигает времени)
ЦП должен получить информацию об источнике прерывания через линию запроса прерывания.
Классификация
Маскируемое прерывание (низкий приоритет)
Запрос прерывания, выдаваемый ЦП через маскируемую линию запроса прерывания INTR, ЦП может маскировать или не маскировать, устанавливая соответствующее слово маски в контроллере прерываний. Запросы маскированного прерывания не отправляются в ЦП.
Немаскируемое прерывание (высокий приоритет)
Например: отключение электроэнергии
Запрос прерывания, выдаваемый ЦП через выделенную немаскируемую линию запроса прерывания NMI
процесс ответа
Весь процесс ответа не может быть прерван
Отключить прерывания
Отключите соответствующие новые прерывания, установив бит разрешения прерывания IF-триггер.
Сохранение точек останова и состояния программы
Чтобы иметь возможность вернуться на прерванное место для продолжения выполнения после завершения обработки исключения и прерывания.
Определите исключения и прерывания и перейдите к соответствующей программе.
Метод идентификации
Идентификация программного обеспечения
ЦП устанавливает регистр состояния исключения для записи причины исключения. Запросите регистр состояния исключений в порядке приоритета, а затем перейдите к соответствующему обработчику в ядре.
Идентификация оборудования
векторное прерывание
Первый адрес исключения или прерывания называется вектором прерывания. Все векторы прерываний помещаются в таблицу векторов прерываний. Каждое прерывание или исключение соответствует номеру типа прерывания.
конвейер инструкций
определение
Инструкция разделена на несколько этапов, каждый этап завершается соответствующим функциональным компонентом.
Требовать
Инструкции должны быть одинаковой длины. Обычный формат команды Используя инструкции загрузки/сохранения, никакие другие регистры не могут получить доступ к памяти. Данные и инструкции выровнены в памяти
Приключение на конвейере
① Структура приключения
Несколько инструкций одновременно конкурируют за один и тот же ресурс.
Решение 1) Приостановить последующие инструкции 2) Настройте память данных и память инструкций отдельно.
② Информационное приключение
Следующая инструкция будет использовать результат вычислений текущей инструкции, и эти две инструкции вызовут конфликт данных.
читать после записи
Прочитайте и напишите
писать за написанием
Решение 1) Приостановить инструкции и последующие инструкции, которые сталкиваются с конфликтами, связанными с данными, на один или несколько циклов. 2) Настроить соответствующие пути передачи данных (технология обхода данных) и быстро отправлять результаты операции в реестр, как только они будут получены. 3) Настройте порядок инструкций
③ Управляйте приключением
Инструкции по переводу, звонки, возвраты и т. д. изменят значение ПК и приведут к прерыванию потока.
Решение 1) Прогнозировать ветки для инструкций передачи и генерировать целевые адреса передачи как можно раньше. 2) Предварительная выборка целевых инструкций в двух направлениях потока управления: успешная и неудачная передачи.
Показатели работы трубопровода
Пропускная способность трубопровода
Ускорение конвейера
Передовые трубопроводные технологии
суперскалярный конвейер
Динамическая многоэмиссионная технология
В сочетании с технологией динамического планирования конвейеров, посредством динамического прогнозирования ветвей и других средств. Несколько независимых инструкций могут выполняться одновременно за такт.
Технология очень длинных командных слов
Статическая многоэмиссионная технология
Объедините несколько инструкций, которые могут работать параллельно, в одно очень длинное командное слово с несколькими кодами операций.
Супертрубопроводная технология
Функциональные сегменты делятся на более
мультипроцессор
Один поток команд, один поток данных SISD
сериал
Один процессор и одна память
последовательное исполнение
Один поток команд, несколько потоков данных SIMD
Технология параллельного обмена данными
векторный процессор
Один поток данных с несколькими командами MISD
не существует
Множественные инструкции, множественные потоки данных MIMD
параллельные вычисления
Аппаратная многопоточность
Детальная многопоточность
Многопоточность требует очередей и перекрестного выполнения
Аналогично вращению интервала времени
Грубая многопоточность
Переключайте потоки только тогда, когда один поток имеет большие накладные расходы.
Одновременная многопоточность
В одном и том же такте для выполнения выдаются несколько инструкций в нескольких разных потоках.
мультипроцессор с общей памятью (СМП)
Совместно используя физическое адресное пространство, вы можете запускать программы независимо в своем собственном виртуальном адресном пространстве.
Единый доступ к хранилищу UMA
Как процессор подключен к общей памяти
Неравномерный доступ к хранилищу NUMA
Комбинированные логические схемы и последовательные логические схемы
Комбинационные логические схемы не имеют единого тактового управления. Схемы последовательной логики должны работать в тактовом режиме.
Схемы комбинационной логики не содержат ячеек памяти для хранения сигналов. Последовательные логические схемы содержат ячейки памяти, в которых хранятся сигналы.
Глава шестая автобус
Линия передачи общедоступной информации, которая может совместно использоваться несколькими компонентами с разделением времени.
Отправьте вовремя, получите одновременно
Классификация автобусов
Внутрикристальная шина
Автобус внутри чипа
системная шина
адресная шина
Односторонняя шина, используемая ЦП для выбора адреса блока основной памяти и адреса порта ввода-вывода, и не может быть передана обратно.
Шина данных
Передача данных данных, двусторонняя линия
шина управления
Шина ввода/вывода
Подключайте устройства ввода-вывода с низкой и средней скоростью.
кабель для передачи данных
Регистр буфера данных передачи, содержимое регистра команды/состояния
адресная строка
Адрес порта для передачи данных, которыми обменивается ЦП.
линия управления
Отправка сигналов чтения и записи
коммуникационная шина
внешняя шина
Шина, которая передает информацию между компьютерными системами или между компьютерными системами и другими системами.
Структура системной шины
Единая шинная структура
Двойная структура шины
Шина основной памяти используется для передачи данных между ЦП, основной памятью и каналами. Шина ввода-вывода используется для передачи данных между внешними устройствами и каналами.
Три автобуса
основная шина памяти Шина ввода-вывода Автобус DMA
стандарт автобуса
ЭТО
Стандартная архитектура отрасли
ЕИСА
расширенный isa для 32-битных процессоров
ВЕСА
Ассоциация стандартов видеоэлектроники 32-битная местная шина
PCI
Соединение внешних устройств
Высокопроизводительная 32- или 64-битная шина
подключи и играй
Принадлежит местному автобусу
АГП
ускоренный графический порт
Принадлежит местному автобусу
PCI-E
Новейшие стандарты интерфейсов шины
сериал
Замените PCI, AGP.
RS-232C
шина последовательной связи
USB
универсальная последовательная шина
PCMCIA
Интерфейс ноутбука
IDE
интегральная схема устройства
SCSI
интерфейс небольшой компьютерной системы
САТА
серийная передовая технология
Производительность
Цикл пересадки на автобусе
Состоит из нескольких тактов шины.
Тактовый цикл шины
Рабочая частота шины
= тактовая частота/N
тактовая частота шины
Обратная величина тактового периода шины
пропускная способность шины
= Рабочая частота шины × (ширина шины/8)
автобусная транзакция
просить
арбитраж
обращение
передача инфекции
освобожден
Пакетная передача (пакетная передача)
Сначала отправьте адрес, а затем данные Вам нужно передать адрес только один раз, а последующие данные передаются непрерывно.
Режим синхронизации
Синхронный режим синхронизации
В системе используется единый тактовый сигнал.
Высокая эффективность передачи
Низкая надежность
Асинхронный режим синхронизации
Синхронизация по сигналу рукопожатия
Нет режима блокировки
Полублокировочный метод
Метод полной блокировки
Автобусный арбитражный контроль (автобусный арбитраж)
централизованный
цепь
схемотехника
Устройство, ближайшее к шине, имеет наивысший приоритет.
Легко расширить оборудование
Чувствителен к неисправностям в цепи
Используйте только два провода, чтобы определить, какую шину использует устройство.
Счетчик времени
схемотехника
Счет начинается с 0
Фиксированный приоритет
Отсчет начинается с конечной точки
Приоритеты равны
Значение счетчика задается программой
переменный приоритет
Комплексный контроль
Возьмите log₂n строк
независимый запрос
схемотехника
быстрый ответ
Гибкое управление приоритетами
Управление автобусом сложное
Возьмите 2n строк
распределенный
Логика управления рассредоточена по различным устройствам, подключенным к шине.
Глава VII ввод, вывод
система ввода-вывода
оборудование ввода-вывода
Устройства ввода-вывода подключаются к системной шине материнской платы через контроллер устройства.
внешнее устройство
Устройство ввода
клавиатура мышь
устройство вывода
монитор
Размер экрана
разрешение
Оттенки серого
Разница в цвете, чем больше уровней серого, тем реалистичнее изображение.
8-бит (256 уровней) → 256 цветов
обновить
Частота обновления
память дисплея
Емкость видеопамяти = разрешение × количество бит оттенков серого. Пропускная способность видеопамяти = разрешение × количество бит оттенков серого × частота кадров.
принтер
Классификация по методу работы
матричный принтер
Матричный принтер
Струйные принтеры
лазерный принтер
В компьютере внутренний код китайских иероглифов занимает 2 байта в основной памяти.
интерфейс
Логическое устройство, которое координирует передачу данных между периферийными устройствами и хостом.
Устройство ввода
устройство вывода
Внешнее хранилище
программное обеспечение ввода-вывода
Водитель
Пользовательская программа
программа управления
метод управления вводом-выводом
Метод запроса программы
ЦП постоянно проверяет готовность устройства ввода-вывода с помощью программы.
Как только ЦП запускает ввод-вывод, он должен остановить выполнение текущей программы.
Функции
Процессор имеет явление пошагового ожидания
Продолжайте повторять ту же операцию до завершения
Последовательная работа ЦП и ввода-вывода
Режим прерывания программы
Когда устройство ввода-вывода будет готово, выдайте запрос на прерывание процессору.
Функция
Параллелизм ЦП и ввода-вывода
Обработка аппаратных сбоев, программных ошибок
взаимодействие человека с компьютером
Несколько программ, операции разделения времени
процесс работы
Реакция на прерывание происходит в конце выполнения инструкции.
запрос на прерывание
Арбитраж ответа на прерывание
Немаскируемое прерывание → Внутреннее исключение → Маскируемое прерывание
Условия реакции на прерывание
Источник прерывания имеет запрос на прерывание
Прерывание открытия процессора
Инструкция выполняется
вектор прерывания
Адрес входа программы прерывания
Определить тип прерывания
После того, как ЦП реагирует на прерывание, он получает номер типа прерывания, идентифицируя источник прерывания, и вычисляет адрес соответствующего вектора прерывания. Затем по этому адресу адрес входа программы обслуживания прерываний извлекается из таблицы векторов прерываний, а затем отправляется на ПК, после чего выполняется программа обслуживания прерываний.
приоритет ответа
Выполнено через аппаратную очередь
приоритет обработки
Динамическая настройка с использованием технологии маскировки прерываний
слово маски прерывания
Процесс обработки прерываний
несколько прерываний
режим DMA прямой доступ к памяти
Прямой путь данных между основной памятью и устройствами ввода-вывода
Между основной памятью и интерфейсом DMA существует прямой путь данных.
логический путь
Метод управления передачей информации полностью аппаратным способом.
Во время передачи данных определение адреса основной памяти осуществляется непосредственно аппаратной схемой.
Основная память должна открывать специальный буфер для своевременного предоставления и получения периферийных данных.
DMA должен быть предварительно обработан программой перед передачей и обработан прерыванием после завершения передачи.
Ответ DMA происходит после транзакции шины, и DMA имеет больший контроль, чем ЦП.
метод передачи DMA
1) Остановить доступ процессора к памяти
2) Периодическое присвоение
3) DMA и CPU поочередно обращаются к памяти
Процесс передачи DMA
1) Предварительная обработка занимает процессор ЦП завершает необходимые приготовления
Среди них DMA не может напрямую связаться с пользовательской программой и использует драйвер устройства в качестве посредника.
2) Передача данных не занимает процессор. Полностью контролируется аппаратным обеспечением DMA
3) Постобработка занимает процессор. Контроллер DMA отправляет запрос на прерывание процессору
режим канала
Когда хост выполняет команду ввода-вывода, он запускает соответствующий канал, выполняет программу канала и завершает операцию ввода-вывода.
Канальный процессор, сопроцессор, специально используемый для управления вводом-выводом, с функциями прерывания, прямого доступа к памяти и программного управления.
Программа канала находится в оперативной памяти, выполняется каналом и может быть выполнена только в системе ввода-вывода с каналом.
Наиболее эффективным
интерфейс ввода-вывода (контроллер ввода-вывода)
Функция
Расшифровка адреса, выбор устройства
Связь между хостом и периферийными устройствами
буфер данных
Преобразование формата сигнала
Передача команд управления и информации о состоянии
Базовая структура
Интерфейс ввода-вывода подключен к памяти и процессору через шину ввода-вывода на стороне хоста.
Порты — это регистры, используемые для чтения и записи в интерфейсных схемах. Несколько портов и логика управления вместе образуют интерфейс.
Инструкция ввода-вывода — это привилегированная инструкция, которая используется базовым программным обеспечением ввода-вывода ядра операционной системы.
тип
Разделяется по способу передачи данных
сериал
параллельный
Разделено по методу управления
программный интерфейс
Интерфейс прерываний
DMA-интерфейс
Разделено по функциям
Программируемый
Не программируемый
порт ввода-вывода
Память, доступ к которой осуществляется напрямую ЦП в схеме интерфейса.
Адресация
Единая адресация
отображение памяти
Отличить от кода адреса
Рассматривайте порты ввода-вывода как единицы хранения для распределения адресов.
Используйте унифицированные инструкции доступа к памяти для доступа к портам ввода-вывода.
Независимая адресация
Метод сопоставления ввода-вывода
Настройте специальные инструкции ввода-вывода для доступа
При выполнении инструкции ЦП использует адресные строки для выбора порта ввода-вывода. Используйте линии данных для передачи данных между регистрами ЦП и портами ввода-вывода.