
- •1.Основные термины и понятия.
- •Системы обработки данных
- •2.Основные факторы,
- •3.Определяющие принципы организации эвм
- •2 Фактор
- •3 Фактор
- •Типы компьютеров
- •Одноразовые компьютеры
- •Микроконтроллеры
- •Игровые компьютеры
- •Персональные компьютеры
- •Серверы
- •Комплексы рабочих станций
- •Мэйнфреймы
- •Структурная организация компьютера.
- •Система команд
- •2 Организация системных шин в компьютере
- •2.1 Передача данных в компьютере
- •Шины бывают следующих типов:
- •Параллельные шины
- •Последовательные шины
- •2.2 Общая шина
- •2.3 Системные шины fsb, qpi и HyperTransport
- •2.4 Шина pci
- •2.5 Шина pci Express
- •2.6 Последовательные шины Serial ata и usb
- •3 Организации памяти в эвм
- •3.1 Иерархическая организация памяти и принцип локальности ссылок
- •3.2 Взаимодействие процессора и различных уровней памяти
- •3.3 Адресная память
- •Латентность памяти и тайминги [20]
- •3.4 Ассоциативная память
- •3.5 Организация кэш-памяти
- •3.5.2 Типы кэш-памяти
- •Кэш с прямым отображением
- •Полностью ассоциативный кэш
- •Множественно-ассоциативный кэш
- •3.5.4 Дисковая кэш-память
- •3.7 Целостность данных
- •Методы обеспечения целостности данных:
- •3.8. Когерентность данных в мультипроцессорных системах
- •3.9. Эксклюзивная и инклюзивная организация кэш-памяти
- •3.4 Ассоциативная память
- •Р и с. 3.4. Ассоциативная память
- •3.5 Организация кэш-памяти
- •3.5.2 Типы кэш-памяти
- •К эш с прямым отображением
- •3.5.3 Множественно-ассоциативная четырехканальная кэш-память процессора i486
- •3.5.4 Дисковая кэш-память
- •Магнитные диски
- •Дискеты
- •Паралельные вычислительные сиситемы
- •Матричная система
- •Векторно - конвейерный принцип обработки данных
- •Прогнозирование ветвлений
- •Многопроцессорные архитектуры
- •Многомашинные вс
- •Системы с массовым параллелизмом
- •Кластерные системы
- •Многоядерная архитектура (Multicore)
- •Проблемы Multicore
Система команд
Система команд — набор элементарных вычислительных операций, обеспечивающих выполнение заданного класса алгоритмов и реализованных аппаратными средствами компьютера. В литературе часто можно встретить термин «инструкции, операцияя», эквивалентный термину « команда».
Системы команд бывают универсальные и специализированные. Команды по количеству адресов делятся на:
безадресные команды (КОп - Код Операции);
одноадресные команды (КОп А — Код Операции, Адрес операнда);
двухадресные команды (КОп А1А2 — Код Операции, Адрес первого операнда, Адрес второго операнда или аккумулятора);
трехадресные команды (КОп А1А2А3 — Код Операции, Адрес первого операнда, Адрес второго операнда, Адрес результата).
Здесь под адресом операндов понимается двоичный код в адресном поле команды.
Он еще не равен физическому адресу ячейки и должен быть преобразован в зависимости от способа адресации. К основным способам адресации относятся:
Регистровая (операнд – в регистре данных или адреса).
Косвенно-регистровая (операнд – в ячейке памяти, адресуемой содержимым регистра адреса).
Косвенно-регистровая с постинкрементом (операнд – в ячейке памяти, адресуемой содержимым регистра адреса, который автоматически увеличивается после выборки операнда).
Косвенно-регистровая с пердинкрементом (операнд – в ячейке памяти, адресуемое содержимым регистра адреса, которое автоматически уменьшается перед выбором операнда).
Косвенно-регистровая с индексированием (операнд – в ячейке памяти, ее адрес равен сумме содержимого регистра адреса, индексного регистра и задаваемого в команде 8-ми (иногда 16-ти и 32-х) разрядного смещения).
Прямая (операнд – в ячейке памяти, адрес которой задается числом, указанным в команде).
Относительная (операнд – в ячейке памяти, адрес которой – сумма текущего содержимого программного счетчика и данного в команде 16-ти (32-х) разрядного смещения).
Относительная со смещением (операнд –в ячейке памяти, адрес которой – сумма содержимого программного счетчика, индексного регистра и указанного в команде 16-ти (32-х) разрядного смещения).
Непосредственная (операнд – в команде). После преобразования из адресного кода получается исполнительный адрес Аисп, который подается на запоминающее устройство.
Команды выполняют следующие функции.
КОп - команды остановки, ожидания, сброса и другие служебные команды
КОп А — результат всегда записывается в специальный регистр-аккумулятор. Адрес операнда А показывает откуда берутся данные.
КОп А1А2 — выбираются два операнда, результат операции запоминается по одному из адресов операндов. При этом соответствующий операнд теряется. Такие команды составляют основу системы команд процессоров Intel.
КОп А1А2А3 — выбираются два операнда, и задается адрес, куда следует направить результат.
Центральный процессор выполняет каждую команду в соответствии с алгоритмом, включающим следующую последовательность шагов:
Вызов следующей команды из памяти и перенос ее в регистр команд,
Изменение положения счетчика команд, который после этого указывает на следующую команду,
Определение типа вызванной команды,
Если команда использует слово из памяти, определение адреса этого слова,
Считывание содержимое слова в регистр центрального процессора.
Выполнение команды,
Переход к шагу 1, чтобы начать выполнение следующей команды.
Такая последовательность шагов (выборка — декодирование — выполнение) является основой работы всех компьютеров.
Алгоритм работы центрального процессора всегда можно представить в виде программы. А это
означает, что программа не обязательно должна выполняться реальным процессором (устройством).
Такой алгоритм может реализовываться некоторой программой, выполняемой на другом процессоре. Такая программа называется интерпретатором (интерпретация – перевод на другой язык)
Интерпретатор реализует команды процессора с помощью более мелкие элементарных микрокоманд другого процессора.
В результате машина, предназначенная для выполнения интерпретатора, может быть гораздо проще и дешевле, чем процессор, выполняющий программы без интерпретации (на аппаратном уровне).
Это важно при большом количестве сложных команд с различными параметрами.
Первые компьютеры поддерживали небольшое количество простых команд. Более мощные компьютеры имеют сложные в реализации команды. (Например: выполнение операций с плавающей точкой, обеспечение прямого доступа к элементам массива и т. п.)
При наличии сложных команд программы выполняются быстрее, хотя выполнение каждой отдельной команды занимает больше времени.
Если обнаруживалось, что пара тех или иных команд часто выполняется последовательно, вводилась новая команда, заменяющая эти две.
Таким образом, у дорогих компьютеров было гораздо больше команд, чем у дешевых.
Требования совместимости программ привело к тому, что сложные команды стали использоваться и в дешевых компьютерах. Характеристикой такой совместимости является понятие архитектура команд процессора.
Семейство компьютеров, отличающихся производительностью и стоимостью, но имеющих единую архитектуру команд, должны обеспечивать выполнение одних и тех же программ.
Способом обеспечения такого свойства стала интерпретация.
Пример. Архитектура System/360 (IBM) — семейство совместимых компьютеров, различающихся по цене и производительности. Аппаратное обеспечение, позволяющее работать без интерпретации, использовалось только в самых дорогих моделях.
Метод интерпретации имеет следующие достоинства:
возможность исправлять неправильно выполненные команды или даже компенсировать ошибки аппаратного обеспечения;
возможность добавлять новые команды при минимальных затратах, причем при необходимости уже после покупки компьютера;
возможность (благодаря структурированной организации) разработки, проверки и документирования сложных команд.
Широкое применение подхода интерпретации привело к появлению понятия RISC - архитектура (Reduced Instruction Set Computer — компьютер с сокращенным набором команд) Такие ЭВМ имели около 50 быстрых команд.
RISC - архитектура — основа современных рабочих станций и мощных серверов. Причиной их создания стало стремление отойти от неймановской архитектуры ЭВМ, чтобы избавиться от некоторых ее недостатков.
Примерами RISC машин являются: а) суперкомпьютеры Cray, б) компьютеры Sun Microsystems, реализующие архитектуру SPARC - масштабируемые процессорные структуры (обеспечивающие возможность наращивания количества процессоров).
Для них характерна 64-х разрядная арифметика. Теоретически для целочисленных операций оптимальна тридцати двух битовая разрядность, а для операций с плавающей точкой - шестидесяти четырех битовая.
Особенности RISC:
отделение медленной оперативной памяти от высокоскоростных внутренних регистров. Все операции обработки данных обращаются только к регистрам внутри процессора;
эффективное конвейерное выполнение команд;
реализация любой команды из системы за один машинный такт, при этом все команды имеют фиксированную длину;
логика выполнения команд реализуется аппаратными средствами, а не микропрограммным управлением;
наличие регистрового файла с большим числом (до двухсот пятидесяти шести) регистров.
Использование RISC архитектуры позволяет обойтись меньшим количеством транзисторов на кристалле, чем CISC, поэтому RISC - процессоры давно имеют шестидесяти четырех битовую организацию.
Недостаток RISC — увеличение размера транслируемого кода программы. В современных процессорах Intel использовано много архитектурных приемов из RISC- архитектуры.
Архитектура ЭВМ использующая только аппаратное выполнение команд процессором получила наименование CISC (Complex Instruction Set Computer — компьютер с полным набором команд). (200-300 команд).
Для универсальных ЭВМ характерно использование всех типов команд. Такие системы команд называются CISC. Характеристики CISC-процессоров:
сравнительно небольшое число регистров общего назначения;
разнообразие типов команд, многие из которых аналогичны операторам языков высокого уровня;
разнообразие методов адресации;
много форматов команд разной длины: от безадресных до трехадресных;
наличие команд регистр-память (обрабатывающие команды обращаются к оперативной памяти).
В современных ЭВМ используются также архитектура системы команд VLIW (Very Long Instruction Word) - система с командными словами сверхбольшой длины. Эта архитектура базируется на RISC архитектуре, при этом несколько простых RISC - команд объединяются в одно сверхдлинное слово, и выполняется параллельно. Такая архитектура команд применена в процессорах Itanium фирмы Intel.