Введение в информатику Е.А.Яревский физический факультет СПбГУ 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).