NetNado
  Найти на сайте:

Учащимся

Учителям



Развитие и классификация однопроцессорных архитектур компьютеров


Регистры х86-64

В процессорах x86-64 архитектуры (Hammer, Athlon 64, Opteron) существующие в х86 регистры общего назначения (GPR) расширены с 32 до 64 бит (см. рис. 3.7) и к ним добавлены еще 8 новых 64-разрядных регистров        (R8 – 15). Также 8 новых регистров (XMM8 – 15) добавлено в блок SSE, что обесп

ечивает поддержку SSE-2.

В блоке FPU используются  существующие в х87 регистры  данных   (80-разрядные).

Регистр указателя команд (EIP) также расширен до 64 разрядов.
Регистровые расширения - это один из самых больших шагов в развитии архитектуры, пару десятков лет просуществовавшей на восьми регистрах общего назначения. Новый REX-префикс делает доступными 8 новых регистров общего назначения (R8 - R15) и 8 новых регистров SSE (XMM8 - XMM15), а также расширения всех РОН до 64 бит.

Без префикса REX размер операнда по умолчанию для большинства команд - 32 бит. Это даёт доступ к регистрам EAX, EBX, ECX, EDX, EDI, ESI, EBP и ESP. Исключение составляют две группы команд, которые будут рассмотрены ниже. Чтобы получить доступ к полному 64-битному операнду (RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP) и новым регистрам R8 - R15, команда должна содержать префикс REX.

Также префикс REX обеспечивает новую способность регистров, делая доступным младший значащий байт, слово или двойное слово любого регистра общего назначения для операций (см. рис. 2). При этом команда операции над байтами не может одновременно использовать старший байт наследованных 16-разрядных регистров (ah, bh, ch, dh) и новый байтовый регистр. Эта возможность предоставляет компилятору единообразный набор 1-, 2-, 4- и 8-байтовых регистров для более удобного и эффективного распределения данных в регистрах.

Для кодирования префикса REX использованы коды 40h - 4Fh2. Эти коды трактуются в 32-битном режиме как однобайтные инструкции INC (40h - 47h) и DEC (48h - 4Fh) над 32-разрядными регистрами EAX - ESP. http://ddgg.isc.tpu.ru:8900/oes_0941/img/image048.gif

  1. Стратегия развития процессоров Intel.

Стратегия развития Intel заключается во внедрении новых микроархитектур процессоров, основанных на новых поколениях полупроводниковой производственной технологии. Темпы выпуска инновационных микроархитектур и полупроводниковых технологий основаны на принципе, который корпорация Intel называет моделью «TICK-TOCK» («ТИК-ТАК»). Каждый «TICK» обозначает (табл. 3.1) новый этап развития полупроводниковых технологий (техпроцесс – 65 нм, 45 нм, 32 нм), а каждый «TOCK» – создание новой микроархитектуры (Intel Core, Nehalem, Sandy Bridge). Переход на новый техпроцесс сопровождается выпуском соответствующих семейств процессоров (Penryn, Westmere).

Этот цикл, как правило, повторяется каждые 2 года. Новаторская микроархитектура «обкатывается» на текущем производственном процессе, затем переносится на новую производственную технологию. Данная модель развития позволяет осуществлять внедрение единообразной процессорной микроархитектуры во всех сегментах рынка.
Стратегия развития процессоров Intel

Intel Core

NEW

Microarchitecture

Penryn

NEW

Process

Nehalem

NEW

Microarchitecture

Westmere

NEW

Process

Sandy Bridge

NEW

Microarchitecture

65 nm

45 nm

45 nm

32 nm

32 nm

2006 г.

2007 г.

2008 г.

2009 г.

2010 г.

TOCK

TICK

TOCK

TICK

TOCK


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


  1. Особенности процессорной микроархитектуры Intel Core.

