- •Московский государственный институт электроники и математики
- •Архитектура эвм и систем
- •Содержание
- •Основные сокращения:
- •Введение
- •Конвейер команд
- •Архитектура эвм и языки программирования
- •Аппаратное и программное обеспечение для разработки системы контроля и управления объектами
- •Функциональная структура эвм Фон-Неймана
- •Каноническая структура эвм Фон-Неймана
- •Процессор
- •Вычислитель
- •Спецпроцессор
- •Определение эвм
- •Реализация моделей вычислителя
- •Понятие архитектуры эвм
- •Определение и понятия архитектуры эвм
- •Общее определение архитектуры средств обработки информации
- •Семейство эвм
- •Архитектурное сходство и родство представителей семейства
- •Поколения эвм
- •Показатель эффективности архитектурных свойств эвм.
- •Первое поколение (1949-1951[формирование поколений])
- •Второе поколение (1955-1966[формирование поколений])
- •Третье поколение эвм (1963 – 1965[формирование поколений])
- •О новшествах в машинах 3-его поколения:
- •Сравнительные характеристики эвм 1-3го поколения.
- •Конструктивно-технологический и функциональный признаки свт.
- •Признаки поколения свт.
- •Понятие архитектуры современного x86-процессора
- •Архитектура как совместимость с кодом
- •Архитектура как характеристика семейства процессоров
- •64-Битные расширения классической x86 (ia32) архитектуры
- •Процессорное ядро
- •Различия между ядрами одной микроархитектуты
- •Ревизии
- •Частота работы ядра
- •Микроархитектура процессоров Intel Itanium 2
- •Языки программирования
- •Поколения языков программирования
- •Первое поколение
- •Второе поколение
- •Третье поколение
- •Четвертое поколение.
- •Пятое поколение.
- •Классификация языков программирования
- •Парадигмы программирования.
- •Степень абстракции.
- •Распространенные языки программирования
- •Почему не существует «идеальных» языков программирования
- •Ассемблер
- •Архитектура микропроцессоров ia-32.
- •Введение.
- •Регистры и структура памяти ia-32
- •Команды ia-32
- •Литература
Функциональная структура эвм Фон-Неймана
Базовая, первая, классическая архитектура. Структура: техническая конструкция. Функционирование ЭВМ определяется не только ее технической конструкцией (hardware), но и алгоритмом обработки информации, которая записывается на языке, доступном машине.
Представление на языке называется программой, которая интерпретируется для выполнения в двоичном коде.
Аппаратная часть машины – это устройство для реализации операций, хранения данных.
Работа ЭВМ предполагает использование системных программ (software), которые обеспечивают функциональную целостность машины, управление ее процессорными ресурсами, выполняют сервисные функции для пользователя.
ЭВМ – аппаратурно-программный комплекс для автоматического выполнения вычислительной работы: для ввода, сбора, обработки, хранения, вывода внешней передачи информации.
Конструкция ЭВМ основывается на предложениях Джона фон Неймана, выдвинутых в 1944г., которые были предложены при разработке нового компьютера EMAC в США. В 1945г. Нейман работал над отчетом по работе над EDVAC. В нем он изложил принципы работы и функциональную структуру EDVAC. Главное достижение состояло в отказе от ручных переключателей, использование программ ENIAC и предложение хранить программ ЭВМ в ОЗУ (оперативно-запоминающее устройство), в котором можно было модифицировать программу с помощью самой машины.
Основные архитектурные принципы ЭВМ:
Программное управление работой ЭВМ. Программа состоит из команд, осуществляющих единичный шаг преобразования индексов.
Условный переход – это возможность переходов процессе выполнения на другой участок программы в зависимости от промежуточных вычисляемых результатов. С помощью условного перехода в программе реализуются циклы, возможность многократного выполнения отдельных программных компонентов.
Принцип хранимой программы состоит в запоминании программы вместе с исходными данными в одной и той же ОЗУ.
Это – основные принципы, всего в отчёте об EDVAC сформулировано больше архитектурных принципов. В современных – Гарвардская архитектура: использование не одной, а нескольких памятей: одна – для программного кода, вторая – для хранения только данных.
При работе с ЭВМ команды программы выбираются из памяти в устройство управления, а операнды в арифметическое устройство, выполняющее арифметические и логические операции.
Использование данных осуществляется словами. Командное слово в устройстве управления интерпретируется как машинная операция, которая должна быть выполнена с данными или без них.
Вводится команда NOP – No Operate (нет операции) – чтобы задержать программный код, синхронизировать работу отдельных устройств ЭВМ и программных блоков. В конвейерных вычислителях, при конвейерной обработке данных; в процессорах в устройстве конвейер команд, в том случае, когда результат выполнения предыдущей команды используется в качестве операнда следующей команды. Конвейер команд обеспечивает одновременную обработку нескольких команд.
Рис. Конвейер команд ЦП
В АУ (арифметическо-логическое устройство) команда позволяет выполнить арифметические операции с операндами команды. При обработке в АУ команды с данными выполняются арифметические операции. Это дает возможность преобразования программы в ходе ее выполнения, т.к. при направлении команды в АУ в качестве операнда над ней можно выполнять арифметические, логические и другие операции.
Принцип хранения обеспечивает одинаковое время выборки команд и операндов из памяти, быстро менять программы или их части, видоизменять программы по определенным правилам и вводить разные системы адресации операндов (прямая, косвенная, автоинкрементная, автодискриментная, относительная, косвенно-относительная). Разные виды адресации позволяют работать с памятью практически произвольной большой емкости.
Адресация:
Прямая – данные непосредственно заданы в регистре или ячейке памяти.
Косвенная – на данные указывает указатель.
Косвенная автоинкрементная – данные выбирают по адресу. После выбора данное значения адреса автоматически увеличивается и указывает на следующее слово.
Косвенная автодекриментаная – устанавливается на предыдущее слово.
Относительная – использует в качестве базового регистра регистр, называемый счетчиком команд, который при выполнении операции указывает на адрес следующей команды, которая должна выполняться. К значению, содержащемуся в счетчике, дополняется относительное смещение, которое в сумме указывает на операнд. Это смещение вычисляет компилятор.
Абсолютная – в следующем слове за командой записывается абсолютный адрес памяти, в котором должно находиться данное (операнд).
Косвенно-относительная – в следующем слове за командой записывается адрес, в котором содержится указатель адреса на данные (операнд).
Примеры:
1) Прямая.
Команда пересылки ассемблера: MOV R1,R2 – данные из R2 переносятся в R1.
R2=15, результат: R1=15.
2) Косвенная автоинкрементная.
MOV R1,(R2)+ ()+ - увеличивается и указывает на следующее слово, если слово из 2 байт – на 2, если из 4 – на 4.
Пересылка байтов увеличивает значение ровно на 1 байт: MOVB R1,(R2)+
15 |
Результат: R1=15, R2=1004.
|
|
1004
Адресация слов – по 4 байта, т.к. система – 32х разрядная.
Предыдущая команда |
команда |
Следующая команда |
3) Косвенная автодекрементная.
MOV R1,-(R2) - операция со словами
MOVB R1,-(R2) - операция с байтами
4) Относительная
MOV R1,A
MOV B,R2
MOV B,A
MOV R1,A – пересылается только младший байт
31 0
…. |
….. |
…… |
Х |
1 байт |
1 байт |
1 байт |
Х |
A
R1
3 2 1 0
В памяти:
Предыдущая команда |
команда |
смещение |
Следующая команда |
15 |
Адрес А = содержимое счётчика + смещение.
5) Абсолютная.
MOV R1,#15
Предыдущая команда |
команда |
15 |
Следующая команда |
Размещение в памяти:
6) Косвенная.
MOV R1,@177560
R1 = 15
Предыдущая команда |
команда |
177560 |
Следующая команда |
1000 |
15 |
6) Косвенно-относительная.
MOV R1,@#177560
R1 = 15
Предыдущая команда |
команда |
177560 |
Следующая команда |
15 |