Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭВМ_и_ПУ / CPU_MEM.doc
Скачиваний:
19
Добавлен:
09.04.2015
Размер:
126.46 Кб
Скачать

CISC (англ. Complex Instruction Set Computing) — концепция проектирования процессоров, которая характеризуется следующим набором свойств:

Нефиксированным значением длины команды. Арифметические действия кодируются в одной инструкции. Небольшим числом регистров, каждый из которых выполняет строго определённую функцию. Типичными представителями являются процессоры на основе x86 команд (исключая современные Intel Pentium 4, Pentium D, Core, AMD Athlon, Phenom, которые являются гибридными) и процессоры Motorola MC680x0.

Наиболее распространённая архитектура современных настольных, серверных и мобильных процессоров построена по архитектуре Intel x86 (или х86-64 в случае 64-разрядных процессоров). Формально, все х86-процессоры являлись CISC-процессорами, однако новые процессоры, начиная с Intel486DX, являются CISC-процессорами с RISC-ядром. Они непосредственно перед исполнением преобразуют CISC-инструкции процессоров x86 в более простой набор внутренних инструкций RISC. В микропроцессор встраивается аппаратный транслятор, превращающий команды x86 в команды внутреннего RISC-процессора. При этом одна команда x86 может порождать несколько RISC-команд (в случае процессоров типа P6 — до 4-х RISC команд в большинстве случаев). Исполнение команд происходит на суперскалярном конвейере одновременно по несколько штук. Это потребовалось для увеличения скорости обработки CISC-команд, так как известно, что любой CISC-процессор уступает RISC-процессорам по количеству выполняемых операций в секунду. В итоге, такой подход и позволил поднять производительность C

MISC

MISC (англ. Minimal Instruction Set Computer) — процессор, работающий с минимальным набором длинных[источник не указан 170 дней] команд. Увеличение разрядности процессоров привело к идее укладки нескольких команд в одно большое слово. Это позволило использовать возросшую производительность компьютера и его возможность обрабатывать одновременно несколько потоков данных. Кроме этого MISC использует стековую модель вычислительного устройства и основные команды работы со стеком Forth языка. MISC принцип может лежать в основе микропрограммы выполнения Java и .Net программ, хотя по количеству используемых команд они нарушают принцип MISC

Процессоры, образующие «компьютеры с минимальным набором команд» MISC, как и процессоры RISC, характеризуются небольшим числом чаще всего встречающихся команд. Вместе с этим, принцип «очень длинных слов команд» VLIW обеспечивает выполнение группы непротиворечивых команд за один цикл работы процессора. Порядок выполнения команд распределяется таким образом, чтобы в максимальной степени загрузить маршруты, по которым проходят потоки данных. Таким образом архитектура MISC объединила вместе суперскалярную и VLIW концепции. Компоненты процессора просты и работают с высокими скоростями.

RISC

(англ. Reduced Instruction Set Computer; неправильно — Reduced Instruction Set Computing) — вычисления с сокращённым набором команд.

Это концепция проектирования процессоров (ЦПУ), которая во главу ставит следующий принцип: более компактные и простые инструкции выполняются быстрее. Простая архитектура позволяет удешевить процессор, поднять тактовую частоту, а также распараллелить исполнение команд между несколькими блоками исполнения (т. н. суперскалярные архитектуры процессоров). Многие ранние RISC-процессоры даже не имели команд умножения и деления. Идея создания RISC процессоров пришла после того, как в 1970-х годах ученые из IBM обнаружили, что многие из функциональных особенностей традиционных ЦПУ игнорировались программистами. Отчасти это был побочный эффект сложности компиляторов. В то время компиляторы могли использовать лишь часть из набора команд процессора. Следующее открытие заключалось в том, что, поскольку некоторые сложные операции использовались редко, они как правило были медленнее, чем те же действия, выполняемые набором простых команд. Это происходило из-за того, что создатели процессоров тратили гораздо меньше времени на улучшение сложных команд, чем на улучшение простых.