Микроархитектура Intel Core наследует философию эффективного энергопотребления, впервые реализованную в процессорах Intel Pen-tium M для мобильных ПК. Заимствовав лучшее от ставших основой для настольных и мобильных процессоров Intel микроархитектур Net Burst и Mobile, микроархитектура Intel Core содержит сотни нововведений, но основные из них сводятся к пяти технологическим решениям:

  1. Технология Intel Wide Dynamic Execution (широкое динамическое исполнение).

  2. Технология Intel Advanced Digital Media Boost (улучшенные цифровые медиа возможности).

  3. Технология Intel Advanced Smart Cache (улучшенный интеллектуальный кэш).

  4. Технология Intel Smart Memory Access (интеллектуальный доступ к памяти).

  5. Технология Intel Intelligent Power Capability (интерактивное подключение подсистем).

Рассмотрим подробнее каждую из перечисленных технологий.


  1. Микроархитектура Intel Nehalem.

Микроархитектура Nehalem является дальнейшим развитием рассмотренной выше микроархитектуры Intel Core.

Основные отличительные черты Nehalem

Основными отличительными чертами данной микроархитектуры являются следующие:

Усовершенствованное по сравнению с Core вычислительное ядро.

Многопоточная технология SMT (Simultaneous Multi-Threading), позволяющая исполнять одновременно два вычислительных потока на одном ядре.

Три уровня кэш-памяти: L1 кэш размером 64 Кбайта на каждое ядро, L2 кэш размером 256 Кбайт на каждое ядро, общий разделяемый L3 кэш размером 4, 8 и до 24 Мбайт.

    • Интегрированный в процессор контроллер памяти с поддержкой нескольких каналов DDR3 SDRAM.

  • Новая шина QPI с топологией точка – точка для связи процессора с чипсетом и процессоров между собой.

  • Модульная структура.

  • Монолитная конструкция – процессор состоит из одного полупроводникового кристалла.

  • Технологический процесс с нормами производства – не более 45 нм.

  • Использование двух, четырех или восьми ядер.

  • Управление питанием и Turbo-режим.

Усовершенствования вычислительного ядра

Рис. 3.8. Структура ядра процессора микроархитектуры Nehalem

В рассматриваемом ядре так называемый предпроцессор содержит следующие блоки: блок выборки команд и преддекодирования; блок предсказания переходов (ветвлений); блок очередей инструкций; декодер инструкций; блок обнаружения циклов в программе.

Сначала х86 инструкции выбираются (Fletch) из кэш-памяти команд. Если в потоке команд оказывается команда условного перехода (ветвление программы), то включается механизм предсказания ветвления, который формирует адрес следующей выбираемой команды до того, как будет определено условие выполнения перехода. Основной частью блока предсказания ветвлений является ассоциативная память, называемая буфером адресов ветвлений ВТВ (Branch Target Buffer), в котором хранятся адреса ранее выполненных переходов. Кроме того, ВТВ содержит биты, хранящие предысторию ветвления, которые указывают, выполнялся ли переход при предыдущих выборках данной команды. При поступлении очередной команды условного перехода указанный в ней адрес сравнивается с содержимым ВТВ. Если этот адрес не содержится в ВТВ, т.е. ранее не производились переходы по данному адресу, то предсказывается отсутствие ветвления. В этом случае продолжается выборка и декодирование команд, следующих за командой перехода. При совпадении указанного в команде адреса перехода с каким-либо из адресов, хранящихся в ВТВ, производится анализ предыстории. В процессе анализа определяется чаще всего реализуемое направление ветвления, а также выявляются чередующиеся переходы. Если предсказывается выполнение ветвления, то выбирается и загружается в конвейер команда, размещенная по предсказанному адресу.

В дополнение к уже имеющемуся в Intel Core блоку предсказания переходов был добавлен в Nehalem ещё один «предсказатель» второго уровня. Он работает медленнее, чем первый, но зато благодаря более вместительному буферу, накапливающему статистику переходов, обладает лучшей глубиной анализа.

