Введение в информатику Е.А.Яревский физический факультет СПбГУ

advertisement
Введение в информатику
Е.А.Яревский
физический факультет
СПбГУ
2015
Лекция 5
Архитектура и устройство компьютера
История развития ЭВМ
1) 1642-1945 – Механические компьютеры
2) 1945-1955 – Электронные лампы (1е поколение)
Burks A. W., Goldstine H. H., Neumann J.
Preliminary Discussion of the Logical Design of an Electronic Computing
Instrument. — Institute for Advanced Study, Princeton, N.J., July 1946.
3) 1955-1965 — Транзисторы (2е поколение)
4) 1965-1980 — Интегральные схемы (3е поколение)
5) 1980-? — Сверхбольшие интегральные схемы (4е поколение)
6) Невидимые компьютеры (пятое поколение)
Таненбаум Э. Архитектура компьютера (2007).
Архитектура вычислительной машины (архитектура
ЭВМ, англ. Computer architecture) — структура вычислительной
машины, определяющая обработку информации и включающая
методы преобразования информации в данные и принципы
взаимодействия технических средств и программного обеспечения.
Архитектура фон Неймана:
принцип совместного хранения программ и данных
в памяти компьютера
Принципы фон Неймана
Принцип двоичного кодирования
Вся информация кодируется с помощью двоичных сигналов и
разделяется на единицы, называемые словами.
Принцип однородности памяти
Программы и данные хранятся в одной и той же памяти.
Принцип адресуемости памяти
Структурно основная память состоит из пронумерованных ячеек;
процессору в произвольный момент времени доступна любая ячейка.
Принцип последовательного программного управления
Программа состоит из набора команд, которые выполняются
процессором автоматически друг за другом в определенной
последовательности.
Счетчик (указатель) команд.
Принцип жесткости архитектуры
Неизменность ВМ в процессе работы
Тракт данных фон-Неймановской машины
Система команд процессора
Машинная команда (машинная инструкция) – закодированное в
двоичном виде указание процессору на выполнение определенного
действия по обработке информации.
Системой команд процессора называется полный набор
машинных команд, который может выполнить данный процессор.
Этапы выполнения машинной команды:
выборка-декодирование-выполнение действия
Машинная команда может содержать:
 код выполняемой операции (КОП, всегда!)
 операнды и/или их адреса
 указания о размещении результата
 ссылку на следующую команду
Адресность машинных команд
Команды могут быть:
1) Трехадресные команды
КОП А1 А2 А3
А1, А2 – операнды, А3 – результат
2) Двухадресные команды
КОП А1 А2
А1, А2 – операнды, результат – на место А1 или А2
3) Одноадресные команды
КОП А1
А1 – операнд, А2 и результат – в аккумуляторе
4) Безадресные команды
КОП
Операнды или не нужны, или в заранее определенных местах.
Режимы адресации в командах
Адресация – способ задания расположения операндов в команде.
Существует несколько десятков различных режимов адресации,
являющихся вариациями основных четырех способов:
1) Непосредственная адресация – сам операнд (его код) включается
в машинную команду как её составная часть
2) Прямая адресация – операнд находится в ячейке памяти, а в
команде указывается адрес этой ячейки
3) Регистровая адресация – операнд находится в регистре
процессора, а в команде указывается код регистра (по сути,
разновидность прямой адресации).
В большинстве архитектур – самый распространенный режим.
4) Косвенная адресация – операнд находится в ячейке памяти, а в
команде указывается некая информация, позволяющая однозначно
определить адрес этой ячейки.
Аисп = F(Аком)
Например, адрес хранится в регистре (косвенная регистровая адр.)
Примеры команд процессора i8086
Всего 98 команд (более 3800 модификаций):
19 команд передачи данных, 38 команд обработки,
24 команды перехода и 17 команд управления
7 режимов адресации.
Безадресные команды
Одноадресные (регистровые) команды
Форматы машинных команд процессора i8086
Группы (категории, типы)
машинных команд
1) Арифметические и логические операции над данными
(ADD, AND, MUL ...)
2) Команды перемещения данных (часто - копирование!)
(MOV, XCHG …)
3) Команды управления (сравнения, условные переходы, вызовы
процедур...)
(CMP, JMP, CALL ...)
4) Команды ввода-вывода
а) программируемый ввод-вывод с активным ожиданием
Порт ввода-вывода (буфер памяти, работающий через „окно“
- специальную ячейку памяти).
Проверяется информация о состоянии устройства (опрос).
б) ввод-вывод с управлением по прерываниям.
Прерывание – запрос на совершение операции обмена
данными со стороны внешнего устройства или
выполняющейся программы.
(IN, OUT)
в) ((Ввод-вывод с прямым доступом к памяти. Фактически,
вспомогательное специализированное устройство.))
5) Обслуживающие и вспомогательные команды
(NOP, HLT, ...)
ЛИТЕРАТУРА
1) Степанов А.Н. Архитектура вычислительных систем и
компьютерных сетей (Питер, 2007).
2) Таненбаум Э. Архитектура компьютера. 5-е изд., СПб.:
Питер, 2007. [Гл.1,2].
3) Бройдо В.Л., Вычислительные системы , сети и
телекоммуникации, (Питер, 2-е издание, 2004), Глава 1.
4) Хорошевский В.Г. Архитектура вычислительных систем
(2008).
5) Макарова Н.В., Волков В.Б. Информатика: учебник для вузов,
(СПб.: Питер, 2011).
Download