Первые RISC-процессоры были разработаны в начале 1980-х годов в Стэнфордском и Калифорнийском университетах США. Они выполняли небольшой (50−100) набор команд, тогда как обычные CISC (Complex Instruction Set Computer) выполняли 100—200.

Характерные особенности RISC-процессоров:

Фиксированная длина машинных инструкций (например, 32 бита) и простой формат команды. Специализированные команды для операций с памятью — чтения или записи. Операции вида «прочитать-изменить-записать» отсутствуют. Любые операции «изменить» выполняются только над содержимым регистров (т. н. load-and-store архитектура). Большое количество регистров общего назначения (32 и более). Отсутствие поддержки операций вида «изменить» над укороченными типами данных — байт, 16-битное слово. Так, например, система команд DEC Alpha содержала только операции над 64-битными словами, и требовала разработки и последующего вызова процедур для выполнения операций над байтами, 16- и 32-битными словами. Отсутствие микропрограмм внутри самого процессора. То, что в CISC процессоре исполняется микропрограммами, в RISC процессоре исполняется как обыкновенный (хотя и помещенный в специальное хранилище) машинный код, не отличающийся принципиально от кода ядра ОС и приложений. Так, например, обработка отказов страниц в DEC Alpha и интерпретация таблиц страниц содержалась в так называемом PALCode (Privileged Architecture Library), помещенном в ПЗУ. Заменой PALCode можно было превратить процессор Alpha из 64-битного в 32-битный, а также изменить порядок байт в слове и формат входов таблиц страниц виртуальной памяти.

Архитектуры оперативной памяти

Итак, начнем с изучения архитектур оперативной памяти. Давайте в первую очередь определим, какими факторами определяется производительность оперативной памяти.

Естественно было бы основным фактором производительности системы оперативной памяти назвать ее пропускную способность, т.е. количество мегабайт в секунду, которое способна считать (записать) оперативная память. Разумеется, пропускная способность оперативной памяти напрямую зависит от частоты работы чипов памяти и от ширины шины, связывающей память и процессор, и обычно определяется как произведение ширины шины на частоту ее работы. Например, ширина шины 64 бита, частота работы памяти 100 МГц, пропускная способность - 8 байт (64 бита) * 100 МГц = 800 Мбайт/с.

Но пропускная способность - не единственный фактор, определяющий производительность подсистемы памяти. Важнейшим параметром также является время доступа, т.е. временная задержка между запросом на выдачу какой-либо информации из памяти и ее реальной выдачей. Какая память лучше: с малой задержкой и малой пропускной способностью или с большой задержкой и большой пропускной способностью? Однозначного ответа на этот вопрос, конечно, быть не может. Если конкретная программа работает с большими массивами непрерывных данных, т.е. лишь однажды получает доступ, а затем много линейно считывает, то для такой программы оптимальна память с большой пропускной способностью, а если программа оперирует малыми блоками данных, т.е. постоянно получает доступ к разным областям памяти и понемногу читает из каждой области, то оптимальна память с малым временем доступа, а пропускная способность имеет меньшее значение. Так как обычно на компьютере исполняются разные приложения, то очень трудно найти компромисс. В общем случае, естественно, необходимо стремиться к тому, чтобы и время доступа и пропускная способность памяти были хорошими. Разобравшись с параметрами скорости, которыми мы будем описывать архитектуру памяти, теперь можно рассмотреть какие конкретно типы памяти применялись и применяются в персональном компьютере.

В самых первых PC в качестве оперативной памяти использовалась так называемая DRAM (Dynamic RAM). Ячейки памяти в микросхеме DRAM - это крошечные конденсаторы, которые удерживают заряды. Именно наличием или отсутствием заряда кодируются биты. Основная проблема такой организации памяти в том, что она динамическая, т.е. должна регенерироваться, так как в противном случае заряды с конденсаторов "стекают" и данные будет потеряны. Регенерация происходит, когда контроллер памяти системы (встроенный обычно в чипсет) берет перерыв и обращается ко всем строкам данных в микросхеме памяти. Регенерация, естественно, занимает время работы системы, во время, когда происходит регенерация памяти, процессор фактически ждет, ничего полезного не делая. Чем быстрее происходит регенерация, тем меньше процессорного времени теряется и тем производительнее работает система.

