Скачать презентацию Процессора CISC архитектуры Complete Instruction Set Computer Скачать презентацию Процессора CISC архитектуры Complete Instruction Set Computer

CISC.pptx

  • Количество слайдов: 8

Процессора CISC архитектуры Complete Instruction Set Computer – машина с полным набором команд. Основоположником Процессора CISC архитектуры Complete Instruction Set Computer – машина с полным набором команд. Основоположником CISC-архитектуры можно считать компанию IBM с ее базовой архитектурой , ядро которой используется с 1964 года и дошло до наших дней. Лидером в разработке микропроцессоров c полным набором команд считается компания Intel со своей серией x 86 и Pentium. Эта архитектура является практическим стандартом для рынка микрокомпьютеров. Стратегия CISC архитектуры формировалась в большой степени по желанию программистов иметь в своем распоряжении как можно больший набор команд, упрощающий программирование. Для CISC-процессоров характерно: - небольшое число регистров общего назначения; - большое количество машинных команд, - наличие сложных (многотактных) команд, функционально аналогичных операторам языков высокого уровня программирования, - большое количество методов адресации; - большое количество форматов команд различной разрядности; - преобладание двухадресного формата команд; - наличие команд обработки типа регистр-память.

При этом подходе выполнение любой сколь угодно сложной команды из системы команд процессора реализовывается При этом подходе выполнение любой сколь угодно сложной команды из системы команд процессора реализовывается аппаратно внутри самого процессора. В систему команд CISC-процессора может входить, например, вычисление квадратного корня, что требует многих десятков тактов. Добавление каждой новой команды ведет к увеличению общего числа транзисторов в процессоре. CISC-архитектура позволяет создавать универсальные процессоры, но их производительность ограничена, в частности, сложностью микросхемы процессора. Микропроцессоры с CISC-архитектурой (например, Intel Pentium II, III, и IV или Athlon и Duron компании AMD) обычно устанавливаются в настольных и переносных компьютерах общего назначения.

Схема «идеального» СISC-процессора Схема «идеального» СISC-процессора

Центральным Центральным "вычислителем" является АЛУ. Данные в него подаются из шины данных. Данные из АЛУ перед отправкой на шину накапливаются в аккумуляторе. Текущее состояние вычислений отслеживается в регистре флагов, из которого они считываются в шину данных. АЛУ также способно управлять стеком через регистры стека и адреса, напрямую управляющие запросами в шину адреса. Отметим, что стек в CISC-процессоре компенсирует недостаток регистров общего назначения – в стек можно записать содержимое любого РОН, также как и считать из него значение в любой РОН. УУ работает, только получая инструкции после дешифратора команд, а последовательность команд задается программным счетчиком. В программном счетчике находится адрес следующей выполняемой команды, поступающая на вход дешифратора команд и затем – в УУ. Данные в дешифратор и регистр программного счетчика загружаются по шине данных, а далее модифицируются по собственным алгоритмам.

В CISC-процессорах устройство управления должно осуществлять следующие операции: 1. Проводить дешифрацию кодов команд, поступающих В CISC-процессорах устройство управления должно осуществлять следующие операции: 1. Проводить дешифрацию кодов команд, поступающих в виде инструкций из памяти компьютера. 2. Производить пересылку данных между регистрами центрального процессора, центральным процессором и памятью и т. п. 3. Осуществляет преобразование данных разных форматов. 4. Помогает АЛУ осуществлять сложные многошаговые инструкции (типа умножения, деления, смены знака, нахождение модуля числа) при целочисленных и вещественных вычислениях, а также вычисление специальных функций (например, синуса, логарифма, степени вещественного числа. ) 5. Выполнение сегментации памяти. 6. Производить страничные преобразования при организации виртуальной памяти. 7. Осуществлять управление шиной компьютера (только для однопроцессорных и асимметричных мультипроцессорных систем). 8. Управлять разделением потоков в симметричных мультипроцессорных системах и взаимодействие с сопроцессорами. 9. Формировать сигналы управления арифметико-логическим устройством и системными регистрами. 10. Реализовать конвейерные вычисления и инструкции, организацию доступа SIMD). 11. Проводить политику защиты выполняемых процессов путем назначение программам разных уровней привилегий и приоритетов (уровни доступа к памяти, уровни привилегий, уровни прерываний, работа в режиме супервизора и т. п. ) 12. Управляет контроллерами ввода-вывода. 13. Эмулировать другие процессоры или работать в "режиме совместимости". 14. И некоторые другие, менее важные. В связи с тем, что УУ CISC-процессора осуществляет такие сложные функции, то, во первых, это устройство логически разбивается на разные модули, а во-вторых, устройство управления имеет наибольшую сложность при проектировании и изготовлении.

