Понятие многоуровневой ЭВМ. Понятие и пример программы на разных уровнях
Понятие многоуровневой ЭВМ
Современные вычислительные системы слишком сложны, чтобы программировать их напрямую на физическом уровне (управлении транзисторами и логическими вентилями). Для решения этой проблемы архитектура ЭВМ строится по иерархическому принципу в виде набора логических уровней.
Каждый уровень представляет собой виртуальную машину со своим собственным языком программирования.

Иерархия уровней ЭВМ и пример программы
Для демонстрации работы уровней рассмотрим задачу сложения двух чисел: .
Уровень 5: Уровень программных систем
Уровень прикладного ПО и специализированных языков программирования (например, формулы в Excel). Пользователь работает в абстрактной визуальной среде.
Пример: формула в ячейке =СУММ(X; Y).
Уровень 4: Уровень проблемно-ориентированных задач (Языки высокого уровня)
Языки программирования общего назначения (C, C++, Java, Python). Они независимы от конкретной аппаратной архитектуры процессора и ориентированы на удобство человека. Пример на языке C:
int r = x + y;Уровень 3: Язык Ассемблера
Символическое представление машинных команд конкретного процессора. Каждой строке ассемблерного кода соответствует ровно одна машинная команда. Компилятор (ассемблер) переводит имена переменных в реальные адреса памяти. Пример:
LD X ; Загрузить значение X в аккумулятор
ADD Y ; Сложить с Y, результат в аккумуляторе
ST R ; Сохранить результат в ячейку RУровень 2: Уровень машинных команд
Уровень двоичных (или шестнадцатеричных) кодов, которые физически считываются процессором из ОЗУ. Это интерфейс между программным обеспечением и аппаратной частью. Пример:
--- Память
001: (содержимое X)
002: (содержимое Y)
003: (содержимое R)
--- Команды
010: A001 (LD X)
011: 4002 (ADD Y)
012: E003 (ST R)Уровень 1: Микропрограммный уровень
Самый низкий программный уровень. Каждая машинная команда уровня 2 интерпретируется на уровне 1 как последовательность микрокоманд. Микрокоманды напрямую управляют вентилями процессора, АЛУ и регистрами в течение каждого такта генератора.
Пример микрокоманды сложения (ADD):
32 0010E09011 — операционная микрокоманда БЭВМ, которая подключает выходы AC и DR к АЛУ, выполняет сложение и записывает результат обратно в AC с обновлением флагов.