Далее, разделенные х86 инструкции (Pre Decode) на простые и сложные организуются в виде очередей (Instruction Queues) на входах четырех декодеров. Декодеры преобразуют х86 команды в микрокоманды, под управлением которых в процессоре выполняются элементарные операции (микрооперации). Как в Intel Core, три декодера используются для обработки простых инструкций, один – для сложных. Каждая простая х86 инструкция преобразуется в 1–2 микрокоманды, а для сложной инструкции из памяти микрокода (u Code ROM) выбирается последовательность микрокоманд (микропрограмма), которая содержит более двух микрокоманд (технология micro-ops fusion). Используя технологию macro fusion, четыре декодера могут обработать одновременно пять х86 команд, преобразуя их в четыре микрокоманды.

В Nehalem увеличилось число пар x86 команд, декодируемых в рамках этой технологии «одним махом». Кроме того, технология macro fusion стала работать и в 64-битном режиме, в то время как в процессорах семейства Core 2 она могла активироваться лишь при работе процессора с 32-битным кодом.

Следующее усовершенствование, связанное с повышением продуктивности начальной части исполнительного конвейера, коснулось блока обнаружения циклов в программе Loop Stream Detector. Этот блок появился впервые в процессорах с микроархитектурой Core и предназначался для ускорения обработки циклов. Определяя в программе циклы небольшой длины, Loop Stream Detector (LSD) сохранял их в специальном буфере, что давало возможность процессору обходиться без их многократной выборки из кэша и предсказания переходов внутри этих циклов. В процессорах Nehalem блок LSD стал ещё более эффективен благодаря его переносу за стадию декодирования инструкций. Иными словами, теперь в буфере LSD сохраняются циклы в декодированном виде, из-за чего этот блок стал несколько похож на Trace Cache процессоров Pentium 4. Однако Loop Stream Detector в Nehalem – это особенный кэш. Во-первых, он имеет очень небольшой размер, всего 28 микроопераций, во-вторых, в нём сохраняются исключительно циклы.

После декодирования производится переименование регистров, переупорядочение (Retirement Unit) и сохранение до момента выполнения 128 микрокоманд в буфере (Reorder Buffer). Это количество микрокоманд на 33 % больше, чем в Intel Core (96 микрокоманд).

На следующем этапе планировщик (Scheduler) через станцию резервирования (Reservation Station – RES) вместимостью до 36 инструкций (Intel Core – 32 инструкции) отправляет микрокоманды непосредственно на исполнительные устройства.

Также как Core 2, процессоры с микроархитектурой Nehalem способны отправлять на выполнение до шести микроопераций одновременно. В каждом ядре процессора Intel Nehalem используются три универсальных порта (Port0, Port1, Port5) для связи с различными исполнительными устройствами, два порта (Port3, Port4) – для организации записи/загрузки (Store) адреса и данных в память и один (Port2) для организации чтения/выгрузки (Load) данных из памяти. Универсальные порты осуществляют связь с тремя блоками – для обработки целочисленных 64-битных данных (ALU), выполнения сдвигов (Shift) и операций сравнения (LEA); с тремя блоками – для обработки чисел с плавающей точкой (FAdd, FMul, FPShuffes); с тремя 128-битными блоками для обработки потоковых данных (SSE); с одним блоком – для исполнения переходов (Branch); со специальными блоками Divide (деление), Complex Integer (сложные целочисленные операции).

В данном процессоре (ядре), как и в любом другом современном процессоре, реализована конвейерная технология обработки команд. Длина каждого из четырех конвейеров составляет 14 ступеней.

