Структура и принцип функционирования ЭВМ. Порядок функционирования простого процессора на примере калькулятора

Структура и принцип функционирования ЭВМ

Типичная ЭВМ (построенная по архитектуре фон Неймана) состоит из трех главных узлов:

  • Процессор (CPU): включает в себя АЛУ (арифметико-логическое устройство), Устройство Управления (УУ, декодирует команды и переключает нужные вентили) и набор регистров (сверхбыстрая память для текущих операндов).

  • Память: хранит как исполняемые программы (инструкции), так и данные, из-за чего по ячейке так сразу и не скажешь, будет она командой или данными - может быть и тем, и другим. Состоит из пронумерованных (адресуемых) ячеек.

  • Устройства ввода-вывода (ВУ): обеспечивают связь ЭВМ с внешним миром.

Все эти узлы соединены системной шиной, состоящей из шины данных, шины адреса и шины управления.

Функционирование ЭВМ — это непрерывный цикл: процессор извлекает команду из памяти (по адресу из счетчика команд), декодирует её, при необходимости извлекает операнды, выполняет действие в АЛУ, сохраняет результат и переходит к следующей команде.

Порядок функционирования на примере калькулятора

Рассмотрим простейшую ЭВМ — калькулятор. Его структура включает:

  • Регистр X: связан с дисплеем (показывает текущее введенное число или результат).
  • Регистр Y: хранит предыдущее число (операнд памяти).
  • АЛУ: умеет складывать и сдвигать.
  • УУ (Устройство управления): реагирует на кнопки и посылает сигналы (У1, У2…) на открытие нужных вентилей.

Далее идут три слайда из презы №1, которые все переписать на экзе не получится уж точно. Выберите себе самый удобный для Вас вариант и потактово распишите (ну или хотя бы нарисуйте схемку с пояснениями).

Пример 1: Ввод первой цифры числа (например, нажали «7»)

Если пользователь начинает вводить новое число, УУ должно сохранить старые данные и подготовить Регистр X. 1. Содержимое Регистра X пересылается в Регистр Y (открывается вентиль У3). Этот шаг необходим для сохранения 1-го аргумента при операциях +,-, * и т.д. 2. Регистр X обнуляется: вентили У2 и У6 открываются, записывая 0 в X. 3. АЛУ складывает X (в котором сейчас 0) с введенной цифрой «7» (открыты вентили У1, У5, задана операция сложения У7). 4. Результат записывается в Регистр X (У2).

Пример 2: Ввод второй (и последующих) цифр числа

Если мы продолжаем вводить число (например, после «7» нажимаем «5»), УУ должно сдвинуть уже введенные данные влево (умножить на 10) и добавить новую цифру. 1. Содержимое Регистра X через вентиль У1 поступает на левый вход АЛУ. Вентиль клавиатуры У5 закрыт (на правый вход идет 0). 2. Выполняется операция сдвига (У8). Результат через У2 пишется обратно в X (теперь там 70). 3. Сдвинутое значение снова подается на АЛУ (У1), а вентиль клавиатуры У5 открывается, пропуская цифру «5» на правый вход. 4. АЛУ складывает 70 и 5 (У7). Результат сохраняется в X (У2) и отображается на экране (75).

Пример 3: Операция сложения (нажали кнопку «+» или «=»)

Нужно сложить текущее число на экране (Регистр X) с числом, сохраненным ранее (Регистр Y). 1. УУ открывает вентиль У1 (содержимое X идет на левый вход АЛУ) и вентиль У4 (содержимое Y идет на правый вход АЛУ). Вентиль клавиатуры У5 строго закрыт. 2. УУ подает на АЛУ приказ выполнить сложение (У7). 3. Результат суммы через открытый вентиль У2 записывается в Регистр X. Экран аппаратно отображает новое значение.