notes

Архитектура вычислительной системы.

Принципы Фон-Неймана

  1. Адрессность - все данные хранятся в ячейках памяти. Каждая ячейка пронумерованна. Процессор может получить и записать данные в память используя адрес ячейки.
  2. Однородность памяти - данные и команды хранятся в одой и той же памяти и не разделяются.
  3. Программное управление - управление вычислительным процессом осуществляется посредством заранее загруженного в память сценария (программы). Программа представляет из себя набор последовательных инструкций и данных.
    1. На центральном процесоре существуют специальный указатель (Instruction Pointer), который указывает на адресс текущей исполняемой инструкции.
    2. Типы команд
      • Вычислительные: х + у, x or y
      • Запись/чтение из памяти
      • Команды переходов: переназначение на IP другого адреса

Компоненты вычислительной системы

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

    Computer system components

  6. Память и CPU связанны между собой 2 шинами:
    • Шина данных - служит для передачи данных
    • Шира адреса - служит для установки адреса по которому нужно прочитать\записать данные.

      CPU Memory

  7. Пример работы вычислительной системы

Организация ввода-вывода

  1. Процессор связан с памятью по средством шины.
  2. Набор адресов на шине - это адресное пространство.
  3. Адресное пространство шины больше чем адресное пространство памяти. К примеру у шины [0, FFFF], причем память занимает только пространство [1FFF, FFFF].
  4. Часть адресного пространства не связанного с физической памятью используется для ввода\вывода. (К примеру [0000, 00FF]).
  5. Выделяеют два способа организации i\o.
    • На адресной шине устанавливается номер порта, который соответствует устройству. После этого данные переданные по шине данных идут к устройству.
    • Часть не занятого адресного пространства шины мапится на память устройств. При передачи данных по адресам из этого пространства, данные передаются к соответствующему устройству.

Прерывания

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

    Прерывание

  3. Прерывания бывают:
    • Синхронные - возникают внутри процессора и связанны с ошибками внутренней логики. К примеру, обращение по указателю к несуществующей памяти, деление на 0 и т.д.
      • Подаётся сигнал на контакт NMI
      • Процессор безусловно прерывает свою работу
      • Процессор переходит к обработчику прерывания
    • Асинхронные (внешние) - сигналы приходящие от других устройств.
      • Внешнее устройтво подаёт сигнал на контакт INT R и ждёт когда процессор будет готов его обработать
      • В этот момент на шине данных выставлен номер обработчика прерываний
      • Когда процессор готов обработать данное прерывание он подаёт сигнал на INT A и вызвыает обработчик взяв адрес из шины.
    • Программные - иногда выполняемая на CPU программа требует помощи других устройств (к примеру вывести данные на экран), тогда программа может попросить процессор прерваться и вызвать обработчик прерывания.
  4. Контроллер прерываний служит для того чтобы упорядочивать работу нескольких устройств. К тому же, у процессора всего 3 контакта для прерываний, а устройств может быть много.
    • Устройства подсоединяются к контроллеру, контроллер к процессору
    • Когда устройство посылает сигнал на контроллер прерываний, контроллер выставляет на адресной шине номер устройства и посылвает на процессор сингнал на INT R контакт
    • Процессор получает по номеру устройства его обработчик прерывания и выполняет его когда будет возможность.
  5. Таблица в которой хранятся адреса обработчиков прерываний называется таблицей прерываний. Один ряд такой таблицы называется вектором прерывания.

Процесс загрузки ОС

  1. Когда включается PC начинает работать тактовый генератор.
  2. Процессор “просыпается” и начинает выполнять программу старта (программа и её адрес зашиты на этапе производства)
  3. Программа старта состоит из
    • POST (Power-On Selft-Test) - набор примитивных тестов, дающих ответ на вопрос - готова ли система начать загружаться.
    • BIOS (Basic Input Output System)
      • Определить какие устройства есть
      • Пронумировать устройства на шинах
      • Содержит набор стандартных обработчиков прерываний
      • Ищет первый жесткий диск (согласно предустановленному порядку)
      • Считывает первый блок загрузочного диска в память
      • Первый блок диска содержи т:
        • таблицу разделов
        • один из этих разделов может быть активным (загрузочным)
        • Запускает загрузчик
    • Загрузчик ОС:
      • переходит в защищеннё режим
      • загружает ядро ОС