В микроархитектуре Nehalem Intel продолжила взятый ранее курс на увеличение числа поддерживаемых SIMD инструкций. Пополненный набор команд расширился за счет семи новых инструкций и получил название SSE4.2. В SSE4.2 добавлено пять инструкций, предназначенных для ускорения синтаксического анализа XML-файлов. Также с помощью этих же инструкций возможно увеличение скорости обработки строк и текстов. Ещё две новые инструкции из набора SSE4.2 нацелены на совершенно иные приложения. Первая из них аккумулирует контрольную сумму, а вторая подсчитывает число ненулевых бит в источнике.


  1. Семейство процессоров Intel Westmere.

Основываясь на ошеломляющем успехе 45 нм производственного процесса с диэлектриками high-k и транзисторами с металлическими затворами, корпорация Intel в конце 2009 г. запустила 32 нм производственную технологию, в которой используются диэлектрики high-k и транзисторы с металлическими затворами второго поколения. Эта технология стала основой для новой 32 нм версии микроархитектуры Intel Nehalem. Новые процессоры Intel семейства Westmere стали первыми процессорами, созданными по нормам 32 нм техпроцесса. Эти процессоры известны под кодовыми названиями Clarkdale и Arrandale, предназначены для применения соответственно в настольных компьютерах и ноутбуках и входят в модельные линейки Intel Core i3, i5, i7. Процессоры Intel Westmere представляют собой двухъядерные решения. Кроме того, в их конструкции присутствуют два несущих кристалла (рис. 3.10), один из которых, выпускаемый по 32 нм техпроцессу, включает в себя два вычислительных ядра, разделяемую L3 кэш-память, контроллер шины QPI. Второй, более крупный кристалл, изготавливаемый по 45 нм технологии, содержит графический процессор GPU, двухканальный контроллер памяти DDR3, контроллер интерфейса PCI Express 2.0 и контроллер шин DMI и FDI (Flexible Display Interface). Взаимодействие между двумя кристаллами происходит по высокоскоростной шине QPI. В табл. 3.3 приведены характеристики процессоров Intel Clarkdale. Характеристики процессоров Intel Clarkdale

Характеристики
процессора

Core i3 530

Core i3 540

Core i5 650

Core i5 660

Core i5 661

Core i5 670

Техпроцесс ядра CPU, нм

32

Техпроцесс ядра GPU, нм

45

Количество ядер CPU/
исполняемых потоков, шт.

2/4

Объем L3 кэш-памяти, Мб

4

Номинальная частота ЦП, ГГц

2.93

3.06

3.2

3.33

3.33

3.46

Частота ЦП с Turbo Boost (максимум), ГГц

N/A

N/A

3.46

3.6

3.6

3.73

Частота GPU, МГц

733

733

733

733

900

733

Поддержка НТ

Есть

Поддерживаемая память, частота памяти, МГц

Dual Channel DDR3, 1333

Технология Intel vPro

Нет

Нет

Есть

Есть

Нет

Есть

Технология Intel VT-x

Есть

Технология Intel VT-d

Нет

Нет

Есть

Есть

Нет

Есть

Технология Intel TXT

Нет

Нет

Есть

Есть

Нет

Есть

Набор инструкций AES-NI

Нет

Нет

Есть

TDP, Вт

73

87

73

Из таблицы следует, что все процессоры поддерживают технологию Hyper-Threading (HT) или SMT, увеличивающую число вычислительных потоков, и технологию виртуализации VT-x. В большинстве процессоров реализованы новые инструкции из расширения AES-NI для ускорения выполнения алгоритмов шифрования и расшифровки. В этих же процессорах выполняется технология Turbo Boost, которая позволяет разгонять одно из вычислительных ядер до повышенных частот, что ускоряет работу с однопоточными приложениями.

  1. Иерархическая структура памяти ЭВМ.

Памятью ЭВМ называется совокупность устройств, служащих для запоминания, хранения и выдачи информации.

Основными характеристиками отдельных устройств памяти (ЗУ) являются емкость памяти, быстродействие и стоимость хранения единицы информации (бита).

