От вычислителя к ЭВМ

«Естественное» происхождение архитектуры фон Неймана.

Как превратить калькулятор в ЭВМ

ЭВМ: электронно-вычислительная машина

  1. Электронная элементная база
  2. Не механическая, и, что важнее, — не аналоговая
  3. Агрегат производит вычисления
    • Вероятно, и передачу/хранение?
  4. Вычисления машинные
    • Алгоритмические?
    Электронно-вычислительный агрегат — 1, 2:
    • Клавиатура для ввода
    • Чисел
    • Действий с числами
  5. Дисплей для вывода чисел
  6. Работа:
    • ручной ввод чисел и действий над ними,
    • запоминание промежуточных результатов «на бумажке»
    Чего не хватает для алгоритмических вычислений? Смотрим определение алгоритма: «описание последовательности действий, выполнение которых за конечное число шагов приведет к решению поставленной задачи» Всего хватает, но многое не машинизировано

Запись алгоритма

Алгоритм надо записывать, хранить и выполнять

  1. Память для команд

  2. Порядок выполнения команд из памяти

  3. ⇒ (требование алгоритмизации) возможность выполнять или не выполнять команды в зависимости от свойств данных (ветвление) Ограничения возможной реализации

    1. Команды хранятся в памяти пронумерованные (т. н. адреса ячеек памяти)

  4. Команды выполняются подряд (в порядке номеров)
  5. Вводятся дополнительные команды:

    • проверки свойств данных (сравнение как минимум)

    • переход по адресу команды в зависимости от проверок

    • в т. ч. переход назад для циклов
    Другие варианты реализации:
    • условное выполнение
  6. параллельное выполнение независимых команд
    • что такое «независимых»?
  7. граф выполнения вместо последовательности (связи между блоками команд вместо адресов)

Хранение данных

Что делать с данными в процессе выполнения?

Упрощённая схема ЭВМ

Итак, в дополнение к вычислителю нам понадобятся:

Работа А.Беркса, Г.Голдстайна и Д.Неймана «Предварительное рассмотрение логической конструкции электронного вычислительного устройства» не вводит явно этих принципов. но подразумевает:

Обратите внимание на то, что хранение данных во ВЗУ по сути мало чем отличается от ввода-вывода.

Алгоритм работы фон-неймановской ЭВМ

SimpleComp.svg

  1. Ввод программы в память
    • => ПЗУ

  2. Выполнение начинается с определённого адреса
  3. УУ считывает команду по адресу из памяти
  4. УУ интерпретирует команду:
  5. УУ считывает данные из памяти (при необходимости)
  6. АЛУ выполняет команду
  7. УУ записывает данные в память (при необходимости)
  8. УУ определяет адрес следующей команды (прибавляя к текущему адресу команды фиксированное смещение; в т. н. командах перехода адрес задаётся явно)

  9. Переход к п. 3

Немного терминологии:

Регистры
Внутренние ячейки памяти АЛУ. Регистры могут явно указываться в командах или присутствовать неявно. Все термины ниже — не универсальные. Возможны варианты и отклонения.
Машинное слово
Адресуемая ячейка памяти, хранящая число.
  • В классической архитектуре фон Неймана (т. н. Принстонской) невозможно отличить, является ли это число командой или данными (например, целочисленной константой). В оперативной памяти хранится и то, и другое.

  • В т. н. Гарвардской архитектуре память данных и память команд строго разделены. В чистом виде среди процессоров общего назначения не встречается.

Адрес
Номер ячейки. Адреса обычно идут подряд, нумерация начинается с нуля. Нередко нумеруются не сами ячейки (машинные слова), а составляющие их байты. В этом случае в этом случае адрес машинного слова кратен его размеру в байтах.
  • Чем больше ячеек памяти, тем длиннее адрес => тем больше размер ячейки.

Такт работы ЭВМ
Циклическая часть работы ЭВМ (п. 3 - 9). Однако часто бывает, что операции с памятью данных, памятью команд и регистрами идут параллельно.
Шина
Устройство передачи данных между узлами ЭВМ. Как правило, шин несколько: например, для записи в память надо передавать два вида информации — адрес и содержимое. Для внешних устройств может быть своя шина.

LecturesCMC/ArchitectureAssemblerProject/00_Intro (last edited 2024-07-07 23:11:44 by FrBrGeorge)