396-1 (607624)

Файл №607624 396-1 (Архитектура и производительность серверных ЦП)396-1 (607624)2016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

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

Сегодня центральные процессоры (ЦП) — неотъемлемая часть современной компьютерной техники, но так было не всегда. Первые «серверы» в современном понимании (мэйнфреймы) не имели ЦП как таковых. Вычислительные функции в них выполняли неспециализированные наборы системной логики (стандартные микросхемы и прочие полупроводниковые компоненты). Однако по мере развития компьютерных технологий появилась возможность создавать все более сложные микросхемы, в том числе специализированные — процессоры.

Когда появились первые персональные компьютеры и начали быстро расти их продажи (в 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 Кбайт. Ведь чем меньше размер кэша, тем легче добиться низких задержек при доступе.

Кэш-память 2-го уровня, как правило, унифицирована, т. е. может содержать как команды, так и данные. Если она встроена в ядро ЦП, то говорят о S-cache (Secondary Cache, вторичный кэш), в противном случае — о B-cache (Backup Cache, резервный кэш). В современных серверных ЦП объем S-cache составляет от одного до нескольких мегабайт, a B-cache — до 64 Мбайт. Если дизайн ЦП предусматривает наличие встроенной кэш-памяти 3-го уровня, то ее именуют T-cache (Ternary Cache, третичный кэш). Как правило, каждый последующий уровень кэш-памяти медленнее, но больше предыдущего по объему. Если в системе присутствует B-cache (как последний уровень модели кэш-памяти), то он может контролироваться как ЦП, так и набором системной логики.

Если в момент выполнения некоторой команды в регистрах не окажется данных для нее, то они будут затребованы из ближайшего уровня кэш-памяти, т. е. из D-cache. В случае их отсутствия в D-Cache запрос направляется в S-cache и т. д. В худшем случае данные будут доставлены непосредственно из памяти. Впрочем, возможен и еще более печальный вариант, когда подсистема управления виртуальной памятью операционной системы (ОС) успевает вытеснить их в файл подкачки на жесткий диск. В случае доставки из оперативной памяти потери времени на получение нужных данных могут составлять от десятков до сотен тактов ЦП, а в случае нахождения данных на жестком диске речь уже может идти о миллионах тактов.

Характеристики

Тип файла
Документ
Размер
424,84 Kb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

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

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее