|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Реферат: Характеристика двухядерных процессоров. Многоядерные процессоры рефератМногоядерные процессоры, Информатика - РефератРеферат по предмету: Информатика (Пример)Содержание Введение История развития многоядерных процессоров, их особенности Сокеты Многоядерные процессоры. Применение. Успех МП, а также недостатки архитектуры. Потенциал одноядерных процессоров. Характеристики процессоров Заключение. Перспективы многоядерных процессоров. Список литературы Содержание Выдержка из текста Третий класс составляют процессоры, выпускаемые такими промышленными гигантами, как AMD, Intel, Sun. Среди вышеперечисленных к асимметричным можно отнести процессоры AsAP, Cell, МС-∗, NVCom-01. Остальные процессоры имеют однотипные ядра. Классификация многоядерных процессоров Архитектуры MIMD SIMD (потоковые) SMP SEAforth, Tile, Larrabee, Opteron, Nehalem, Ultra Sparc, 1891ВМ 3, ARM MPCore G80, CSX700 AMP Cell, AsAP, МС-∗, NVCom-01 Произведем сравнение их характеристик по следующим показателям: разрядность, производительность, потребляемая мощность, стоимость, размеры, классы задач, на которые рассчитаны. Безусловно, данное сравнение не вполне корректно, так как даст только абсолютные или пиковые показатели процессоров, безотносительно к задачам или тестам, однако оно даст общую картину — своего рода срез. Сравнительные характеристики производительности процессоров, потребляемой мощности и скоростей обмена данными представлены в следующих таблицах. Производительность многоядерных процессоров Процессор Количество ядер Млн. операций в сек. (общ.) МФлопс (общее) Кол-во потоков на ядро Потребляемая мощность, Вт SEAforth 40 40 26 000 — 1 0,5 Tile 64pro 64 443 000 — 1 20 Tile-Gx 100 100 750 000 1 10−50 AsAP 167 10 824−196 800 770 1 0,01−10 CSX700 192 48 000 96 000 1 9 Larrabee ∼ 32 2000 4 G80 128 518 000 96 150 Mips 32 1004k 4 3200 90 2 0,4 xlp 832 8 4000−16 000 4 15−50 ARM11 PCore 4 1200−2400 1 ARM Cortex-A9 MPCore 4 ∼ 8000 1 ARM Cortex-A5 MPCore 4 ∼ 2000 1 Cell Broadband 9 17 000 250 000 2 80 AMD Opteron 4/6/12 21 600−46 800 28 800−41 600/ 2 40−75 43 200−62 400/ 86 400−124 800 2 40−75 Sun Ultra Spark T2 4/6/8 7200−22 400 11 000 8 46/57/91 Intel Core i 7 4/8 38 400−105 600 60 000−70 000 2 90−130 МС-24 2 640 480 1 1,5 МС-0226 3 1600 1200 1 NVCom-01 3 4800 3600 1 0,28−1,0 МС-0428 5 >8000 Скорости передачи данных и топология связей Процессор Топология Скорость передачи данных между ядрами Скорость обмена с памятью SEAforth 40 решетка 3,6 Гб/с 0,9 Гб/с Tile 64pro сеть (толстое дерево) 2. Тб/с 25,6 Гб/с Tile-Gx 100 сеть (толстое дерево) 20. Тб/с 50. Гб/с AsAP ячеистая сеть 1200 Мб/с CSX700 линейка 4 Гб/с 2×4 Гб/с Larrabee двойное кольцо G80 шина в памяти 7. Гб/с xlp 832 сеть передачи сообщений 51,2 Гб/с ARM11 MPCore шина 1,3 Гб/с 1,3 Гб/с ARM Cortex-A9 MPCore шина 1,3 Гб/с 1,3 Гб/с ARM Cortex-A5 MPCore шина 1,3 Гб/с 1,3 Гб/с Cell Broadband два двойных кольца 25,6 Гб/с 25,6 Гб/с AMD Opteron перекрестный коммутатор 3,2 Гб/с / 9,6 Гб/с 5,3 Гб/с Sun Ultra Spark T2 перекрестный коммутатор 6. Гб/с 5. Гб/с Intel Core i 7 перекрестный коммутатор 12,8 Гб/с 3. Гб/с 1891ВМ 3 точка-точка 2,664 Гб/с МС-12(1892ВМ 3Т) шина МС-24 шина МС-0226 звезда NVCom-01 звезда МС-0428 звезда Можно также сравнить характеристики отдельных ядер многоядерных процессоров — по производительности, количеству поддерживаемых потоков выполнения, потребляемой мощности. Производительность отдельных ядер Процессор Разрядность Млн. операций в сек. Кол-во потоков на ядро Потреб. ядром мощность, Вт Удельная потр. ядром мощность, мВт/МIPS Ватт/ поток SEAforth 40 18 700 1 0,0125 0,018 0,0125 Tile 64pro 32 700 1 0,3125 0,446 0,3125 32 866 1 0,3125 0,361 0,3125 Tile-Gx 100 64 3000−4500 1 0,1−0,5 0,033−0,11 0,1−0,5 AsAP 16 66 1 0,0001 0,001 0,0001 16 1000 1 0,0599 0,060 0,0599 CSX700 32 250 1 0,0469 0,188 0,0469 Larrabee 32/512 4 G80 32 1350 96 1,1719 0,868 0,0122 Mips 32 1004k 32 800 2 0,1000 0,125 0,0500 xlp 832 32 500 4 1,8750 3,750 0,4688 32 2000 4 6,2500 3,125 1,5625 ARM11 MPCore 32 320−620 1 0,075−0,260 0,23−0,43 0,075−0,260 ARM Cortex -A9 MPCore 32 1000−2000 1 ARM Cortex-A5 MPCore 32 480 1 0,06 0,12 0,06 Cell Broadband 64/128 4000 2 8,8889 2,222 4,4444 AMD Opteron 64 5400 2 10,0000 1,852 5,0000 64 7800 12,5000 1,603 6,2500 Sun Ultra Spark T2 64 1800 8 11,5000 6,389 1,4375 64 2200 8 9,5000 4,318 1,1875 64 2800 8 11,3750 4,063 1,4219 Intel Core i 7 64 9600 2 22,5000 2,344 11,2500 64 13 200 2 16,2500 1,231 8,1250 1891ВМ 3 64 500 1 2,5 0,005 2,5 МС-12 (1892ВМ 3Т) 32/64 80/320 1 0,7/0,5 0,009/0,0016 0,7/0,5 МС-24 (1892ВМ 2Я) 32/64 80/320 ½ 0,7/0,8 0,009/0,0016 0,7/0,5 МС-0226 (1892ВМ 5Я) 32/64 100/800 ½ 0,7/0,8 0,009/0,0016 0,7/0,5 NVCom-01 32/64 1 МС-0428 32/64 1 Немалый вклад в общую производительность процессора и эффективность его работы вкладывает и структура межъядерных связей и организация подсистемы памяти, в частности кэш-памяти. Кэш-память Процессор Кол-во ядер Размер кэша, байт L1 L2 L3 L1-I L1-D SEAforth 40 40 64 Tile 64pro 64 16 К 64 К 5 М Tile-Gx 100 100 32 К 32 К 256 К 32 М AsAP 167 128 128 CSX700 192 6 К Larrabee ∼ 32 64 К 256 К G80 128 5 К 32 К Mips 32 1004k 4 8−64 К 8−64 К xlp 832 8 64 К 32 К 512 К 8 М (5) ARM11 MPCore 4 16 К 16 К ARM Cortex-A9 MPCore 4 16 К 16 К ARM Cortex-A5 MPCore 4 16 К 16 К Cell Broadband 9 16 К 16 К 512 К AMD Opteron 4/6/12 64К/64К/128К 512К/512К/512К 2 М (4М)/6М Sun Ultra Spark T2 4/6/8 16 К 8 К 4 М Intel Core i 7 4/8 32 К 32 К 256 К 8 М 1891ВМ 3 2 16 К 32 К 512 М МС-12 (1892ВМ 3Т) 2 16 К МС-24 2 16 К МС-0226) 3 16 К NVCom-01 3 16 К МС-0428 5 В плане управления энергопотреблением процессора интересны разработки компании Intel, направленные на реализацию метода динамического регулирования интенсивности выполнения инструкций (Energy Per Instruction — EPI) в зависимости от степени параллелизма программы. Была показана эффективность регулирования тактовой частоты в асимметричной мультипроцессорной системе в зависимости от уровня активности вычислительных ядер. Можно выделить несколько схем управления энергопотреблением многоядерных процессоров, реализуемых на данный момент:
Основной подход к организации многопоточности ядер — параллелизм на уровне потоков (уменьшение времени простоя из-за ожидания данных из памяти или загрузка различных исполнительных блоков процессора) в сочетании с параллелизмом на уровне инструкций (параллельное исполнение нескольких команд за цикл). Рассматривая многоядерные процессоры (many-core), в итоге можно выделить два направления, по которым на данный момент идет развитие многоядерных процессоров:
Круг применений данных процессоров шире — бортовые вычислительные системы, системы, обслуживающие сетевые приложения, обработка мультимедийных данных и сигналов, высокопроизводительные кластеры. Общим для многоядерных процессоров пока остается поддержка их ядрами одного потока выполнения, хотя в некоторых процессорах присутствует параллелизм на уровне инструкций. Среди мультиядерных процессоров (multi-core) стоит выделить следующие направления:
Процессоры этого направления имеют развитую шинную систему, низкое энергопотребление.
В развитии данного направления, скорее всего, следует ожидать сближения «обычных» мультиядерных и графических процессоров, расширения поддержки виртуализации процессоров, увеличения количества одновременно поддерживаемых потоков. Заключение. Перспективы многоядерных процессоров. Эволюция технологий, не только информационных, неизбежно связана с количественными и качественными переходами на новый уровень. Каждый такой переход сопровождается созданием новых инженерно-технических и научных школ. То же явление можно наблюдать и с переходом от одноядерных процессоров к многоядерным. Это революционный переход, который еще не завершен. Многоядерные процессоры являются одной из наиболее активно развивающихся областей электроники на данный момент. В среднем примерно раз в полтора-два месяца какая-либо из компаний-производителей заявляет о разработке или выпуске нового процессора или архитектуры. Совершенствуются способы взаимодействия процессорных ядер на кристалле между собой. В многоядерных процессорах преобладают сложные сетевые структуры. Мультиядерные процессоры используют шинные решения или соединения «точка-точка». Также в качестве одной из тенденций можно отметить стремление интеграции на кристалле процессора, кроме процессорных элементов контроллеров памяти, таймеров, периферийных интерфейсов, — так называемые «системы на кристалле». Одной из основных проблем остается высокая латентность основной памяти. Общее энергопотребление процессоров за последние годы практически не возросло, а для некоторых классов процессоров имеет явные тенденции к снижению. Тем не менее, судить о состоявшейся революции мы можем пока только на интуитивном уровне, хотя, несмотря на ее незавершенность, можно сказать о том, что будущее все-таки стоит за многоядерными процессорами и системами. Список литературы Калачев А.В. Многоядерные процессоры. Издательство: Интернет-университет информационных технологий — ИНТУИТ.ру, БИНОМ. Лаборатория знаний. Серия: Основы информационных технологий. 2010 г. Леонид Черняк. Многоядерные процессоры и грядущая параллельная революция. «Открытые системы», № 04, 2007 г. Александр Шаронов. Многоядерные процессоры. Ferra.ru http://www.kit-e.ru/articles/industrial/200708_145.php http://netler.ru/pc/multi-core.htm С.А. Немнюгин. Модели и средства программирования для многопроцессорных вычислительных систем. Интернет-Университет информационных технологий. 2010 г. А.В. Богданов, Е.Н. Станкова, В.В. Мареев, В.В. Корхов. Курс лекций по архитектуре и топологии многопроцессорных вычислительных систем. Интернет-Университет информационных технологий. 2006 г. Леонид Черняк. Многоядерные процессоры и грядущая параллельная революция. Издание «Открытые системы», № 04, 2007 г. А.В. Богданов, Е.Н. Станкова, В.В. Мареев, В.В. Корхов. Курс лекций по архитектуре и топологии многопроцессорных вычислительных систем. Интернет-Университет информационных технологий. 2006 г. Калачев А.В. Многоядерные процессоры. Издательство: Интернет-университет информационных технологий. БИНОМ. Лаборатория знаний. Серия: Основы информационных технологий. 2010 г. Калачев А.В. Многоядерные процессоры. Издательство: Интернет-университет информационных технологий. БИНОМ. Лаборатория знаний. Серия: Основы информационных технологий. 2010 г. Калачев А.В. Многоядерные процессоры. Издательство: Интернет-университет информационных технологий. БИНОМ. Лаборатория знаний. Серия: Основы информационных технологий. 2010 г. Калачев А.В. Многоядерные процессоры. Издательство: Интернет-университет информационных технологий. БИНОМ. Лаборатория знаний. Серия: Основы информационных технологий. 2010 г. Калачев А.В. Многоядерные процессоры. Издательство: Интернет-университет информационных технологий. БИНОМ. Лаборатория знаний. Серия: Основы информационных технологий. 2010 г. 2 Список литературы 1.Калачев А.В. Многоядерные процессоры. Издательство: Интернет-университет информационных технологий — ИНТУИТ.ру, БИНОМ. Лаборатория знаний. Серия: Основы информационных технологий. 2010 г. 2.Леонид Черняк. Многоядерные процессоры и грядущая параллельная революция. «Открытые системы», № 04, 2007 г. 3.Александр Шаронов. Многоядерные процессоры. Ferra.ru 4.http://www.kit-e.ru/articles/industrial/200708_145.php 5.http://netler.ru/pc/multi-core.htm 6.С.А. Немнюгин. Модели и средства программирования для многопроцессорных вычислительных систем. Интернет-Университет информационных технологий. 2010 г. 7.А.В. Богданов, Е.Н. Станкова, В.В. Мареев, В.В. Корхов. Курс лекций по архитектуре и топологии многопроцессорных вычислительных систем. Интернет-Университет информационных технологий. 2006 г. список литературы referatbooks.ru Реферат Многоядерные процессорыскачатьРеферат на тему: План:
ВведениеМногоя́дерный проце́ссор — центральный процессор, содержащий два и более вычислительных ядра на одном процессорном кристалле или в одном корпусе. 1. Архитектура многоядерных системМногоядерные процессоры можно классифицировать по наличию поддержки когерентности кешей между ядрами. Бывают процессоры с такой поддержкой и без нее. Способ связи между ядрами: Разделяемая шина, Сеть (Mesh) на каналах точка-точка, сеть с коммутатором, Общие кеши, Кеши: Во всех существующих на сегодняшний день многоядерных процессорах кэш-память первого уровня у каждого ядра своя, а кэш 2-го уровня существует в нескольких вариантах:
2. ПроизводительностьВ приложениях, оптимизированных под многопоточность, наблюдается прирост производительности на двухъядерном процессоре. Однако, если приложение не оптимизировано, то оно не будет получать практически никакой выгоды от дополнительных ядер, а может даже выполняться медленнее, чем на процессоре с меньшим количеством ядер, но большей тактовой частотой. Это в основном старые приложения, либо приложения, не использующие многопоточность. 3. Наращивание количества ядерНа сегодняшний день основными производителями процессоров — Intel и AMD дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности. В 2010 году уже освоено производство 6-ти ядерных процессоров для домашних компьютеров, и 8-ми и 12-ти ядерных для серверных систем. Первыми 12-ядерными серийными процессорами стали в марте 2010 года серверные процессоры Opteron 6100 компании AMD (архитектура x86/x86-64)[1]. Имеются экспериментальные разработки процессоров с большим количеством ядер (более 20). Некоторые из таких процессоров уже нашли применение в специфических устройствах. 27 сентября 2006 года Intel продемонстрировала прототип 80-ядерного процессора.[2] Предполагается, что массовое производство подобных процессоров станет возможно не раньше перехода на 32-нанометровый техпроцесс, а это, в свою очередь, ожидается к 2010 году. 20 августа 2007 года компания Tilera, анонсировала чип TILE64 (англ.) с 64 процессорными ядрами и встроенной высокопроизводительной сетью, посредством которой обмен данными между различными ядрами может происходить со скоростью до 32 Тбит/с[3][4]. 26 октября 2009 года Tilera анонсировала[5] 100-ядерный процессор широкого назначения серии TILE-Gx (англ.). Каждое процессорное ядро представляет собой отдельный процессор с кэшем 1, 2 уровней. Ядра, память и системная шина связаны посредством технологии Mesh Network. Процессоры производятся по 40-нм нормам техпроцесса и работают на тактовой частоте 1,5 ГГц. Выпуск 100-ядерных процессоров назначен на начало 2011 года. 2 декабря 2009 года Intel продемонстрировала одночиповый «облачный» (Single-chip Cloud Computer, SCC) компьютер, представляющий собой 48-ядерный чип. «Облачность» процессора состоит в том, что все 48 ядер сообщаются между собой как сетевые узлы. SCC — часть проекта, целью которого является создание 100-ядерного процессора. Ожидается, что некоторые функции SCC появятся в серийных процессорах Intel в 2010 году[6]. 4. Многоядерные контроллерыСуществует, также, тенденция внедрения многоядерных контроллеров в мобильные устройства. Например
Примечания
wreferat.baza-referat.ru Реферат Многоядерный процессорскачатьРеферат на тему: План:
ВведениеМногоя́дерный проце́ссор — центральный процессор, содержащий два и более вычислительных ядра на одном процессорном кристалле или в одном корпусе. 1. Архитектура многоядерных системМногоядерные процессоры можно классифицировать по наличию поддержки когерентности кешей между ядрами. Бывают процессоры с такой поддержкой и без нее. Способ связи между ядрами: Разделяемая шина, Сеть (Mesh) на каналах точка-точка, сеть с коммутатором, Общие кеши, Кеши: Во всех существующих на сегодняшний день многоядерных процессорах кэш-память первого уровня у каждого ядра своя, а кэш 2-го уровня существует в нескольких вариантах:
2. ПроизводительностьВ приложениях, оптимизированных под многопоточность, наблюдается прирост производительности на двухъядерном процессоре. Однако, если приложение не оптимизировано, то оно не будет получать практически никакой выгоды от дополнительных ядер, а может даже выполняться медленнее, чем на процессоре с меньшим количеством ядер, но большей тактовой частотой. Это в основном старые приложения, либо приложения, не использующие многопоточность. 3. Наращивание количества ядерНа сегодняшний день основными производителями процессоров — Intel и AMD дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности. В 2010 году уже освоено производство 6-ти ядерных процессоров для домашних компьютеров, и 8-ми и 12-ти ядерных для серверных систем. Первыми 12-ядерными серийными процессорами стали в марте 2010 года серверные процессоры Opteron 6100 компании AMD (архитектура x86/x86-64)[1]. Имеются экспериментальные разработки процессоров с большим количеством ядер (более 20). Некоторые из таких процессоров уже нашли применение в специфических устройствах. 27 сентября 2006 года Intel продемонстрировала прототип 80-ядерного процессора.[2] Предполагается, что массовое производство подобных процессоров станет возможно не раньше перехода на 32-нанометровый техпроцесс, а это, в свою очередь, ожидается к 2010 году. 20 августа 2007 года компания Tilera, анонсировала чип TILE64 (англ.) с 64 процессорными ядрами и встроенной высокопроизводительной сетью, посредством которой обмен данными между различными ядрами может происходить со скоростью до 32 Тбит/с[3][4]. 26 октября 2009 года Tilera анонсировала[5] 100-ядерный процессор широкого назначения серии TILE-Gx (англ.). Каждое процессорное ядро представляет собой отдельный процессор с кэшем 1, 2 уровней. Ядра, память и системная шина связаны посредством технологии Mesh Network. Процессоры производятся по 40-нм нормам техпроцесса и работают на тактовой частоте 1,5 ГГц. Выпуск 100-ядерных процессоров назначен на начало 2011 года. 2 декабря 2009 года Intel продемонстрировала одночиповый «облачный» (Single-chip Cloud Computer, SCC) компьютер, представляющий собой 48-ядерный чип. «Облачность» процессора состоит в том, что все 48 ядер сообщаются между собой как сетевые узлы. SCC — часть проекта, целью которого является создание 100-ядерного процессора. Ожидается, что некоторые функции SCC появятся в серийных процессорах Intel в 2010 году[6]. 4. Многоядерные контроллерыСуществует, также, тенденция внедрения многоядерных контроллеров в мобильные устройства. Например
Примечания
wreferat.baza-referat.ru Многоядерные процессорыМногоядерные процессоры На протяжении длительного времени прогресс в области микропроцессоров фактически отождествлялся со значением тактовой частоты. В 2001 году в корпоративных планах производителей микропроцессоров значилось, что уже к концу десятилетия будет преодолен барьер 10 ГГц. Увы, планы эти оказались неверны. Прав же оказался тот, кто сделал ставку на многоядерные архитектуры. Первый двухъядерный процессор в семействе Power выпустила корпорация IBM. Сегодня многоядерные процессоры предлагает Sun Microsystems (восьмиядерный UltraSPARC T1), а также Intel и AMD. Однако, несмотря на видимый подъем интереса к многоядерным и многопотоковым процессорам, следует признать, что ключевой момент грядущей «параллельной революции» заключается не в собственно процессорах, а в грядущих радикальных изменениях в программном обеспечении. Оно должно стать таким, чтобы сохранилась возможность использовать преимущества экспоненциального роста производительности процессоров. Сила есть — ума не надо На протяжении многих лет разработка суперкомпьютеров была авангардом ИТ-индустрии, своего рода полигоном, где отрабатывались перспективные решения, которые потом переносились на тиражируемые компьютерные системы. Но лет 20-25 тому назад пути массовых систем и суперкомпьютеров разошлись, что не пошло на пользу ни тем, ни другим. Надо признать, что с архитектурной точки зрения нынешние суперкомпьютеры упростились до банальных кластеров, собрать которые мог кто и где угодно — хоть в доме пионеров, были бы место и средства. Однако в последние годы ситуация меняется; пути развития массовых компьютеров и суперкомпьютеров снова сближаются. Причиной тому явление, получившее название Concurrency Revolution. Что можно перевести как «параллельная революция», хотя английское понятие concurrency сложнее, чем «параллельность», поскольку выражает не тривиальный «геометрический» параллелизм, а одновременное существование во времени и пространстве, взаимную совместимость. В расхождении траекторий развития суперкомпьютеров и остальных компьютерных систем оказалось «виновато» быстрое развитие микропроцессорных технологий. Благодаря микропроцессорам практически вся логика компьютеров оказалась собранной на одном кристалле. Из-за этого архитектура компьютеров со времен мини-ЭВМ пребывала в стагнации; их конструирование превратилось в игру в кубики (чтобы убедиться в этом, достаточно посмотреть на любое из семейств современных серверов). К тому же на протяжении десятилетий количественные показатели микропроцессоров росли так быстро, что уверенность в истинности выбранного направления превратилась в догму. Размножились различные формулировки, ошибочно трактующие закон Мура (среди них — утверждения, будто частота или даже производительность удваиваются каждые два года; на самом деле гениальное предвидение одного из основателей Intel фиксирует периодическое удвоение количества транзисторов на кристалле). Бурное развитие микроэлектроники всегда однозначно воспринималось только со знаком плюс. Действительно, результаты прогресса видны невооруженным взглядом, но у любого явления всегда есть оборотная сторона; развитие по закону Мура — не исключение. Из-за удельного удешевления транзисторов открылась возможность компенсировать несовершенство процессорной архитектуры их количеством, что в конечном итоге и стало причиной консервации предложенной в далекие 40-е годы схемы организации компьютерных систем, которая получила свое название по имени Джона фон Неймана. Трудно представить еще какую-либо из современных технологических областей, которая, декларируя свою причастность к техническому прогрессу, была бы столь консервативна по своей сути. О врожденных недостатках фон-неймановской схемы написано немало, но, что бы сейчас ни говорили на эту тему, еще лет десять назад никакие аргументы не возможно было противопоставить убеждению в том, что процессорная индустрия выбрала единственно правильный путь, основанный на количественном росте. Достаточно вспомнить, с какой гордостью произносились новые цифры; считалось, что, если не хватит миллиона транзисторов, сделаем миллиард — «нет проблем», главное уменьшить размеры кристаллов и межсоединений и повысить тактовую частоту. Но за все приходится платить. Каждый транзистор потребляет энергию, в итоге, по данным IDC, сегодня затраты на электричество, необходимое для питания центров обработки данных, составляют свыше 80% от затрат на приобретение компьютерного оборудования, а через пару лет эти показатели сравняются. Модернизации схемы фон Неймана В культовом убеждении в незыблемости первооснов выросли поколения специалистов, если называть вещи своими именами, воспроизводивших классическую модель фон Неймана с небольшими видоизменениями. На самом деле фон-неймановская архитектура компьютера не является единственно возможной, пространство допустимых решений гораздо шире. Так, исходя из способов организации последовательности выполнения команд и обмена данными между процессором и памятью, все компьютеры можно разделить на четыре класса: SISD (Single Instruction Single Data) — «один поток команд, один поток данных»; SIMD (Single Instruction Multiple Data) — «один поток команд, много потоков данных»; MISD (Multiple Instruction Single Data) — «много потоков команд, один поток данных»; MIMD (Multiple Instruction Multiple Data) — «много потоков команд, много потоков данных»; Класс SISD предполагает, что в один момент времени может быть выполнена одна команда, и она может оперировать только теми порциями данными, адреса которых непосредственным образом присутствуют в операндах этой команды. Напротив, в класс MIMD попадают машины, которые могут одновременно выполнять множество команд, используя при этом множество фрагментов данных. Эта классификация известна как «таксономия Флинна», она названа так по имени предложившего ее Майкла Флинна, выдающегося инженера и ученого, ныне являющегося профессором Стэндфордского университета. Из нее следует, что фон-неймановская машина является частным случаем, попадающим в класс SISD. Большинство современных компьютеров построено именно по этой схеме; между тем все суперкомпьютеры из первой десятки TOP500 построены по схеме MIMD. Было бы некорректно объяснять рост производительности процессоров только наращиванием количественных показателей, вполне естественно, что на протяжении десятилетий было предложено несколько серьезных модернизаций, являющихся отступлениями от схемы фон Неймана, но ограниченными масштабом. Исторически первым оказалось изобретение процессоров, способных выполнять операции не над содержимым одного или нескольких регистров, а над более крупными фрагментами данных; по классификации Флинна они попадают в класс SIMD. Их появление связывают с проектом Solomon (1962 год, компания Westinghouse). Позднее аналогичный принцип работы с данными был реализован в самой производительной машине своего времени ILLIAC IV (1972). Если процессор, используя одну команду, может выполнять действия над векторами, то его называют векторным процессором (vector processor), а если над массивами, то процессором массивов (array processor). Впоследствии Сеймур Крей использовал векторные принципы при разработке своих суперкомпьютеров, начиная с Cray-1. Сегодня схема SIMD широко используется в специализированных процессорах, предназначенных для игровых консолей. После введения нового класса векторных процессоров обычные процессоры стали вынужденно, чтобы различать, называть «скалярными»; именно поэтому на следующем шаге появились решения со странным названием «суперскалярные процессоры». Идея суперскалярности заключается в том, что процессор просматривает приближающиеся к исполнению команды и выбирает из них те последовательности, которые могут быть выполнены параллельно. Такие процессоры способны выполнять несколько инструкций за один такт, а такой вид параллелизма стали называть параллелизмом на уровне команд (Instruction-Level Parallelism, ILP). Очевидно, что при заданной частоте суперскалярный процессор будет производительнее скалярного, поскольку он способен выделить в подмножество и одновременно выполнить несколько команд, распределив их по своим функциональным устройствам. Родоначальником идеи ILP был тот же Крей; он реализовал ее в 1965 году в компьютере CDC 6600, затем ILP была воспроизведена в процессоры Intel i960 (1988 год) и AMD 29050 (1990), особенно «впору» суперскалярный подход пришелся для RISC-процессоров с их упрощенной системой команд. Позже, начиная с Pentium II, обрели ILP и процессоры с архитектурой CISC. Примерно в то же время — сначала на мэйнфреймах, а позже и на мини-ЭВМ — появилась кэш-память; в дальнейшем идея кэширования получила развитие в многоуровневых решениях, предполагавших наличие кэшей первого и второго, а затем и третьего уровня. Еще одним существенным изобретением, ускорившим работу процессоров, оказалось внеочередное исполнение (out-of-order execution, OoO), представляющее собой ограниченную реализацию идеи обработки потока данных (data flow computation). Хотя первые попытки в этом направлении были предприняты еще при проектировании компьютеров CDC, но реально первые внедрения были в IBM 360, а затем в процессорах Power1. Одно из важнейших достоинств внеочередного исполнения состоит в том, что данная технология позволяет согласовать более высокую скорость работы процессоров с менее быстродействующей памятью, сняв часть нагрузки с кэш-памяти. Заметной вехой в ряду усовершенствований фон-неймановской архитектуры стоит распараллеливание потоков (Thread Level Parallelism, TLP). Данная технология существует в нескольких версиях; среди них — одновременная многопоточность (Simultaneous Multithreading, SMT) и многопоточность на уровне кристалла (Сhip-level Multithreading, CMT). Эти два подхода в основном различаются представлением о том, что есть «поток», иначе говоря, по уровню гранулярности потоков. Хронологически первым процессором, поддерживающим многопоточность, был процессор DEC Alpha EV4 21064. Драматическая судьба этого процессорного семейства была и остается предметом серьезных обсуждений, и, хотя на версии EV7 производство прекратилось, а EV8 и EV9 остались на бумаге, есть основания полагать, что ядро EV7 может возродиться в одном из готовящихся к выпуску многоядерных процессоров. Типичным представителем лагеря SMT является Pentium 4 с его технологией HTT (Hyper-Threading Technology). Процессор поддерживает деление на два потока команд, выбираемых из одной задачи в режиме SMT, что обеспечивает суммарное повышение производительности примерно на 30%. В процессоре UltraSPARC T1, известном прежде под кодовым названием Niagara, потоки образуются из разных задач; никакой одновременности в данном случае нет, каждый поток представляет собой виртуальное ядро процессора. Итак, все вроде бы замечательно, но результатом усложнения логики оказалась заметная диспропорция в затратах на производительную и вспомогательную составляющие процессоров — собственно арифметико-логическое устройство занимает на них менее 20% площади кристалла. Ядра на кристалле Первыми представителями архитектуры CMP стали процессоры, предназначенные для использования в серверах, это был простой тандем, в таких приборах на одной подложке размещаются два, по сути, независимых ядра (рис. 1, б). Помимо экономии места подобное решение дает ощутимую экономию энергии, поскольку часть системотехнических компонентов является общей для обоих ядер. Развитием этой схемы стали решения CMP, показанные на рис. 1, в и 1, г. Сначала исходная идея обогатилась общей кэш-памятью, а затем каждое из ядер стало многопотоковым; каждое из этих усовершенствований увеличивает те преимущества, которые дает совмещение нескольких ядер в одном кристалле. Но нельзя забывать и о том, что деление процессора на ядра и далее на потоки внутри ядер, и как любое иное инженерное решение, не свободно от необходимости идти на компромисс. Разумеется, в перспективе оно может обеспечить целый ряд преимуществ, но, чтобы их получить, необходимо преодолеть весьма серьезные препятствия. Однако прежде о достоинствах. С точки зрения организации и упрощения проектирования достоинства CMP неоспоримы. Понятно, можно разработать одно очень эффективное ядро, а затем тиражировать его в нужном количестве, дополняя архитектуру нужными системными компонентами. Такой подход обладает модульностью, масштабируемостью, а главное, уменьшает трудозатраты, что сможет в будущем изменить баланс сил на процессорном рынке. Дело в том, что увеличение количества транзисторов в одном ядре ведет к резкому, нелинейному росту затрат труда проектировщиков и других специалистов, участвующих в процессе создания новых кристаллов. Как следствие, возрастает стоимость проектирования новых процессоров, а потому этот вид деятельности становится прерогативой самых крупных компаний. (Одно время, когда практически все поверили в архитектуру EPIC, многим представлялось, что число семейств процессоров вообще будет сведено к одному или — в крайнем случае — к двум; к счастью, эти прогнозы не оправдались.) При модульном проектировании трудозатраты оказываются существенно меньше, чем затраты на проектирование единого, существенно более сложного процессорного ядра. Как следствие, переход к многоядерным архитектурам может демократизировать процессорную отрасль; он в состоянии вернуть на рынок небольшие компании и создать новые возможности для возникновения разнообразных «стартапов». В этом отношении показателен пример Sun Microsystems, которая открыла спецификацию на процессор Ultra SPARC T1, и уже сегодня появились компании, воспроизводящие его архитектуру в собственных разработках. Схожие цели преследует и корпорация IBM, инициировавшая создание и поддерживающая деятельность сообщества power.org. Второе преимущество заключается в том, что переход на многоядерные процессоры позволит решить постоянно возрастающие проблемы энергопотребления. Вообще говоря, то, что центры обработки данных, имеющие дело с нематериальной сферой, сравнились по уровню энергопотребления с промышленными производствами, выглядит, по меньшей мере, странно. Если, к примеру, на кристалле разместить два ядра и заставить их работать на тактовой частоте, вдвое меньшей, чем аналогичный одноядерный процессор, а потом сравнить энергопотребление этого кристалла с монолитным аналогом, имеющим производительность, равную их суммарной характеристике, то обнаружится, что энергопотребление уменьшается в несколько раз, поскольку оно растет почти пропорционально квадрату частоты. Для оценки этого рода преимуществ многоядерных процессоров в Sun предложили метрику SWaP (Space, Watts and Performance), которая выражается отношением производительности к произведению потребляемой мощности на занимаемое пространство. По этой метрике серверы, построенные на процессорах Niagara, превосходят свои аналоги в пять с лишним раз. Это абсолютный и не нуждающийся в комментариях аргумент в пользу многоядерности. И тем не менее в этом эффективном сравнении есть очевидная некорректность, основной вопрос заключается в том, что именно понимать под производительностью. Напрашивается очевидная аналогия с автомобильными двигателями. Для того чтобы адекватно оценить характеристики двигателя внутреннего сгорания, одним показателем — его максимальной мощностью обойтись нельзя. Следует учитывать то, на каком числе оборотов развивается максимальная мощность, какова максимальная величина крутящего момента и какова моментная характеристика. Следуя методике Sun, мы можем предложить условный показатель, аналогичной SWaP, включив в него вес, мощность, расход топлива и что-то еще в этом роде. После этого мы будем сравнивать, скажем, двигатели легкового автомобиля с судовыми или тепловозными двигателями, в таком случае при равной мощности десять двигателей по 200 лошадиных сил опередят тяжелый дизель по этому показателю в десятки раз, но это вовсе не значит, что они смогут обеспечить адекватную замену. Двигателю от болида «Формулы-1» не удастся сдвинуть с места железнодорожный состав. Примерно то же самое можно сказать и о процессорах: выполнение «тяжелых» задач, таких как высокопроизводительные вычисления, работа с большими СУБД и других, не поддающихся простому распараллеливанию, требует большой мощности от каждого ядра. Однако значительная часть серверной нагрузки (в особенности нагрузки, так или иначе связанной с Internet) складывается из выполнения большого количества мелких задач; вот для их решения гораздо лучше подходят многоядерные многопотоковые процессоры. Для такого рода задач величина получаемой ими мощности процессора не является слишком критичной; если перейти на более медленное ядро, то время выполнения задачи — скажем, обращения к Web-сайту, — может увеличиться, но оно в любом случае несопоставимо со временем человеческой реакции. Поэтому задержка, вызванная относительно невысокой величиной индивидуальной мощности одного потока в одном ядре, останется незаметной, зато суммарная высокая производительность сервера имеет большое значение — именно она определяет качество обслуживания. В нынешних условиях реализовать преимущества многоядерных многопотоковых серверов можно на определенной, органичной для них нагрузке, поэтому о таких компьютерах конкуренты охотно говорят как о нишевых продуктах. Такие рассуждения верны, но только на текущий момент, в рамках унаследованной парадигмы программирования. Для того чтобы можно было воспользоваться преимуществами CMP в приложении к более широкому кругу задач, необходимо научиться преобразовывать длинные исполняемые последовательности команд в более короткие цепочки, чтобы их можно было выполнять параллельно. Пока такие методики существуют в языке Фортран применительно к работе с матричными операциями. Революционер из МТИ Наиболее радикален в выражении своего отношения к многоядерности и тем особенно интересен профессор Массачусетского технологического института Ананд Агарвал. Это, безусловно, один из крупнейших современных специалистов по процессорным архитектурам; в свое время он участвовал в разработке первой спецификации SPARC. Несмотря на солидный возраст, он по-юношески экстремален и выражает крайние взгляды, но при этом обнажает и наиболее полным образом выражает саму идею перехода от монолитных процессоров к многоядерным. К тому же созданная им компания Tilera показательна в качестве представителя нового поколения процессорных компаний, не имеющих собственного производства, но обладающих свежими мыслями и ресурсами для проектирования. Далеко не случайно именно Агарвал выступал в качестве одного из основных докладчиков на проводившихся в 2006 и 2007 году конференциях Multicore Expo. Он считает, что многоядерные системы станут столь мощной силой, что разрушат сложившуюся стабильную обстановку и заставят проектировщиков переосмыслить фундаментальные начала. Агарвал предлагает еще одну дополнительную формулировку для закона Мура, в соответствии с ней с периодом 18 или 24 месяца удваиваться должно не только число транзисторов, как это звучит в оригинале, но еще и число ядер на кристалле. Из этого следует, что при сегодняшних одном–восьми ядрах в начале следующего десятилетия их число превысит 1000. Для того чтобы синхронизировать рост числа ядер в соответствии с ростом числа транзисторов (число транзисторов, приходящихся на ядро, по мнению профессора, возрастать не будет), необходимо сохранять простоту ядер, сокращая размеры кэш-памяти, и отказаться от других усовершенствований (суперскалярность, внеочередное исполнение и др.). Можно представить это так, что ядро возвращается к чистой архитектуре фон Неймана, а система на кристалле вбирает в себя всю инфраструктурную сложность. Агарвал предложил правило, названное (им KILL аббревиатура от kill if less than linear, то есть «убей, если меньше, чем линейно»). Правило это можно интерпретировать следующим образом: некоторый ресурс ядра может наращиваться, если при этом обеспечивается, как минимум, линейный рост производительности. Таким образом, утверждает Агарвал, можно найти оптимум для разного рода устройств, например кэш-памяти. Если уменьшить тактовую частоту с 4 до 1 ГГц, то вероятность промаха при обращении в стек уменьшается в четыре раза, и стек можно сделать в 16 раз меньше. После того как выбрана архитектура ядра, следует решить второй вопрос — как объединить между собой ядра. Агарвал считает, что классическая шинная архитектура обречена, ей на смену придет решетчатая инфраструктура (mesh networking). Преимущество решетчатой (рис. 2), или ячеистой, сети состоит в том, что она обладает качеством самолечения, продолжая работать в случае выхода из строя узла или межсоединения. По Агарвалу решетчатая многоядерная архитектура будет распределенной, в ней не будет централизованных ресурсов. Большая часть соображений профессора Агарвала реализуется в проекте RAW, который ведется под его руководством одной из исследовательских лабораторий Массачусетского технологического института. Неизбежность расплаты О параллелизме как о светлом будущем компьютерных систем ученые упорно говорили на протяжении всех последних 30-35 лет. Однако до тех пор, пока преодоление связанных с этим сложностей, например с необходимостью разделения приложений на потоки, компенсировалось непрерывно возрастающей производительностью процессоров, никто из производителей по понятным причинам инвестировать в эту перспективу не хотел. Поэтому до появления многоядерных процессоров параллельные вычисления оставались атрибутом суперкомпьютеров. Многолетнее игнорирование очевидного привело к тому, что, когда час пробил, оказалось, увы, к светлому будущему индустрия не готова, хотя, конечно же, есть отдельные острова готовности, не более того. В роли мальчика, который открыл окружающим глаза на своеобразие королевского одеяния, выступил один из ведущих экспертов по современным языкам программирования, сотрудник корпорации Microsoft Херб Саттер. Настоящим «бестселлером» оказалась простая по форме, но эпохальная по содержанию статья «Бесплатных завтраков не будет. Основополагающий разворот по направлению к параллельности в программировании» (The Free Lunch Is Over A Fundamental Turn Toward Concurrency in Software). Она была опубликована весной 2005 года сразу в двух журналах — Dr. Dobb’s Journal и C/C++ Users Journal. Суть статьи заключается в утверждении, что рост производительности процессоров, опережающий потребности, создал парниковые условия для программирования, что оказалось в конечном итоге не на пользу делу, как известно, эволюция в излишне благоприятной среде если не ведет к вырождению, то уж точно не формирует жизнестойкость, способность противостоять перегрузкам. Существовавшие до сих пор условия Саттер сравнил с бесплатной раздачей завтраков, которая закончилась. Немного позже Саттер вместе с коллегой из Microsoft Джеймсом Ларуссом опубликовал статью «Программное обеспечение и параллельная революция» (Software and the Concurrency Revolution), на этот раз в журнале ACM Queue, где он не столько критиковал настоящее, сколько размышлял о будущем. В ней Саттер назвал необходимую реакцию на изменившиеся условия «грядущей параллельной революцией». Саттер уверен: многоядерные машины — наше неизбежное будущее, а потому главная задача заключается в необходимости научиться программировать для них. Новые компьютеры будут все более и более производительными, но программирование не сможет далее развиваться за счет умения «оседлать волну производительности». Основное направление развития — параллелизм. Сейчас об этом говорят очень многие, но Саттер был одним из первых, кто сделал это публично и в очень яркой форме. Ниже приведено изложение его «манифеста». Нынешнее состояние дел в области языков программирования и сопутствующих технологий он сравнивает примерно с тем, что было в начале переходного периода к структурному программированию. На уровне ассемблера сегодня существуют инструменты семафоров и копрограмм (coroutine), на более высоком структурном уровне — блокировки и потоки. Требуемые механизмы можно сравнить с произошедшим в свое время переходом к объектно-ориентрованным технологиям: нужен более высокий уровень абстракции, на котором можно было бы строить параллельные программы, подобно тому как объектно-ориентированные подходы позволяют строить сложные компонентные программы. Есть основания полагать, что последствия параллельной революции окажутся значительнее, чем объектно-ориентированной, потому что за ней стоит не просто повышение производительности труда программистов, а повышение системной производительности в целом. Появление объектно-ориентированных языков оставило место языкам программирования прежних поколений, тому же Си, например. Если параллельность станет главным инструментом и основным путем повышения производительности, то она не оставит места тем языкам, которые не смогут ее поддерживать. Они смогут сохраниться только в тех приложениях, в которых производительность и использование современного аппаратного обеспечения не имеют значения. Изменения в клиентских программах будут существенно больше, чем в типичных серверных приложениях. Обычная серверная вычислительная нагрузка, особенно Web-приложения, по своей внутренней природе достаточно распараллелена, кроме того, в данном случае проблемы уже частично решены средствами операционных систем, которые давно поддерживают разного рода многопроцессорные конфигурации и в которых накоплен значительный опыт решения проблем, связанных с необходимостью масштабирования. Мир клиентских приложений не столь структурирован и регулярен. Обычно они представляют собой один процесс, выполняемый от имени одного пользователя, поэтому для распараллеливания приложения придется делить на более мелкие части. Сложность усугубляется тем, что фрагменты эти должны каким-то образом взаимодействовать между собой и использовать общие массивы данных. Схожие проблемы возникают и на серверах в тех случаях, когда они используются для высокопроизводительных вычислений и для работы с большими базами и хранилищами данных. Для распараллеливания может быть использовано несколько программных моделей, каждая из которых соответствует определенному подмножеству требований. Заранее может быть сложно определить, какая именно модель лучше подходит, еще больше сложностей возникает в связи с потребностью комбинировать различные модели. Но несмотря на все многообразие, пространство решений можно описать системой координат, где по одной оси откладывается уровень гранулярности, а по другой — степень взаимосвязанности между параллельными модулями. Вообще говоря, гранулярность может варьироваться от одной или нескольких команд до таких фрагментов, выполнение которых занимает часы или даже дни. Понятно, что чем меньше размер фрагмента, тем больше удельные затраты на обеспечение параллельности. Преимущество нынешних и будущих многоядерных процессоров по сравнению с обычными многопроцессорными системами состоит в том, что существенная часть работы, связанная с коммуникациями и синхронизацией, решается на аппаратном уровне, поэтому на программное обеспечение выпадает необходимость распараллеливания не на самом нижнем уровне грануляции (это в некотором смысле достаточное условие для распараллеливания приложений). studfiles.net Реферат - Характеристика двухядерных процессоровВступлениеСамым значимым событием 2005 года в области микропроцессоров стало появление в продаже CPU с двумя ядрами. Причем появление в продаже двухъядерных процессоров произошло очень быстро, и без особых трудностей. Самым большим достоинством новых продуктов явилось то, что переход к двухъядерной системе не требовал смены платформы. Фактически любой пользователь современного компьютера мог придти в магазин и поменять один только процессор без смены материнской платы и остального «железа». При этом уже установленная операционная система моментально обнаруживала второе ядро (в списке оборудования появлялся второй процессор), и никакой специфической настройки программного обеспечения не требовалось (не говоря уже о полной переустановки ОС). Идея появления подобных процессоров лежит на поверхности. Дело в том, что производители CPU практически достигли потолка наращивания производительности своих продуктов. В частности AMD уперлась в частоту 2.4Ггц при массовом производстве процессоров Athlon 64. Справедливости ради отметим, что лучшие экземпляры способны работать на частотах 2,6-2,8Ггц, но их тщательно отбирают и выпускают в продажу под маркой Athlon FX (соответственно модель с частотой 2,6Ггц имеет маркировку FX-55, а 2,8Ггц — маркировку FX-57). Однако выход столь удачных кристаллов очень мал (это легко проверить разогнав 5-10 процессоров). Следующий скачек в тактовой частоте возможен при переходе на более тонкий техпроцесс, но этот шаг запланирован компанией AMD только на конец этого года (в лучшем случае). У компании Intel ситуация похуже: архитектура NetBurst оказалась неконкурентоспособной в плане производительности (макс. частота 3,8 ГГц) и тепловыделения (~150 Вт). Смена ориентации и разработка новой архитектуры должна занять некоторое время (даже с учетом большого количества наработок Intel). Поэтому, для Intel выпуск двухъядерных процессоров также является большим шагом вперед по повышению производительности. В сочетании с успешным переходом на 65 нм техпроцесс, подобные процессоры смогут на равных конкурировать с продуктами AMD. Главным инициатором в продвижений двухъядерных процессоров выступила компания AMD, которая сначала представила соответствующий Opteron. Что касается настольных процессоров, то здесь инициативу перехватила компания Intel, анонсировавшая процессоры Intel Pentium D и Intel Extreme Edition. А через считанные дни, состоялся анонс линейки процессоров Athlon64 X2 производства AMD. Итак, обзор двухъядерных процессоров мы начинаем с рассмотрения Athlon64 X2 Процессоры AMD Athlon 64 X2Первоначально компания AMD объявила о выпуске 4х моделей процессоров: 4200+, 4400+, 4600+ и 4800+ с тактовыми частотами 2,2-2,4Ггц и разным объемом кеш-памяти второго уровня. Цена на процессоры находится внутри диапазона от ~430$ до ~840$. Как мы видим, общая ценовая политика выглядит не очень дружественно к среднестатистическому пользователю. Тем более, что самый дешевый двухъядерный процессор Intel стоит ~260$ (модель Pentium D 820). Поэтому, что бы увеличить привлекательность Athlon 64 X2, AMD выпускает модель X2 3800+ с тактовой частотой 2.0 Ггц и объемом кеша L2 = 2x512Кб. Цена на этот процессор начинается с 340$. Поскольку для производства процессоров Athlon 64 X2 используется два ядра (Toledo и Manchester), то для лучшего восприятия сведем характеристики процессоров в обну таблицу:
Все процессоры имеют кеш-память первого уровня 128Кб, штатное напряжение питания (Vcore) 1,35-1,4В, а максимальное тепловыделение не превышает 110 Вт. Все перечисленные процессоры имеют форм-фактор Socket939, используют шину HyperTransport = 1Ггц (множитель HT = 5) и произведены по 90нм техпроцессу с использованием SOI. Кстати, именно использование столь «тонкого» техпроцесса позволило добиться рентабельности производства двухъядерных процессоров. Для примера ядро Toledo имеет площадь 199 кв. мм., а количество транзисторов достигает 233,2 миллионов! Если посмотреть на внешний вид процессора Athlon 64 X2, то он совершенно не отличается от других процессоров Socket 939 (Athlon 64 и Sempron). Стоит обратить внимание, что линейка двухъядерных процессоров Athlon X2 унаследовала от Athlon64 поддержку следующих технологий: функция энергосбережения Cool'n'Quiet, набор команд AMD64, SSE — SSE3, функцию защиты информации NX-bit. Как и процессоры Athlon64, Двухъядерные Athlon X2 имеют двухканальный контроллер памяти DDR с максимальной пропускной способностью 6,4 Гб/с. И если для Athlon64 пропускной способности DDR400 было достаточно, то для процессора с двумя ядрами это потенциальное узкое место, которое негативно влияет на производительность. Впрочем, серьезного падения скорости не будет, поскольку поддержка многоядерности была учтена при разработке архитектуры Athlon64. В частности в процессоре Athlon X2 оба ядра находятся внутри одного кристалла; и при этом процессор имеет один контроллер памяти и один контроллер шины HyperTransport. В любом случае, несоответствие пропускной способности памяти будет ликвидировано после перехода на Socket M2. Напомню, что это произойдет уже в этом году и соответствующие процессоры будут иметь контроллер памяти DDR-II. Пара слов о совместимости новых процессоров Athlon X2. На всех последних протестированных материнских платах топовый процессор Х2 4800+ заработал без каких-либо проблем. Как правило это были платы на чипсетах nVidia nForce4 (Ultra & SLI), а также плата на чипсете ATI Xpress 200 CrossFire™ (ECS KA1 MVP Extreme). Когда же я установил этот процессор на плату Epox 9NDA3+ (nVidia nForce3 Ultra), то второе процессорное ядро операционной системой обнаружено не было. И прошивка последней версии биоса ситуацию не исправила. Но это частный случай, а в целом статистика совместимости двухъядерных процессоров с материнскими платами весьма и весьма положительна. Тут же уместно будет отметить, что у новых двухъядерных процессоров нет каких либо специфических требований к дизайну модуля питания материнской платы. Более того, максимальное тепловыделение процессоров Athlon X2 не выше тепловыделения процессоров Athlon FX выпущенных по 130 нм техпроцессу (т.е. чуть выше 100Вт). В то же время, двухъядерные процессоры Intel потребляют энергии почти в полтора раза больше. Пару слов скажем о разгоне Из всех процессоров AMD разблокированный множитель имеют только технические семплы и процессоры линейки FX. А двухъядерные Athlon X2, как и одноядерные Athlon 64 / Sempron имеют заблокированный в сторону увеличения множитель. А в сторону уменьшения множитель разблокирован, поскольку именно путем понижения множителя работает технология энергосбережения Cool'n'Quiet. А для разгона процессора нам бы хотелось иметь разблокированный множитель именно в сторону увеличения, для того что бы все остальные компоненты системы работали в штатном режиме. Но AMD пошла по стопам Intel и с определенного момента запретила разгон таким способом. Впрочем, разгон путем повышения HTT еще никто не отменял и не запрещал. Но при этом нам придется подобрать качественную память, или использовать понижающий делитель частоты памяти. Кроме того, необходимо уменьшить множитель шины HT, что впрочем, не оказывает никакого влияния на уровень производительности. Итак, используя воздушное охлаждение нам удалось разогнать процессор Athlon X2 4800+ с штатной частоты 2,4 Ггц до частоты 2,7 Ггц. При этом напряжение питания (Vcore) было увеличено с 1,4В до 1,55В. Статистика разгона показывает, что данный экземпляр продемонстрировал не самый плохой прирост частоты. Однако на большее рассчитывать не приходится, поскольку самые «удачные» ядра AMD отбирает для производства процессоров с частотой 2,6Ггц и 2,8Ггц Двухъядерные процессоры IntelПервые двухъядерные процессоры Intel были основаны на ядре Smithfield, которое является ничем иным, как двумя ядрами Prescott степпинга E0 объединенными на одном кристалле. Между собой ядра взаимодействуют через системную шину при помощи специального арбитра. Соответственно размер кристалла достиг 206 кв. мм., а количество транзисторов увеличилось до 230 миллионов. Интересное рассмотреть как реализована технология HyperThreading в двухъядерных процессоров на ядре Smithfield. Так у процессоров Pentium D поддержка этой технологии полностью отсутствует. Маркетологи Intel посчитали, что два «реальных» ядра вполне достаточно для большинства пользователей. А вот в процессоре Pentium Extreme Edition 840 она включена, и благодаря этому процессор может исполнять 4 потока команд одновременно. Кстати, именно поддержка HyperThreading является единственным отличием процессора Pentium Extreme Edition от Pentium D. Все остальные функции и технологии полностью одинаковы. Среди них можно выделить поддержку набора команд EM64T, технологии энергосбережения EIST, C1E и TM2, а также функцию защиты информации NX-bit. В результате разница между процессорами Pentium D и Pentium EE является полностью искусственной. Перечислим модели процессоров на ядре Smithfield. Это Pentium D с индексами 820, 830 и 840 а также Pentium Extreme Edition 840. Все они работают на частоте системной шины 200 МГц (800QPB), выпущены по 90нм техпроцессу, имеют штатное напряжение питания (Vcore) 1,25-1,388 В, максимальное тепловыделение ~130 Вт (хотя по некоторым оценкам тепловыделение EE 840 находится на уровне 180 Вт). Честно говоря, каких-либо положительных сторон у процессоров на ядре Smithfield я не обнаружил. Основная претензия заключается в уровне производительности, когда во многих приложениях (которые не оптимизированы под многопоточность) двухъядерные процессоры Smithfield проигрывают одноядерным Prescott, работающих на той же тактовой частоте. При этом у процессоров AMD такой ситуации нет. Очевидно проблема кроется во взаимодействии ядер через процессорную шину (при разработке ядра Prescott не было предусмотрено масштабирование производительности путем увеличения количества ядер). Возможно именно по этой причине, компания Intel решила скомпенсировать недостатки более низкой ценой. В частности ценник на младшую модель Pentium D 820 был установлен на уровне ~260$ (самый дешевый Athlon X2 стоит 340 $). Кстати, модель Pentium D 820 несовместима со всеми материнскими платами на чипсете nForce4 SLI Intel Edition (операционная система не видит второе ядро). Проблема кроется в самом чипсете и nVidia официально признала данный факт. Кроме того, в интернете встречались сообщения о несовместимости более старших моделей (но это были единичные случае с отдельными конфигурациями). Тут же отметим, что новый чипсет nForce4 SLI Х16 Intel Edition избавлен от этой проблемы. Потенциал разгона у процессора на ядре Smithfield оказался не очень высоким. Стабильная работа системы сохранялась только при тактовой частоте не превышающей 3,25 ГГц. Справедливости ради отметим, что данный процессор запускался на частоте 3,8 Ггц, и при использовании более эффективной системы охлаждения можно было бы достичь стабильной работы. Забегая вперед отметим, что это все «цветочки» по сравнению с разгонным потенциалом 65нм процессоров. Что касается совместимости, то процессоры на ядре Smithfield потенциально могут быть установлены в любую LGA775 материнскую плату. Однако эти процессоры имеют повышенные требования к модулю питания платы. Подводя итоги, можно сказать что процессоры на ядре Smithfield являются неудачным продуктом. Однако, разговор о двухъядерных процессорах Intel мы не заканчиваем, ибо под конец 2005 года компания успешно перешла на новейший 65нм техпроцесс, а в начале 2006 года на прилавках магазинов (по традиции впервые это случилось в Японии) появились первые процессоры на ядре Presler и Cedar Mill. Что же дает новый, более «тонкий» техпроцесс? Если кардинально не менять архитектуру ядра, но новый техпроцесс позволяет уменьшить площадь ядра (т.е. увеличить количество процессоров на одной пластине, и тем самым снизить себестоимость), уменьшить энергопотребление (соответственно — тепловыделение) и повысить тактовые частоты. Впрочем, два последних параметра взаимосвязаны: если мы не увеличиваем частоту, то получаем процессор с меньшим тепловыделением. Если же не изменяем энергопотребление, то получаем процессоры с более высокими частотами. Инженеры компании Intel выбрали именно второй путь — официальное тепловыделение осталось на уровне 130 Вт, что позволило увеличить тактовые частоты до значения 3,4 ГГц и 3,46 ГГц. Причем как показали наши опыты с разгоном, потенциал 65 нм техпроцессора очень велик, и по мере усовершенствования и оптимизации техпроцесса рост тактовых частот будет продолжен (вплоть до перехода на совершенно новую процессорную архитектуру). Что касается процессорного ядра Presler, то подчеркнем те технические моменты, которые отличают их от ядра Smithfield. Самый главный факт — на одном ядре Presler размещены два ядра Cedar Mill, которое является ничем иным как ядром Prescott 2M выпущенным по 65нм техпроцессу (у ядра Smithfield два «обычных» ядра Prescott). Тем самым инженеры Intel воспользовались преимуществом 65 нм техпроцесса, который позволяет либо уменьшить площадь кристалла либо увеличить кол-во транзисторов. Впрочем такое описание ядра Presler не совсем корректно. Дело в том, что под крышкой теплораспределителя можно обнаружить два отдельных процессорных ядра, тогда как Smithfield представлял собой единое ядро (хотя внутри существовало разделение между ядрами). Таким образом значительно улучшается эффективность производства: появляется возможность для производства одного 2х-ядерного процессора использовать ядра с разных участков пластины (или даже с разных пластин). Кроме того, из-за модульной архитектуры повышается уровень выхода годных кристаллов (причем условно «негодные» можно отмаркировать как процессоры Pentium D:). Внешний вид процессора с лицевой стороны ничем не отличается от других LGA775 процессоров. А с обратной стороны есть различия в расположении элементов: Итак, новые двухъядерные процессоры на ядре Presler получили наименование Pentium D с индексами 920 — 950. Кроме того, был выпущен процессор Pentium Extreme Edition 955 с включенной технологией HyperThreading и работающий на частоте системной шины = 266 МГц (1066QPB). Для того, что бы читатель не запутался во всех представленных процессорах, мы сведем их характеристики в единую таблицу:
Несколько слов про совместимость новых процессоров с материнскими платами. Официально новые процессоры на ядре Presler с частотой шины 1066 МГц совместимы только с материнскими платами на новейшем чипсете i975X. Однако каких-либо принципиальных ограничений на работу с платами на других чипсетах с поддержкой такой шины (i945P, i955X и nForce4 SLI (x16) Intel Edition) нет. Главное, что бы модуль питания платы был рассчитан на соответствующие нагрузки, а версия биоса корректно распознавала новый процессор. В частности, мы без проблем запустили процессор Pentium Extreme Edition 955 на материнской платы Asus P5WD2 Premium, которая основана на чипсете i955X. Что касается процессоров с частотой шины 800Мгц (ядра Presler и CedarMill) то в большинстве случаев они заработают на всех материнских платах поддерживающих эту шину. Теперь поговорим о разгоне. Также как и у процессоров AMD, у процессоров производства Intel множитель заблокирован в сторону увеличения. Но на тестовом процессоре Pentium Extreme Edition 955 он оказался полностью разблокирован (от 12 до 60) что дало нам возможность оценить потенциал 65нм ядра без влияния остальных компонентов системы (прежде всего чипсета и памяти, которые работали в штатных режимах). Итак, без повышения напряжения ядра процессор с легкостью взял частоту 4,0 ГГц, а с незначительным увеличением Vcore процессор работал совершенно стабильно на частоте 4,26 ГГц. Еще совсем недавно двухъядерные процессоры в домашнем компьютере оставались уделом отдельных энтузиастов и профессионалов, работающих с ресурсоемкими приложениями. Это было обусловлено достаточно высокой ценой двухпроцессорных систем и тем, что большинство обычных программ ничего не выигрывали от наличия второго ядра. Возник закономерный вопрос: а есть ли на данный момент польза от второго ядра? Вот в этом мы и попытаемся сейчас разобраться. Начнем с теории. Прежде всего отметим, что многоядерность должна поддерживаться операционной системой, при этом каждое ядро определяется как отдельный процессор. Windows 2000/ХР, в отличие от более старых, но все еще местами используемых Windows 98/Me, обеспечивает полную поддержку многоядерных процессоров. Заметим, что Windows XP Home Edition не стоит особняком от родственных систем: несмотря на то что изначально для данной ОС была заявлена поддержка только одного процессора (а значит, второе ядро не имело шансов работать), под давлением AMD Microsoft несколько изменила лицензионную политику для указанной ОС, произведя регистрацию процессоров по количеству разъемов на материнской плате, а не по количеству ядер. Далее возможность увеличения быстродействия при наличии второго ядра зависит от самого приложения. Естественно, говорить о приросте производительности имеет смысл, когда программе не хватает возможностей одного ядра, но не только в этом случае. Напомним, что процессоры AMD поддерживают фирменную технологию Cool'N'Quiet, которая позволяет понижать частоту CPU при низкой нагрузке на него, уменьшая тем самым потребление энергии и тепловыделение, благодаря чему снижается скорость вращения кулера во время работы. При наличии двухъядерного чипа и приложения с его поддержкой в некоторых случаях возможна ситуация, когда производительности достаточно даже на небольших частотах, а обычный CPU, выполняя ту же задачу, будет вынужден функционировать на максимальной частоте. Еще заметим, что повышение скорости осуществимо даже при отсутствии поддержки многоядерности со стороны программы, если она создает в ходе работы достаточно большое количество потоков (threads), и планировщик системы распределяет их по разным ядрам или в случае ее взаимодействия с другой программой (или драйвером), поддерживающей многопроцессорность. Как мы тестировали?Перейдем теперь к методике тестирования. В качестве представителя двухъядерных процессоров мы выбрали популярный AMD Athlon 64 X2 3800+ для сокета AM2, а в противовес ему взяли AMD Athlon 64 3500+ AM2 (на момент тестирования в наличии не было равного по частоте AMD Athlon 64 3200+ AM2). В первую очередь тесты проводились на штатной для X2 3800+ частоте в 2 GHz (соответственно, для получения этой частоты у 3500+ был уменьшен множитель с 11 до 10). Дополнительно мы решили исследовать производительность на 1,8 GHz (такой показатель имеет обычный AMD Athlon 64 3000+), понизив множитель обоих процессоров до 9; и при разгоне до 2,6 GHz (при множителе 10 и частоте задающего генератора в 260 MHz), чтобы проверить, не окажется ли узким местом видеокарта при достаточной частоте CPU. С сожалением отметим, что во время тестирования процессоров на частоте 2 GHz память работала в режиме 533 MHz, вместо положенных 667 MHz, что несколько занизило результаты в указанном режиме. Набор игр, использованных для измерения показателей производительности, достаточно стандартен. Они делятся на две группы – те, в которых заявлена поддержка двухъядерности (сюда относятся Quake 4, F.E.A.R, Serious Sam 2 и Call Of Duty 2), и те, для которых она не заявлена (Far Cry, DOOM 3, Need for Speed: Most Wanted, TES IV: Oblivion). Отметим, что игры первой группы изначально не поддерживали два ядра, нужная функциональность была впоследствии добавлена обновлениями. Кроме этого, получены результаты и в достаточно популярных бенчмарках 3DMark05 и 3DMark06. Поскольку уже давно ведутся разговоры об использовании компьютера в качестве универсального центра развлечений, на котором одновременно «крутятся» и фильмы, и музыка, и игры, был проведен еще один эксперимент – в свойствах видеокарты мы включили вывод на телевизор и при этом запускали воспроизведение видео на нем плюс бенчмарк в Far Cry (средней по сегодняшним меркам игры). По причине ограниченного времени тестирования данный эксперимент проводился только для двух типов видеороликов – обычной записи в формате MPEG4 с разрешением 720×480 (обозначение в таблице – SDTV) и видео высокой четкости стандарта H.264 в разрешении 1920×1080 (соответственно – HDTV). Игровые бенчмаркиРассмотрим полученные результаты. В первую очередь отметим увеличение скорости в тех играх, где оно не ожидалось, а именно, в Far Cry и DOOM 3. Тут стоит вспомнить заявление компании NVIDIA, что ее драйверы, начиная с серии 8х.хх, поддерживают ускорение на двухъядерных процессорах, и, видимо, данное повышение производительности связано с ними. С другой стороны, в Need for Speed: Most Wanted ускорение вообще не зафиксировано, несмотря на рост показателей fps c увеличением частоты. Следовательно, напрашивается предположение, что, как и в случае с технологией SLI, ощутимая прибавка скорости будет достигнута только при дополнительной доработке драйверов под каждую конкретную игру, а значит, в общем случае на автоматическое ускорение рассчитывать не стоит. В Call of Duty 2, невзирая на отсутствие прироста производительности, поддержка двухъядерников есть, и она работает, что было видно из графиков загрузки CPU во время тестов. То же самое касается и TES IV: Oblivion – хотя поддержка многоядерности не заявлена (и результаты с учетом большой погрешности бенчмарка на разных процессорах близки), игра создает много потоков, которые достаточно адекватно распределяются системой по разным ядрам. Противоположная картина наблюдается в F.E.A.R. – несмотря на заявленную поддержку, никаких следов двухъядерности обнаружить не удалось. Более того, если изучить показатели загрузки ядер в ходе тестирования, то игра ведет себя так, будто она жестко привязана к одному из них, загружая его на 100%, в то время как второй используется лишь на 3–10%. Встроенный бенчмарк безразлично отнесся к добавлению второго ядра, а попытка снять показатели производительности внутри игры с помощью утилиты Fraps завершилась неудачей – средний fps от прогона к прогону колебался в пределах 63–90 fps, что дает абсолютно неприемлемую погрешность. Результаты в Quake 4 и Serious Sam 2 в особых комментариях не нуждаются, заявленная поддержка есть и работает, уменьшение прироста производительности с увеличением разрешения вызвано нехваткой мощности графического акселератора; естественно, на более быстрой видеокарте ускорение будет и в тяжелых видеорежимах. Игры плюс видеоОтдельно прокомментируем параллельное выполнение двух ресурсоемких приложений. Как видно, при запуске обычного видео в MPEG4 производительности даже одноядерного процессора в целом достаточно для одновременной игры и просмотра фильма. Единственное замечание – при загрузке уровня в Far Cry изображение на телевизоре начинало подтормаживать, однако при разгоне до 2,6 GHz указанная проблема полностью исчезала. На двухъядернике таких затруднений не было даже при минимальной частоте. С очень ресурсоемким HDTV-роликом в разрешении 1080p ситуация кардинально меняется – на одноядерном процессоре и с разгоном невозможно нормально играть, параллельно смотря видео, на двухъядерном же на штатной частоте fps в игре достаточно высок, однако наблюдались подтормаживания и рассинхронизация звука/видео у выводимого на телевизор изображения. Повышение частоты процессора избавляет от данной проблемы, но тестирование проводилось не в самой ресурсоемкой из современных игр: при запуске в паре с HDTV-видео Quake 4 или TES IV: Oblivion производительности даже разогнанного двухъядерника недостаточно. Вероятно, ситуацию изменят процессоры Core 2 Duo от фирмы Intel, это можно будет проверить в дальнейшем. Еще необходимо заметить, что для одновременной игры и просмотра фильма требуются две звуковые карты: первая станет отвечать за звук в игре, вторая – за звук в фильме. Возможные проблемы после установки двухъядерникаНесмотря на преимущества двухъядерных процессоров, их владельцы могут столкнуться с некоторыми проблемами, обычно не описываемыми в статьях. Мы решили восполнить этот пробел и дать несколько полезных рекомендаций. В двухъядерной системе наиболее часто наблюдаемая проблема (с которой можно столкнуться и в случае с процессором, c технологией Hyper-Threading) состоит в снижении производительности по сравнению с аналогичной одноядерной системой. К тому же в играх наблюдается, к примеру, резкое увеличение внутриигровой скорости (не производительности!). Причиной этого является некорректный выбор таймера операционной системы – вместо таймера управления питанием ACPI используется таймер TSC, что приводит к ошибкам в программах, задействующих в своей работе вызов функции ядра QueryPerformanceCounter. В таком случае необходимо сделать следующее: в первую очередь нужно добавить в файл boot.ini, расположенный в корневом каталоге диска C, в конец строчки вида «multi(0)disk(0)rdisk(0)partition(1)WINDOWS=«Microsoft Windows XP Professional»/noexecute=optin/fastdetect» ключ/usepmtimer. Если вы не видите в Проводнике данного файла, то выберите в меню в разделе Сервис пункт Свойства папки. В появившемся окне на вкладке Вид уберите галочку возле пункта Скрывать защищенные системные файлы и в разделе Скрытые файлы и папки выберите Показывать скрытые файлы и папки. Далее владельцы процессоров AMD должны скачать и установить программу AMD DualCore Optimizer, а владельцам процессоров Intel необходимо следовать инструкциям, размещенным по этому адресу. Заметим, что если вы используете для управления частотой процессора не системные средства, а программу RMClock версии 2.15, то достаточно только добавить /usepmtimer в загрузочный файл. Если же, несмотря на выполнение вышеописанных действий, в ходе игры все равно возникают проблемы (зависания, выбрасывание на Рабочий стол и т. п.), то стоит попробовать жестко привязать игру к одному из ядер. Для этого после запуска игры нажимаем Ctrl+Alt+Del, в появившемся диспетчере задач щелкаем правой кнопкой на игре, выбираем пункт Перейти к процессам, затем кликаем опять правой кнопкой на выделенном процессе и выбираем Задать соответствие. В появившемся окне снимаем галочку возле одного из ядер, какого именно – не имеет значения, после чего закрываем окно, сам диспетчер задач и возвращаемся в игру. Если же после указанных действий проблемы не исчезли, и при этом у вас установлена видеокарта фирмы NVIDIA, можно попробовать отключить многопоточные оптимизации в видео-драйверах. Запускаем редактор реестра (Пуск -> Выполнить -> regedit.exe), идем по адресу HKey_Local_MachineHardwareDeviceMapVideo и выписываем из переменной devicevideo0 адрес, по которому расположены настройки видеокарты. Заметим, что указанный адрес у систем Windows 2000 и Windows XP отличается, в Windows 2000 он будет иметь вид \REGISTRY\Machine\System\ControlSet001\Services\nv\Device0, в то время как в Windows XP \Registry\Machine\System\Current ControlSet\Control\Videoitc_drupal_DD18ED74-F584-4145-B29B-E3A6C6189FAA\0000. Переходим по указанному адресу, учитывая следующее:\Registry в данном случае говорит о том, что информация находится в реестре, а \Machine – что она хранится в разделеHKEY_LOCAL_MACHINE. Пример содержимого необходимого раздела представлен на скриншоте. Щелкаем мышью в правой части окна, выбираем Создать – Параметр DWORD, называем его OGL_ThreadControl и присваиваем ему значение 2. Для отключения многопоточности в приложениях Direct3D нужно создать переменную WTD_EXECMODEL того же типа и присвоить ей значение . Заметим, что обычно производители игр достаточно оперативно реагируют на проблемы такого рода, и прежде чем отключать поддержку двухъядерников, стоит проверить, нет ли патча для игры, исправляющего возможные ошибки. ИтогиИтак, из результатов тестирования видно, что уже сейчас двухъядерные процессоры могут увеличить производительность в существующих играх по сравнению со своими одноядерными собратьями, хотя имеющиеся игры проектировались и писались в расчете именно на них. Конечно, цена двухъядерника несколько выше, но это плата за возросшее быстродействие. С выходом же игр с изначальной поддержкой многоядерности превосходство таких процессоров станет неоспоримым. Еще одним аргументом в их пользу является то, что в Microsoft Xbox 360 и выходящей вскоре Sony PS3 также установлено несколько процессоров, а значит, кросс-платформенные и портированные с приставок на PC игры наверняка получат преимущества от многоядерных чипов.
А при увеличении напряжения до 1.4125В, процессору покорилась частота 4.55Ггц. Но в этом случае нельзя было говорить о полной стабильности: некоторые тесты проходили отлично (их результаты приведены на сл. странице), а другие выдавали совершенно неправильные результаты (из-за сбоя системного таймера). При этом повышать напряжение на процессоре мы уже не могли (использовался воздушный кулер Gigabyte G-power), поскольку это приводило к троттлингу. Так что, потенциал в области разгона мы оцениваем на отлично, и владельцы систем водяного охлаждения смогут достичь 4,5Ггц (по сообщениям в интернете, владельцы криогенных систем достигли уже 5.5Ггц!). Итак, предварительный вывод по процессорам на ядре Presler. Благодаря новому 65 нм техпроцессу, Intel смогла выпустить новое поколение двухъядерных процессоров, которые по всем техническим характеристиками (функциональность, скорость работы, тепловыделение) лучше процессоров на ядре Smithfield. И именно процессоры на ядре Presler смогут дать достойный отпор конкурентам в лице линейки Athlon X2. Но насколько изменилось соотношение сил, мы увидим на следующей странице, которая посвящена производительности. www.ronl.ru Многоядерные процессоры, типы, характеристики — рефератМинистерство образования и молодежной политики ЧР Чебоксарский машиностроительный техникум Р Е Ф Е Р А Т на тему:
Многоядерные Микропроцессоры По предмету: Микропроцессоры и микропроцессорные системы
2009-2010 2.1. Микропроцессоры….. 3-4 2.2. Двухядерность процессоров архитектура……6-9 2.3. Идея построения многоядерных микропроцессоров….9-10 2.4 Intel……10-12 2.5 AMD…12 Многоядерность — история и перспективы Идея перехода на многоядерные процессоры стала овладевать умами масс специалистов в области ИТ совсем недавно, примерно начиная с 2005 года, но на самом деле она далеко не так нова. Еще в далекие 60-е годы преимущества нескольких процессорных ядер перед одним обосновал Сеймур Крей, затем он реализовал свой замысел в суперкомпьютере CDC 6600. Но в силу консервативности взглядов проектировщиков, вызванных технологическими ограничениями (например, компьютерные платы собирались навесным монтажом из триодов, конденсаторов, сопротивлений и прочих дискретных компонентов), дальнейшего развития этот подход к проектированию центрального процессорного устройства не получил. Существует два подхода к увеличению производительности процессора. Первый - увеличение тактовой частоты процессора, второй – увеличение количества инструкций программного кода, выполняемых за один такт процессора. Увеличение тактовой частоты не может быть бесконечным и определяется технологией изготовления процессора. При этом рост производительности не является прямо пропорциональным росту тактовой частоты, то есть наблюдается тенденция насыщаемости, когда дальнейшее увеличение тактовой частоты становится нерентабельным. Разработка более совершенных архитектур процессоров, содержащих большее число функциональных исполнительных устройств, с целью повышения количества команд, одновременно исполняемых за один такт, — традиционный альтернативный росту тактовой частоты путь повышения производительности. Но такие разработки очень сложны и дороги. Сложность разработки возрастает с ростом сложности логики экспоненциально. Можно сказать, что идея построения многоядерных микропроцессоров это был путь к развитию ЭВМ. Если рассматривать историю развития начиная с самых первых центральных процессоров (i8086), то, безусловно, то, что повышение производительности достигалось путем повышения тактовой частоты. Но любая технология имеет свой технологический предел. Ведь при повышении рабочей частоты тепловыделение процессоров растет до очень больших значений. В этой ситуации уже не помогает ни активное теплоотведение, ни применение сверх тонких транзисторов. Так как процессоростроение не стоит на месте, выход из этой ситуации был конечно же найден – многоядерность. Многоядерность – это расположение на одном кристалле нескольких ядер, т.е. как бы два процессора в одном. Когда появились первые такие процессоры в компьютерных кругах были многочисленные споры о целесообразности такой технологии. Сейчас конечно уже ни кто не спорит, так как стало очевидно, что будущее именно за многоядерными процессорами. Сейчас 2-х ядерным процессором уже никого не удивишь. Другое дело, что у каждого ли в компьютере стоит такой процессор. Кому-то не позволяют финансы, а кому-то устойчивые слухи, что многоядерные процессоры это очередная туфта, вроде SLI, предназначенная для вытягивания денежки из карманов пользователей.
В принципе так и есть - тактовую частоту процессоров стало наращивать все труднее и труднее,(растет число транзисторов, проводников и выделяемое тепло) и, стало быть, надо искать что-то на смену "гонки за мегагерцами". А добавляя ядра, производительность в ряде современных приложений уже можно заметно поднять, не повышая частоты. Да и пресловутый закон Мура (удвоение числа транзисторов на кристаллах) надо бы чем-то поддержать, а многоядерность - чуть ли не самый простой путь для этого…
Однозначно одно, (хотя бы судя по опросу который я проводил) никто бы не отказался от C2D(особенно бесплатно). Давайте посмотрим как борются две технологии - две компании, ну и разберемся нужен ли дома многоядерник? Надеюсь моя статья поможет определится тем, кто в ближайшее время планирует апгрейд, и тем кто уже купил многоядерный процессор - разобраться как это работает. *любителям картинок здесь будет скучно. Многоядерность по сути похожа на использование в одном ПК нескольких процессоров. Отличие только в том, что при расположении на одном кристалле они не являются полностью независимыми. При работе на обычном программном обеспечении плюсом многоядерного процессора будет возможность одновременного запуска двух ресурсоемких приложений без потери производительности. А вот сделать одну и туже задачу, но значительно быстрее не получится. Т.е. получается что многоядерный процессор на обычном ПО будет работать практически как обычный процессор, только сможет выполнять одновременно несколько «тяжелых» приложений. Выход из этой ситуации напрашивается сам – разработать новое программное обеспечение специально для многоядерных процессоров. Такой процесс называется распараллеливание процессов. Как оказалось на практике некоторые задачи легко распараллелить. Это задачи кодирования видео и аудио данных. В процессе кодирования такой информации лежит набор однотипных потоков, и сделать так, чтобы они выполнялись одновременно довольно просто. В задачах кодирования выигрыш многоядерных процессоров перед одноядерными по производительности зависит от количества ядер: два ядра – в два раза быстрее, четыре – в четыре раза и т.д. Но к сожаленью большую часть других задач распараллелить намного сложнее. В подавляющем большинстве случаев необходима полная переработка программного кода. Intel сегодня предпочитает создавать SMP-системы; AMD, IBM и Sun - те или иные варианты NUMA. Основная "область применения" кластеров - суперкомпьютеры. Идея многоядерного процессора выглядит на первый взгляд совершенно простой: просто упаковываем два-три (ну или сколько там влезет) процессора в один корпус - и компьютер получает возможность исполнять несколько программных потоков одновременно. Вроде бы бесхитростная стратегия… но конкретные её реализации в недавно вышедших настольных процессорах AMD и Intel заметно различаются. Различаются настолько, что сугубо "количественные" мелочи в конечном итоге переходят в качественные различия между процессорами этих двух компаний. Двухядерность процессоров включает такие понятия, как наличие логических и физических ядер: например двухядерный процессор Intel Core Duo состоит из одного физического ядра, которое в свою очередь разделено на два логических. Процессор Intel Core 2 Quad состоит из четырёх физических ядер, что существенно влияет на скорость его работы. 10 сентября 2007 года были выпущены в продажу нативные (в виде одного кристалла) четырёхьядерные процессоры для серверов AMD Quad-Core Opteron, имевшие в процессе разработки кодовое название AMD Opteron Barcelona.[1] 19 ноября 2007 года вышел в продажу четырёхьядерный процессор для домашних компьютеров AMD Quad-Core Phenom.[2] Эти процессоры реализуют новую микроархитектуру K8L (K10). 27 сентября 2006 года Intel продемонстрировала прототип 80-ядерного процессора. Предполагается, что массовое производство подобных процессоров станет возможно не раньше перехода на 32-нанометровый техпроцесс, а это в свою очередь ожидается к 2010 году. На данный момент массово доступны двух- и четырехядерные процессоры, в частности Intel Core 2 Duo на 65-нм ядре Conroe (позднее на 45-нм ядре Wolfdale) и Athlon 64 X2 на базе микроархитектуры K8. В ноябре 2006 года вышел первый четырёхъядерный процессор Intel Core 2 Quad на ядре Kentsfield, представляющий собой сборку из двух кристаллов Conroe в одном
корпусе. Потомком этого процессора стал Intel Core 2 Quad на ядре Yorkfield (45 нм), архитектурно схожем с Kentsfield но имеющем больший обьем кэша и рабочие частоты. Архитектура процессоров достигла достаточно высокой сложности, поэтому переход к многоядерным процессорам становится основным направлением повышения производительности вычислительных систем. Компания AMD пошла по собственному пути, изготовляя четырехядерные процессоры единым кристаллом (в отличие от Intel, процессоры которой представляют собой фактически склейку двух двухядерных кристаллов). Несмотря на всю прогрессивность подобного подхода первый «четырёхядерник» фирмы, получивший название AMD Phenom X4, получился не слишком удачным. Его отставание от современных ему процессоров конкурента составляло от 5 до 30 и более процентов в зависимости от модели и конкретных задач. На настоящий момент (1-2 квартал 2009 года) обе компании обновили свои линейки четырёхядерных процессоров. Intel представила семейство Core i7, состоящее из трех моделей, работающих на разных частотах. Основными изюминками данного процессора является использование трехканального контроллера памяти (типа DDR-3) и технологии эмулирования восьми ядер (полезно для некоторых специфических задач). Кроме того, благодаря общей оптимизации архитектуры удалось значительно повысить производительность процессора во многих типах задач. Слабой стороной платформы, использующей Core i7 является её чрезмерная стоимость, так как для установки данного процессора необходима дорогая материнская плата на чипсете Intel-X58 и трехканальный набор памяти типа DDR3, также имеющий на данный момент высокую стоимость. Компания AMD в свою очередь представила линейку процессоров Phenom II X4. При её разработке компания учла свои ошибки: был увеличен объем кэша (явно недостаточный у первого «Фенома»), а производство процессора было переведено на 45 нм техпроцесс, позволивший снизить тепловыделение и значительно повысить рабочие частоты. В целом AMD Phenom II X4 по производительности стоит вровень с процессорами Intel предыдущего поколения (ядро Yorkfield) и весьма значительно отстает от Intel Core i7. Однако, принимая во внимание умеренную стоимость платформы на базе этого процессора, его рыночные перспективы выглядят куда более радужно чем у предшественника. Существует два подхода к увеличению производительности процессора. Первый - увеличение тактовой частоты процессора, второй – увеличение количества инструкций программного кода, выполняемых за один такт процессора. Увеличение тактовой частоты не может быть бесконечным и определяется технологией изготовления процессора. При этом рост производительности не является прямо пропорциональным росту тактовой частоты, то есть наблюдается тенденция насыщаемости, когда дальнейшее увеличение тактовой частоты становится нерентабельным. Разработка более совершенных архитектур процессоров, содержащих большее число функциональных исполнительных устройств, с целью повышения количества команд, одновременно исполняемых за один такт, — традиционный альтернативный росту тактовой частоты путь повышения производительности. Но такие разработки очень сложны и дороги. Сложность разработки возрастает с ростом сложности логики экспоненциально. turboreferat.ru Реферат Двухъядерный процессорскачатьРеферат на тему: План:
ВведениеМногоя́дерный проце́ссор — центральный процессор, содержащий два и более вычислительных ядра на одном процессорном кристалле или в одном корпусе. 1. Архитектура многоядерных системМногоядерные процессоры можно классифицировать по наличию поддержки когерентности кешей между ядрами. Бывают процессоры с такой поддержкой и без нее. Способ связи между ядрами: Разделяемая шина, Сеть (Mesh) на каналах точка-точка, сеть с коммутатором, Общие кеши, Кеши: Во всех существующих на сегодняшний день многоядерных процессорах кэш-память первого уровня у каждого ядра своя, а кэш 2-го уровня существует в нескольких вариантах:
2. ПроизводительностьВ приложениях, оптимизированных под многопоточность, наблюдается прирост производительности на двухъядерном процессоре. Однако, если приложение не оптимизировано, то оно не будет получать практически никакой выгоды от дополнительных ядер, а может даже выполняться медленнее, чем на процессоре с меньшим количеством ядер, но большей тактовой частотой. Это в основном старые приложения, либо приложения, не использующие многопоточность. 3. Наращивание количества ядерНа сегодняшний день основными производителями процессоров — Intel и AMD дальнейшее увеличение числа ядер процессоров признано как одно из приоритетных направлений увеличения производительности. В 2010 году уже освоено производство 6-ти ядерных процессоров для домашних компьютеров, и 8-ми и 12-ти ядерных для серверных систем. Первыми 12-ядерными серийными процессорами стали в марте 2010 года серверные процессоры Opteron 6100 компании AMD (архитектура x86/x86-64)[1]. Имеются экспериментальные разработки процессоров с большим количеством ядер (более 20). Некоторые из таких процессоров уже нашли применение в специфических устройствах. 27 сентября 2006 года Intel продемонстрировала прототип 80-ядерного процессора.[2] Предполагается, что массовое производство подобных процессоров станет возможно не раньше перехода на 32-нанометровый техпроцесс, а это, в свою очередь, ожидается к 2010 году. 20 августа 2007 года компания Tilera, анонсировала чип TILE64 (англ.) с 64 процессорными ядрами и встроенной высокопроизводительной сетью, посредством которой обмен данными между различными ядрами может происходить со скоростью до 32 Тбит/с[3][4]. 26 октября 2009 года Tilera анонсировала[5] 100-ядерный процессор широкого назначения серии TILE-Gx (англ.). Каждое процессорное ядро представляет собой отдельный процессор с кэшем 1, 2 уровней. Ядра, память и системная шина связаны посредством технологии Mesh Network. Процессоры производятся по 40-нм нормам техпроцесса и работают на тактовой частоте 1,5 ГГц. Выпуск 100-ядерных процессоров назначен на начало 2011 года. 2 декабря 2009 года Intel продемонстрировала одночиповый «облачный» (Single-chip Cloud Computer, SCC) компьютер, представляющий собой 48-ядерный чип. «Облачность» процессора состоит в том, что все 48 ядер сообщаются между собой как сетевые узлы. SCC — часть проекта, целью которого является создание 100-ядерного процессора. Ожидается, что некоторые функции SCC появятся в серийных процессорах Intel в 2010 году[6]. 4. Многоядерные контроллерыСуществует, также, тенденция внедрения многоядерных контроллеров в мобильные устройства. Например
Примечания
wreferat.baza-referat.ru |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|