"Идеальный" CISC-процессор второго поколения. Во втором поколении CICS-процессоров появились такие важные системы, как системы управления прерываниями и многозадачностью, кэш-память, страничное и сегментное разбиение памяти и, наконец, конвейер. В CISC-микропроцессоре второго поколения АЛУ, УУ, и другие основные его блоки уже не обращаются напрямую к шинам адреса и данных. Весь обмен информации идет через внутреннюю шину процессора. На внутренней шине расположена кэш-память 1 -го уровня. Весь обмен данными между микропроцессором и шиной данных осуществляется через нее. С возникновением многозадачности в микропроцессорах 2 -го поколения появился блок управления прерываниями и многозадачностью. Этот блок ответственен за: - обработку сигналов таймера TIMER и запросов прерываний IRQ#; - синхронизацию процессора и шины (сигнал CLK); - формирование слова состояния задачи (TSS) для сохранения информации о текущей задаче/ прерывании при переключении к следующей задаче/прерыванию; - осуществляет переключение между задачами (процессами), выполняющимися на микропроцессоре. Блок управления разбиением памяти (страничного и сегментного). Он занимается преобразованием базового адреса в линейный, а затем в физический, и формирует запрос по шине адреса. (Примечание. Запрос инициируется только в том случае, если данных нет в кэш-памяти. ) Эти блоки состоят из управляющих регистров и специальных логических схем, выявляющих ошибки в сегментном/страничном разбиении и теневые регистры для хранения наиболее важных результатов работы (например, текущего дескриптора сегмента или страницы и т. п. ) Все эти системные блоки плавно "перетекают" в CISC-процессоры 3 -го и 4 -го поколения, а также в RISC-процессоры.

Двухуровневая организация современных CISC-процессоров RISC-процессоры доказали свою состоятельность уже в начале 90 -х годов Двухуровневая организация современных CISC-процессоров RISC-процессоры доказали свою состоятельность уже в начале 90 -х годов XX века. К этому времени начался перевод большинства высокопроизводительных компьютеров (серверов) на RISC-архитектуру. Однако к тому времени накопилось большое количество программ, написанных для CISC-процессоров. Их перевод (перекомпиляция) для выполнения на RISC-процессоры заняло бы много времени , поэтому фирмы производители традиционных CISC-процессоров придумали оригинальный способ решения этой проблемы. Они разделили процессор на две части. В первой части, названной ядром, был реализован оригинальный RISC-процессор. Он работал с высокой тактовой частотой, и мог обращаться только к кэш-памяти. Во второй же части располагался блок "перекодировки" CISC-инструкций в RISC-команды, выполняемых ядром микропроцессора. В ней также находились: - система управления сегментацией и страничного преобразования памяти; - система управления кэш-памятью; - конвейер; - система предсказания ветвлений. Таким образом на входе этот процессор получал набор инструкций традиционного CISC-компьютера, а выполнял вычисления как RISC-компьютер. Это, вопервых, позволило увеличить производительность компьютера, а во-вторых, появилась возможность введения дополнительных, потоковых инструкций, благодаря которым контейнер стал работать производительнее и уменьшилось время перевода CISCинструкций в RISC-команды. Традиционные, "чистые CISC-процессоры" этого не могли достигнуть

Недостатки CISC архитектуры: - высокая стоимость аппаратной части; - сложности с распараллеливанием вычислений. Недостатки CISC архитектуры: - высокая стоимость аппаратной части; - сложности с распараллеливанием вычислений.