Емкость памяти определяется максимальным количеством данных, которые могут в ней храниться. Емкость измеряется в двоичных единицах (битах), машинных словах, но большей частью в байтах (1 байт = 8 бит). Часто емкость памяти выражают через число К = 1024, например, К бит — килобит, К байт — килобайт, 1024 Кбайт = 1 Мбайт (Мегабайт), 1024 Мбайт = 1 Гбайт (гигабайт), 1024 Гбайт = 1 Тбайт (терабайт).

Быстродействие (задержка) памяти определяется временем доступа и длительностью цикла памяти. Время доступа - промежуток времени между выдачей запроса на чтение и моментом поступления запрошенного слова из памяти. Длительность цикла памяти определяется мин. временем между двумя последовательными обращениями к памяти.

Требования к увеличению емкости и быстродействия памяти, а также к снижению ее стоимости являются противоречивыми. Чем больше быстродействие, тем технически труднее достигается и дороже обходится увеличение емкости памяти. Стоимость памяти составляет значительную часть общей стоимости ЭВМ. Исходя из этого память ЭВМ организуется в виде иерархической структуры (рис.4.1) запоминающих устройств, обладающих различными быстродействием и емкостью [ 4.1 ]. Чем выше уровень, тем выше быстродействие соответствующей памяти, но меньше её емкость. К верхнему (сверхоперативному) уровню относятся регистры операционных и управляющих блоков процессора, сверхоперативная память, управляющая память, буферная память. На втором уровне находится основная или оперативная память.

На последующих уровнях размещается внешняя и архивная память.

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


Непрерывный рост производительности ЭВМ проявляется, в первую очередь, в повышении скорости работы процессора. Быстродействие ОП также растет, но все время отстает от быстродействия аппаратных средств процессора, в значительной степени потому, что одновременно происходит опережающий рост её емкости, что делает более трудным уменьшение времени цикла работы памяти. Поэтому, быстродействие ОП часто оказывается недостаточным для обеспечения требуемой производительности ЭВМ.

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

При обращении к блоку данных, находящемуся на оперативном уровне, его копия пересылается в сверхоперативную буферную память (СБП). Последующие обращения производятся к копии блока данных, находящейся в СБП. Поскольку время выборки из сверхоперативной буферной памяти tСБУ (5 ис) много меньше времени выборки из оперативной памяти tОП, введение в структуру памяти СБП приводит к уменьшению эквивалентного времени обращения tЭ по сравнению с tОП:

tЭ = tСБП + atОП ,

где a = (1 — q) и q — вероятность нахождения блока в СБП в момент обращения к нему, т.е. вероятность «попадания». Очевидно, что при высокой вероятности попадания эквивалентное время обращения приближается к времени обращения к СБП.

В основе такой организации взаимодействия ОП и СБП лежит принцип локальности обращений, согласно которому при выполнении какой-либо программы (практически для всех классов задач) большая часть обращений в пределах некоторого интервала времени приходится на ограниченную область адресного пространства ОП. Причем обращения к командам и элементам данных этой области производятся многократно. Это позволяет копии наиболее часто используемых участков программ и некоторых данных загружать в СБП и таким образом обеспечить высокую вероятность попадания q. Высокая эффективность применения СБП достигается при q і 0,9.

Буферная память не является программно доступной: это значит, что она влияет только на производительность ЭВМ, но не должна оказывать влияния на программирование прикладных задач. Поэтому, она получила название кэш — памяти (в переводе с английского — тайник). В структуре одних ЭВМ используется объединенная кэш — память команд и данных, в других ЭВМ раздельные кэш — памяти для команд и для данных. Кэш — память, входящую в состав процессора, называют кэш — памятью первого уровня. В современных компьютерах применяют кэш — память второго уровня, которая находится между процессором и ОП и еще больше повышает производительность ЭВМ.

страница 1 ... страница 2страница 3страница 4страница 5


скачать

Другие похожие работы: