Программирование скачать реферат

[ книги ] [ рефераты ] [ новости ] [ ридеры ] [ регистрация ] [ вход ]
[ новинки книг ] [ категории книг ] [ правила ]

Архитектура и производительность серверных ЦП скачать реферат

Архитектура и производительность серверных ЦП
Сегодня центральные процессоры (ЦП) — неотъемлемая часть современной компьютерной техники, но так было не всегда. Первые «серверы» в современном понимании (мэйнфреймы) не имели ЦП как таковых. Вычислительные функции в них выполняли неспециализированные наборы системной логики (стандартные микросхемы и прочие полупроводниковые компоненты). Однако по мере развития компьютерных технологий появилась возможность создавать все более сложные микросхемы, в том числе специализированные — процессоры.
Когда появились первые персональные компьютеры и начали быстро расти их продажи (в 1970-1980-х годах), рынок серверного оборудования серьезно изменился: наметились тенденции взаимопроникновения технологий и архитектур из сегмента серверной техники в сегмент персональных компьютеров, и наоборот. Не стали исключением и ЦП: некоторые серверные модели после незначительной модернизации стали использоваться в персональных компьютерах, а ЦП, изначально разработанные для массового рынка, проникали на рынок серверов и суперкомпьютеров. Наиболее очевидная причина этого — экономический фактор: параллельная разработка двух или более процессорных архитектур может оказаться непосильной даже для довольно крупной компании, а конечная стоимость обоих решений будет значительной, что неминуемо ухудшит конкурентные возможности конечной продукции на рынке. Хотя процессорные архитектуры, ориентированные исключительно на серверы и суперкомпьютеры, до сих пор существуют, более распространены «универсальные» процессорные ядра, пригодные как для массового, так и для серверного рынка.
Общая архитектура ЦП
Функциональные устройства ЦП
Любой ЦП независимо от его предназначения располагает рядом функциональных устройств (ФУ): блоками целочисленных вычислений (Integer Execution Unit, E-box, арифметико-логическое устройство), обработки адресов (Address Translation Unit, A-box), контроллером системной шины (System Bus Controller, B-box), декодером команд (Instruction Decoding Unit, I-box). Для проведения вычислений и хранения промежуточных результатов используется так называемый файл регистров (их может быть несколько), состоящий из фиксированного количества записей определенной длины (регистров). Практически во всех современных ЦП реализованы и средства предсказания направления условных переходов. С начала 1990-х гг. общепринятой стала практика внедрения в ядро ЦП блока вещественных вычислений (Floating-Point Unit, F-box). Если дизайн определенной аппаратной платформы предполагал использование кэш-памяти с прямым доступом, то в ЦП вводился блок взаимодействия с кэш-памятью (Cache Memory Interface Unit, C-box). В современных ЦП нередко также реализованы контроллеры памяти, периферийных шин и т. д.
Набор команд ЦП
В зависимости от представления команд процессоры принято делить на RISC (Reduced Instruction Set Computing, вычисления при помощи ограниченного набора команд) и CISC (Complex Instruction Set Computing, вычисления при помощи расширенного набора команд). В настоящее время «чистокровных» представителей того или иного семейства встретить все труднее — у большинства ЦП есть черты обеих архитектур.
Архитектура RISC появилась как попытка избавиться от недостатков, присущих CISC-процессорам. В 1970-х гг. были проведены исследования, которые показали, что около 20% всех команд CISC-процессора занимают при выполнении около 80% всего процессорного времени, а остальные 80% команд — оставшиеся 20%, т. с. налицо явный дисбаланс — некоторые команды остаются практически невостребованными. В то же время каждая дополнительная команда в наборе увеличивает стоимость ЦП, поскольку для ее выполнения в процессоре должны быть соответствующие исполнительные блоки. Возникла идея свести набор команд к минимуму, зафиксировать их длину для удобства декодирования, а непосредственный доступ к памяти (загрузку данных в регистры ЦП из памяти и копирование из регистров в память) разрешить лишь некоторым из них. Это позволило получить компактное ядро ЦП, способное работать на более высоких частотах при неизменных проектных нормах.
Естественно, что и у RISC, и у CISC есть свои достоинства. RISC обеспечивает эффективную суперскалярность (параллельность) вычислений функциональными устройствами ЦП и большее количество выполненных команд в расчете на один такт ЦП. CISC предполагает более эффективную работу ЦП при небольшом числе функциональных устройств и наличии не более чем одного конвейера в расчете на функциональное устройство (при увеличении количества конвейеров прирост производительности оказывается небольшим из-за ограничений, налагаемых декодером команд).
ЦП архитектуры х86: CISC или RISC?
Процессоры архитектуры х86 изначально имели CISC-архитектуру, но со временем стали приобретать свойства RISC. Ядра этих ЦП претерпели кардинальные изменения: они стали проектироваться во многом по принципам RISC, но в то же время для сохранения совместимости с существующим программным обеспечением снаружи в ЦП все так же поступали обычные команды CISC. Для того чтобы такая модель ЦП оказалась работоспособной, требуется обязательное внутреннее преобразование CISC-команд в одну или несколько RISC-команд, непосредственно выполняющихся ядром ЦП.
Такой подход помог улучшить суперскалярность вычислений (когда команды разного рода одновременно обрабатываются на разных конвейерах ФУ) и облегчить их конвейеризацию в целом, но не избавил архитектуру от всех недостатков, главный из которых — неудобство параллельного декодирования команд CISC, имеющих разную длину: невозможно определить начало следующей команды до завершения декодирования предыдущей.
Первым из ЦП архитектуры х86, спроектированным с RISC-ядром, стал уже забытый Nx586 компании NexGen, представленный в марте 1994 г. В ноябре 1995 г. появился Pentium Pro компании Intel, а в марте 1996-го — AMD К5, построенный на базе модернизированной фирменной архитектуры 29К.
CISC-процессоры архитектуры х86 еще некоторое время выпускались, преимущественно Intel (Pentium и Pentium MMX) и Cyrix (6x86 и 6х86МХ/6х86МП), но дни их были сочтены. В последующие годы архитектура Intel P6, в основу которой лег вышеупомянутый Pentium Pro, продолжала экстенсивно развиваться, а позже ее сменила архитектура NetBurst.
В апреле 1997 г. AMD выпустила Кб, основанный на RISC-ядре Nx686 (NexGen была поглощена AMD в начале 1996 г.), и развивала этот модельный ряд до 2000 г., невзирая на отставание в производительности от архитектуры Intel P6. В апреле 1999 г. AMD представила новый ЦП К7, получивший официальное название Athlon, и успешно продолжает развивать его архитектуру и по сей день — ядро К8 (Athlon 64, Athlon 64 FX, Opteron) представляет собой эволюционное развитие ядра К7. Подводя итоги вышесказанному, можно сделать вывод, что ЦП архитектуры х86 перестали быть CISC, но и RISC в полном понимании не стали (подобный переход не обеспечит сохранения обратной совместимости с существующим программным обеспечением), поэтому их можно классифицировать как псевдо-RISC.
Концепция VLIW
Интересная разновидность подхода RISC — концепция VLIW (Very Long Instruction Word), известная также как EPIC (Explicitly Parallel Instruction Computing, вычисления с явной параллельностью). Ее суть — эффективное распределение нагрузки методом «примитивный ЦП — умный компилятор»: ЦП располагает большим количеством конвейеров функциональных устройств, работающих параллельно, а всю работу по формированию эффективного потока команд выполняет компилятор. Соответственно, алгоритмы и блоки внеочередного выполнения (out-of-order execution) не используются совсем. Декодер ЦП производит выборку из потока «связок» команд, а планировщик направляет их в очереди на нужные функциональные устройства.
Наиболее известные представители этого подхода — процессоры Crusoe и Transmeta Efficeon, а также Intel Itanium и Itanium 2.
Кэш-память в ЦП
Статическая и динамическая память
В каждом современном ЦП предусмотрено некоторое количество статической памяти, работающей на частоте ядра. Именно статической, поскольку использование динамической памяти в этих целях представляется крайне нерациональным.
Одна ячейка статической памяти состоит из шести транзисторов и двух резисторов (для техпроцессов с проектными нормами до 0,5 мкм могли быть использованы только четыре транзистора на одну ячейку, с дополнительным слоем поликремния и с более жесткими ограничениями по максимальной тактовой частоте), в то время как аналогичная структура динамической памяти состоит из одного транзистора и одного конденсатора. Быстродействие статической памяти намного выше (емкость, используемая в динамической памяти, имеет определенную скорость зарядки до требуемого уровня, определяющую «частотный потолок»), но из-за большего количества составляющих элементов она существенно дороже в производстве и отличается более высоким энергопотреблением. Битовое значение ячейки статической памяти характеризуется состоянием затворов транзисторов, а динамической — уровнем заряда конденсатора. Так как конденсаторы имеют свойство с течением времени разряжаться, то для поддержания их состояния требуется регулярная перезарядка (для современных микросхем динамической памяти — приблизительно 15 раз в секунду). Кроме того, при операции чтения из ячейки динамической памяти конденсатор разряжается, т. е. ячейка утрачивает свой первоначальный заряд, а следовательно должна быть перезаряжена.
Очевидно, что статическая память используется там, где требуется максимальное быстродействие (регистры ЦП, кэш-память, локальная память сигнального процессора), а динамическая — там, где приоритетом является объем, а не скорость чтения-записи (оперативная память, буферы периферийных устройств).
Причины внедрения кэш-памяти
Явная необходимость в кэш-памяти при проектировании массовых ЦП проявилась в начале 1990-х гг., когда тактовые частоты ЦП значительно превысили частоты системных шин, и, в частности, шины памяти. В настоящее время частоты серверных ЦП достигают почти 4 ГГц, а оперативной памяти, массово применяемой в серверах, — только 400 МГц (200 МГц с удвоением благодаря передаче по обоим фронтам сигнала). В этой ситуации при прямом обращении к памяти функциональные устройства ЦП значительную часть времени простаивают, ожидая доставки данных. В какой-то мере проблемы быстродействия оперативной памяти могут быть решены увеличением разрядности шины памяти, но даже в серверах младшего уровня нередко встречается 8-16 гнезд для модулей памяти, поэтому такое решение усложняет дизайн системной платы. Проложить же 256- или даже 512-бит шину к расположенной внутри кристалла ЦП кэш-памяти сравнительно несложно. Таким образом, эффективной альтернативы кэш-памяти в современных высокопроизводительных системах не существует.
Иерархическая модель кэш-памяти
Как правило, кэш-память имеет многоуровневую архитектуру. Например, в компьютере с 32 Кбайт внутренней (в ядре ЦП) и 1 Мбайт внешней (в корпусе ЦП или на системной плате) кэш-памяти первая будет считаться кэш-памятью 1-го уровня (L1), а вторая — кэш-памятью 2-го уровня (L2). В современных серверных системах количество уровней кэш-памяти может доходить до четырех, хотя наиболее часто используется двух- или трехуровневая схема.
В некоторых процессорных архитектурах кэш-память 1-го уровня разделена на кэш команд (Irstruction Cache, I-cache) и кэш данных (Data Cache, D-cache), причем необязательно одинаковых размеров. С точки зрения схемотехники проще и дешевле проектировать раздельные I-cache и D-cache: выборку команд проводит 1-bох, а выборку данных — Е-box и F-box, хотя в обоих случаях задействуются А-box и С-box. Все эти блоки велики, и обеспечить им одновременный и быстрый доступ к одному кэшу проблематично. Кроме того, это неизбежно потребовало бы увеличения количества портов доступа, что также усложняет задачу проектирования.
Так как I-cache и D-cache должны обеспечивать очень низкие задержки при доступе (это справедливо для любого кэша L1), приходится жертвовать их объемом — обычно он составляет от 16 до 32 Кбайт. Ведь чем меньше размер кэша, тем легче добиться низких задержек при доступе.

Добавлен: 16.01.2012, 21:41 [ Скачать с сервера (288.5 Kb) ]
Категория: Программирование | Добавил: Lakomka
Просмотров: 946 | Загрузок: 155
Рейтинг: 0.0/0

форма входа

Логин:
Пароль:

объявления

Вашему вниманию предлагается книга разнообразных рецептов блюд со специями.
На что способны две бригады российского спецназа, перенесенные в июнь 1941 года и оказавшиеся на направлении главного удара гитлеровцев? Готовы ли солдаты XXI века встать плечом к плечу с прадедами? Смогут ли они остановить танковые клинья Вермахта? Изменят ли ход Великой Отечественной войны и судьбу Родины?
Новое слово в жанре альтернативно...
В этой книге вы найдете замечательные рецепты пиццы, пасты и других итальянских блюд.
«Зеленый шатер» – это роман о любви, о судьбах, о характерах. Это настоящая психологическая проза. Но вместе с тем новое произведение Улицкой шире этих определений.

И, как всегда у Улицкой, кроме идейного и нравственного посыла, есть еще эмоциональная живопись, тот ее уникальный дар, который и выводит книги писательницы на десятках язы...

объявления

Акрополь
Афінський Акрополь почав забудовуватись ще у 2 тисячолітті до н.е. під час греко-персидських війн (480-479) роки до н.е.) він був повністю зруйнований, пізніше під керуванням скульптора і архітектора Фідія почалось його відновлення і реконструкція.
[Архитектура] - скачать

Эндогенные процессы.

[Геодезия, геология] - скачать

Аудирование на основе коммуникативного подхода и его место в развивающем обучении

[Педагогика] - скачать

Бильярд: упражнения по освоению удара

[Физкультура и Спорт] - скачать

Кислоты и основания

[Химия] - скачать

- Промывка котлов
- Изoбpaжeниe oбыдeннoй жизни, бытa и нacyщныx пpoблeм Poccии в «Дepeвнe» И.A. Бyнинa
- Факты о цветочных букетах
- Пьeca «Дaчники» M. Гopькoгo o кpизиce интeллигeнции нaчaлa XX вeкa
- Управление коммерческой недвижимостью
- Особенности машинной вышивки
- Изoбpaжeниe жeнcкиx xapaктepoв в пpoизвeдeнияx H.C. Лecкoвa
- Виды упаковки на почте России
- Холодильное оборудование для овощехранилищ
- Bitcoin-кошелек
- Пoвecть «Двoйник» Ф.M. Дocтoeвcкoгo и ee ocoбoeннocти
- Почему плохо растут огурцы
- Вышел новый детектив Джоан Роулинг
- Кто такой провайдер интернета и что он делает
- В мире игровых слотов
- Кисловодск
- Дэвид Гилмор
- Серебро и его магические свойства
- Как выбрать ручной фрезер по дереву
- Как пересадить гузманию
- Bлияниe нayки нa литepaтypy
- Литepaтypoвeдeниe и иcкyccтвoзнaние
- Черкассы: достопримечательности и описание
- Хмельницкий (город): достопримечательности
- Достопримечательности Винницы
- Филocoфcкo-иcтopичecкaя кoнцeпция poмaнa «Пeтepбypг» Aндpeя Бeлoгo
- Poмaн «Пeтepбypг» Aндpeя Бeлoгo: o Poccии и peвoлюции
- Виды бейджей. Размер бейджа и его предназначение
- Преимущества окон из лиственницы
- Спутниковый интернет и его преимущества
- Прокат автомобилей: преимущества и достоинства
- Мягкая кровля: виды, особенности монтажа, преимущества
- Яблоня — особенности выращивания и выбора саженцев
- Общие сведения и краткая история Майкопа
- Что такое вывод из запоя
- Пoэтичecкoe твopчecтвo Aндpeя Бeлoгo нaчaлa 1900-x гг.
- «Cимфoнии» Aндpeя Бeлoгo и иx xyдoжecтвeнныe ocoбeннocти
- Первый раз в детский сад. Медицинская карта для детского сада
- Что такое лотки для теплотрасс? Какие функции они выполняют?
- Пpeкpacный и cтpaшный миp в пoэзии A. A. Блoкa
- Pacцвeт пoэтичecкoгo тaлaнтa A. A. Блoкa в 1910-e гг.
- Виды теплообменников, их устройство и принцип работы
- Мебельный крепеж – виды и особенности применения
- Балет для взрослых: в чем преимущество популярного танцевального направления
- Тайский бокс и его особенности
- Что такое аккумулятор и для чего он нужен в автомобиле?
- Преимущества работы вебкам модели на студии
- Достоинства сигар и их история
- Как выбрать лучшего адвоката по уголовным делам?
- Пepвыe пoэтичecкиe oпыты Aлeкcaндpa Aлeкcaндpoвичa Блoкa