В DRAM для хранения одного бита данных используется только один транзистор и один конденсатор, поэтому технология DRAM позволяет делать достаточно компактные чипы с немалой емкостью. Например, сегодня существуют чипы, базирующиеся на технологии DRAM емкостью 512 Мбит, т.е. они содержат 1/2 миллиарда транзисторов. Для сравнения в современных процессорах количество транзисторов измеряется десятками миллионов. Но структура чипа DRAM весьма проста, представляя собой двумерную матрицу, в отличие от сложной архитектуры современного процессора. Итого: основное достоинство динамической памяти - немалая емкость при малых физических размерах чипа и небольшая цена. Применяемые в первых компьютерах и применяемые сегодня архитектуры памяти базируются в основном на динамической памяти. Давайте рассмотрим разновидности DRAM, нашедшие применение в PC и их достоинства.

Первой, нашедшей применение в PC модификацией DRAM, была память, которая работала в так называемом быстром страничном режиме и ее принято называть FPM DRAM (Fast Page Mode DRAM) или просто FPM. Чтобы сократить время ожидания на выборку данных (на доступ) стандартная DRAM разбивается на страницы. Обычно для доступа к данным в памяти требуется указать строку и столбец адреса, что занимает некоторое время. Разбиение на страницы обеспечивает более быстрый доступ ко всем данным в пределах данной строки памяти, т.е. если изменяется лишь номер столбца, но не номер строки.

Страничная организация памяти - простая схема повышения эффективности, в соответствии с которой память разбивается на страницы от 512 байт до нескольких килобайт. Соответствующая схема обращения позволяет в пределах страницы уменьшить количество состояний ожидания.

Чтобы увеличить скорость доступа к памяти был разработан так называемы пакетный (burst) режим доступа. Преимущества пакетного режима доступа проявляются тогда, когда доступ к памяти является последовательным (т.е. считывание происходит последовательно одно за другим из соседних ячеек). После задания строки и столбца и считывания информации, к следующим трем соседним адресам можно обращаться без дополнительных циклов ожидания. Однако доступ в таком пакетном режиме ограничивается лишь четырьмя операциями чтения-записи, затем необходимо снова полностью адресоваться к строке и столбцу.

Принято говорить о схеме синхронизации доступа в пакетном режиме в виде x-y-y-y, где х - количество тактов ожидания для произведения чтения первого адреса, а затем y - количество тактов ожидания для чтения каждого следующего адреса в пакетном режиме. (Такт - один период электромагнитного колебания той частоты, на которой работает память. Например: частота памяти 100МГц, один период равен 1/100млн, т.е. равен 10нс).

Архитектура DRAM такова, что для получения доступа первый раз необходимо 5 тактов ожидания. Если не разбивать память на страницы и не пользоваться пакетным режимом доступа, то каждая следующая операция получения доступа к следующей ячейке памяти тоже будет занимать 5 тактов ожидания. Однако если пользоваться разбиением на страницы и режимом burst, то, получив доступ первый раз, потратив на это 5 тактов ожидания, содержимое следующих ячеек можно считать, потратив на это лишь три такта ожидания, т.е. в режиме FPM схема доступа имеет вид не 5-5-5-5, как у обычной DRAM, а 5-3-3-3. В этом и преимущество памяти типа FPM перед обычной DRAM. Т.е. использование памяти типа FPM позволяет при той же частоте работы чипов памяти увеличить производительность обмена за счет сокращения времени на получение доступа к памяти.

Начиная с 1995 года, в PC используется новый тип оперативной памяти - EDO (Extended Data Out). Это усовершенствованный тип памяти FPM, у него было еще одно название, которое сейчас не используется Hyper Page Mode. Микросхемы памяти EDO учитывают перекрытие синхронизации между очередными операциями доступа. За счет этого удается частично совместить по времени следующий цикл чтения с предыдущим, т.е. чипсет при работе с EDO памятью может начать выполнение новой команды выборки столбца, пока данные считываются по текущему адресу, за счет чего еще уменьшаются задержки на получение доступа.

Для оперативной памяти EDO схема синхронизации в пакетном режиме имеет вид 5-2-2-2, т.е. на четырех операциях считывания тратится не 14, а 11 тактов. Т.е. налицо явный прирост производительности, в то время как стоимость чипов типа EDO лишь немного отличалась от чипов FPM.

Пока что все рассмотренные нами архитектуры были лишь вариантами оригинальной DRAM, отличаясь схемой доступа в пакетном режиме, что, конечно, давало соответствующий прирост производительности. Частоты, на которых функционировала память перечисленных типов примерно таковы: DRAM функционировала с частотой 4,77 МГц (в первых PC) до 10-12 МГц. Затем применялась память типа FPM, ее частота функционирования составляла 10-40 МГц в 386 системах, 25-50 МГц в 486 системах и 50-66 МГц в Pentium системах. Память типа EDO применялась наряду с FPM в 486 и Pentium системах на аналогичных частотах. Те технологии, которые мы рассмотрели на данный момент, можно назвать вчерашним днем. Что мы видим в период развития архитектуры памяти в период с первых PC, до середины доминирования на рынке процессоров Pentium?

Улучшение идеологии построения чипов памяти, приведшее к разработке новых типов архитектур (в рамках DRAM), в каждой новой архитектуре применяется новая схема работы с памятью, приводящая к уменьшению задержек при получении доступа и планомерное увеличение тактовой частоты работы памяти. При этом нужно отметить, что увеличение тактовой частоты памяти увеличивает не только пропускную способность (естественно, линейно), но и уменьшает время доступа. Почему?

Мы описывали время доступа как количество тактов ожидания, соответствующих задержке перед получением доступа. Но ведь реальная задержка измеряется в единицах времени, а не в каких-то абстрактных тактах. А величина одного такта как раз и определяется тактовой частотой, на которой работает память. Ведь чем больше тактовая частота, тем меньше время одного такта, и, следовательно, тем меньше время доступа. Если, к примеру, память работает на частоте 100 МГц, то время одного такта 1/100млн = 10нс, и 5 тактов ожидания соответствуют задержке в 50нс, то при частоте работы памяти 133 МГц время одного такта 7,5 нс, а задержка в 5 тактов равна 37,5 нс.

Давайте теперь поговорим об оперативной памяти дня сегодняшнего, а затем и памяти завтрашнего дня.

Уже начиная с 1997 года на смену памяти типа FPM и EDO приходит новый тип оперативной памяти: SDRAM (Synchronous DRAM) - синхронная DRAM. Эффективность SDRAM намного выше, чем у ее предшественников. Во-первых, дело в том, что схема пакетного чтения у SDRAM намного эффективнее, чем у EDO или FPM и описывается формулой 5-1-1-1. Т.е. для считывания четырех значений подряд задержка для памяти типа FPM составит 5+3+3+3=14 тактов, у EDO 5+2+2+2=11 тактов, а у SDRAM 5+1+1+1=8 тактов.

Но это еще не все. Дело в том, что SDRAM более технологична, чем ее предшественники, и ее проще изготовить для работы на более высоких частотах. И если впервые SDRAM применяли в PC на частоте 66 МГц (как и EDO и FPM в то время), то затем были разработаны чипы SDRAM, работающие на частоте 100 МГц, а после и 133 МГц. Сегодня SDRAM - не только самый распространенный тип оперативной памяти современного компьютера, но и практически единственный используемый. Но время SDRAM скоро завершится. Сегодня компьютерная индустрия стоит на пороге смены типа памяти в PC. И на роль современной оперативной памяти компьютера претендуют две новых технологии, о которых мы поговорим позже, а сейчас, разобравшись с технологиями чипов оперативной памяти, мы с Вами разберемся с тем, какие модули, непосредственно устанавливаемые в компьютер, изготавливают с использованием рассмотренных нами архитектур памяти.

Соседние файлы в папке ЭВМ_и_ПУ