- •Вопрос1 Что такое эвм? Классы эвм
- •Вопрос2 Основные принципы построения эвм.
- •Вопрос6 основные характеристики вычислительных машин и систем.
- •Вопрос7 Организация процессоров нету назнач-е блоков
- •Вопрос8 Программная модель микропроцессора. Регистры процессора
- •Вопрос9 Система команд
- •Вопрос10 Архитектурные способы повышения производительности микропроцессоров
- •Вопрос11 Архитектуры процессоров Различия между ядрами одной микроархитектуры
- •Частота работы ядра
- •Особенности образования названий процессоров
- •Вопрос12 Общие принципы взаимодействия процессора и озу Контроллер памяти
- •Процессорная шина
- •Вопрос13 Классификация запоминающих устройств
- •Вопрос14 . Организация памяти первого уровня
- •Вопрос15 Организация адресных (сверхоперативных) запоминающих устройств
- •Вопрос16 Запоминающие устройства с ассоциативной организацией
- •Вопрос17 Организация стековых (магазинных) запоминающих устройств
- •Вопрос18 Организация памяти второго уровня (основной оперативной памяти)
- •Вопрос19 Способы организации передачи данных между памятью и ВнУ
- •Вопрос19 Способы организации передачи данных между памятью и ВнУ
- •Вопрос20 Вычислительные системы
- •Вопрос21 Комплексированность и совместимость в вс.
- •Вопрос22 Многопроцессорные вс.
- •Вопрос 23 нет! вопрос24 и 25 вычислительные сети
- •Вопрос26 Проблемы физической передачи данных по линиям связи
- •Проблемы объединения нескольких компьютеров
- •Вопрос27 Топология физических связей
- •Вопрос29 Физическая структуризация сети
- •Логическая структуризация сети
- •Вопрос28 Модель osi
- •Вопрос30 нет
Вопрос9 Система команд
Система команд является одной из важнейших архитектурных характеристик процессора и ВМ в целом. Она определяет совокупность операций, реализуемых процессором. В понятие система команд входят:
форматы команд и обрабатываемых данных; • список команд, их функциональное назначение;
способы адресации данных.
У современных мощных процессоров количество команд достигает нескольких сотен. В то же время существуют процессоры с сокращенным набором команд (так называемые RISC-процессоры), в которых за счет максимального сокращения количества команд достигается увеличение эффективности и скорости их выполнения.
Первые RISС-процессоры были разработаны в начале 1980-х годов в
Стэнфордском и Калифорнийском университетах США. Они выполняли небольшой (50 − 100) набор команд, тогда как обычные CISC (Сomplex Instruction Set computer) выполняли 100—200.
Частота использования наиболее употребляемых семейства х8б команд МП семейства х86
-
Команда
Доля (частота) использования при целочисленных вычислениях, %
I. Загрузка
22
2. Условные переходы
20
3. Сравнение
16
4. Запоминание
12
5. Сложение
8
6. Логическое И
6
7. Вычитание
5
8. Пересылки регистр-регистр
4
9. Вызов подпрограмм
1
10. Возврат из подпрограмм
1
Всего
96
Данные табл. 4.1 наглядно иллюстрируют неравномерность использования различных команд в типовых программах. Это свойство системы команд было предпосылкой для развития МП с RISC-архитектурой (Reduced Instruction Set Computer — компьютер с сокращенным набором команд). Идея заключалась в упрощении блока управления за счет сокращения списка команд и использовании освобождающихся при этом ресурсов кристалла МП для организации более быстрого исполнения оставшихся команд. МП с расширенным списком команд соответственно относят к CISC-архитектуре (Complex Instruction Set Computer — компьютер со сложной системой команд).
CISC- и RISC-процессоры характеризуются различными показателями производительности. Оба типа процессоров обеспечивают достижение максимальных показателей производительности, используя для этого особенности собственной системы команд. Для повышения производительности (уменьшения числа тактов затрачиваемых на выполнение программы), необходимо уменьшать либо число команд в программе, либо среднее время выполнения команды (число тактов). Первая возможность наиболее полно используется в CISC-архитектуре процессоров, а вторая в RISC-архитектуре.
CISC (англ. Complex Instruction Set Computing) — концепция проектирования процессоров, которая характеризуется следующим набором свойств:
− Нефиксированным значением длины команды.
− Арифметические действия, кодируется в одной инструкции.
− Небольшим числом регистров, каждый из которых выполняет строго определённую функцию.
Типичными представителями являются процессоры на основе x86 команд (исключая современные Intel Pentium 4, Pentium D, Core, AMD Athlon, Phenom которые являются гибридными).
Формально, все х86-процессоры являлись CISC-процессорами, однако новые процессоры, начиная с Intel486DX, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC.
RISC (англ. Reduced Instruction Set Computing) — вычисления с сокращённым набором команд.
Это концепция проектирования процессоров, которая во главу ставит более компактные и простые инструкции выполняются быстрее. Простая архитектура позволяет удешевить процессор, поднять тактовую частоту, а также распараллелить исполнение команд между несколькими блоками исполнения (т.н. суперскалярные архитектуры процессоров).
Одинаковая длина команд. Это облегчает их выборку из памяти. В отличие от CISC-процессоров RISC-процессоры не требуют выборки дополнительных слов команды. Все команды считы-ваются за один такт. В современных RISC-процессорах длина команды равна 32 бит.
Сокращен набор действий над операндами, размещенными в памяти. В RISCпроцессорах не используются сложные адресные вычисления и множественные ссылки. Простые способы адресации памяти обеспечивают быстрый доступ к операндам в памяти. Обработка данных, реализуемая при выполнении команд RISC, никогда не совмещается с операциями чтения (записи) памяти подобно тому, как это делается во многих командах CISC. Обмен операндами между памятью и регистрами выполняется специальными командами загрузки и запоминания. Большое число регистров блока РОН позволяет уменьшить число обращений к памяти.
Все вычислительные операции выполняются над данными, находящимися только в РОН. Так как регистров много, то все скалярные переменные и даже небольшие массивы переменных чаще всего размещаются в регистрах. Арифметические и логические команды являются трехадресными. Формат этих команд включает код операции и адреса регистров источников и приемника. Использование простых команд упрощает реализацию их конвейерной обработки. В среднем команды RISC выполняются за один такт.
Относительно простые схемы управления. Отсутствие микропрограмм внутри самого процессора. То, что в CISC процессоре исполняется микропрограммами, в RISC процессоре исполняется как обыкновенный (хотя и помещенный в специальное хранилище) машинной код, не отличающийся принципиально от кода ядра ОС и приложений.
В RISC-процессорах повышение производительности достигалось за счет аппаратных решений, обеспечивающих снижение числа обращений к оперативной памяти. Отличительной особенностью этих процессоров является большой набор РОН. С их помощью делается попытка свести все пересылки к типу регистр-регистр.
Группы команд
В общем случае система команд процессора включает в себя следующие четыре основные группы команд:
− команды пересылки данных;
− арифметические команды;
− логические команды;
− команды переходов.
Команды пересылки данных не требуют выполнения никаких операций над операндами. Операнды просто пересылаются (точнее, копируются) из источника (Source) в приемник (Destination). Источником и приемником могут быть внутренние регистры процессора, ячейки памяти или устройства ввода/вывода. АЛУ в данном случае не используется.
Арифметические команды выполняют операции сложения, вычитания, умножения, деления, увеличения на единицу (инкрементирования), уменьшения на единицу (декрементирования) и т.д. Этим командам требуется один или два входных операнда. Формируют команды один выходной операнд.
Логические команды производят над операндами логические операции, например, логическое И, логическое ИЛИ, исключающее ИЛИ, очистку, инверсию, разнообразные сдвиги (вправо, влево, арифметический сдвиг, циклический сдвиг). Этим командам, как и арифметическим, требуется один или два входных операнда, и формируют они один выходной операнд.
Наконец, команды переходов предназначены для изменения обычного порядка последовательного выполнения команд. С их помощью организуются переходы на подпрограммы и возвраты из них, всевозможные циклы, ветвления программ, пропуски фрагментов программ и т.д. Команды переходов всегда меняют содержимое счетчика команд. Переходы могут быть условными и безусловными. Именно эти команды позволяют строить сложные алгоритмы обработки информации.
