
- •Часть I
- •Часть I
- •1.Архитектура персонального компьютера
- •1.1.Общие принципы работы компьютера
- •1.2.Концепция открытой архитектуры
- •2.Процессор персонального компьютера ibm pc
- •2.1.Основы работы и характеристики процессора
- •2.3.Виртуальная память
- •2.4.Процессоры cisc и risc
- •2.5.История развития микропроцессоров
- •2.6.Особенности архитектуры процессоров Pentium III и Pentium IV
- •2.7.Определение ядра процессора
- •2.8.Многозадачность и многопоточность
- •2.9.Технология Intel Hyper-Threading
- •2.9.1.Увеличение производительности
- •2.9.2.Механизм Hyper-Threading
- •2.9.3.Производительность
- •2.9.4.Поддержка
- •2.10.Двуядерные процессоры Intel и amd
- •2.10.1.Классификация многопроцессорных систем
- •2.10.2.Многоядерные процессоры
- •2.10.3.Сравнительный анализ двуядерных технологий Intel и amd
- •2.10.4.Когерентность кэш-памяти
- •2.10.5.Особенности реализации
- •2.11.Переход на 64-разрядную архитектуру
- •2.11.1.Введение
- •2.11.2.Как оперирует числами процессор
- •2.11.3.Области применения 64-битного процессора
- •2.11.4.Архитектура Intel 64
- •2.11.5.Архитектура amd 64
- •3.Системный блок (корпус) персонального компьютера
- •4.Материнская плата (motherboard)
- •4.1.Шины материнской платы
- •4.1.5.Перспективные шины
- •4.2.Порты ibm pc
- •4.2.1.Последовательные сом-порты
- •4.2.2.Параллельный порт
- •4.3.Дисковые интерфейсы ibm pc
- •4.3.1.Интерфейсы ата
- •4.3.7.Конфигурирование ата-устройств
- •4.4.Технология raid
- •4.4.1.Уровни raid-массивов
- •4.4.2.О производительность raid-массивов различных уровней
- •4.5.Переход на новое поколение chipset материнских плат
- •5.Память
- •5.1.Контроль четности и корректирующие коды
- •5.2.Оперативная память (ram)
- •5.2.1.Принцип работы ram
- •5.2.2.Типы и характеристики оперативной памяти
- •5.2.3.Статическая память
- •5.2.4.Обозначения модулей памяти
- •5.3.Видеопамять: mdram, vram, wram и sgram
- •6.Ж есткий диск (винчестер)
- •6.1.Краткое описание принципов работы жесткого диска
- •6.2.Пользовательские параметры винчестера
- •6.2.1.Скорость вращения диска
- •6.2.2.Количество секторов на дорожке
- •6.2.3.Время поиска/ время переключения головок/ время переключения между цилиндрами
- •6.2.4.Задержка позиционирования
- •6.2.5.Время доступа к данным
- •6.2.7.Размещение данных на диске
- •6.2.8.Скорость обмена
- •6.2.9.Интерфейс
- •6.3.Структура системной области жесткого диска
- •6.4.Файловые системы
- •6.5.Технология smart
- •7.Дисковые оптические накопители
- •7.1.История создания dvd-накоителей
- •7.3.Параметры накопителей
- •7.4.Типы dvd-дисков
- •7.5.Информационная классификация дисков
- •7.6.Запись на dvd
- •7.7.Перспективы развития dvd
- •7.8.Кодирование информации на dvd
- •7.8.2.Видео dvd
- •7.8.3.Дополнительные функции dvd-проигрывателя
2.10.3.Сравнительный анализ двуядерных технологий Intel и amd
Следствия этих различий таковы:
|
Во-первых, SUMA решает «проблему общей памяти». Если сравнивать сегодняшние системы (а это, как минимум, двухканальная DDR400) с системами трехлетней давности (одноканальная SDRAM PC133), то прогресс здесь, конечно, достигнут впечатляющий: пропускная способность оперативной памяти увеличилась более чем в 8-10 раз, в то время как вычислительная мощность центральных процессоров – несколько меньше (в ряде тестов - только в 3-4 раза). Правда, латентность оперативной памяти по меркам процессора остается по-прежнему огромной, но и с этой проблемой научились эффективно бороться, используя кэш-память внушительных размеров и механизмы аппаратной и программной предвыборки из памяти. Однако стоит поставить в систему не одно, а два, четыре, а то и восемь процессорных ядер, как проблема «медленной памяти» всплывает с прежней силой – особенно в архитектуре SMP с контроллером памяти в чипсепте.
На практике это выливается в «проблему масштабируемости» - когда использование нескольких процессоров не приводит к ожидаемому приросту производительности. Подсчитаем: если, например, одиночный процессор 20% своего времени простаивал, ожидая данных из оперативной памяти, то сдвоенный будет простаивать 33% времени, а «четверка» - 50%. В пересчёте на общую производительность, 1P-система работает со скоростью 100%, 2P-система – со скоростью 167% (вместо расчётных 200%), а 4P-система – со скоростью 250% (вместо 400%). Более того: получить даже пятикратный прирост производительности в данном случае невозможно в принципе. Этот эффект свойственен исключительно многопроцессорным системам: если в данном примере заменить оперативную память на вдвое более быструю, то производительность однопроцессорной системы возрастет лишь на 11%. Такие показатели получаются в программах, которые много времени проводят в ожидании данных от памяти (не из кэш, а именно из ОЗУ: если у нас программа почти всегда работает с кэш – никаких проблем не возникает). То есть: если на одном процессоре 80% времени вычислений и 20% ожидания данных из памяти, то на двух получаем 40% вычислений и 20% ожидания данных из памяти (в пересчёте к «старым» процентам); выигрыш составляет 100/60 = 167%. И так далее. Если установить вдвое более быструю память – получаем на двухпроцессорной системе 80% вычислений и 10% ожидания данных из памяти; выигрыш – 100/90=111%.
|
В идеале любая многопроцессорная система должна быть хорошо сбалансирована – слишком быстрая память обходится слишком дорого; слишком медленная – сводит эффект от установки нескольких процессоров к минимуму. То есть если для однопроцессорной системы вполне достаточно двухканальной оперативной памяти DDR (а практика показывает, что это, скорее всего, так), то в «двушку» желательно установить четырехканальный, а в «квад» - восьмиканальный контроллер памяти DDR. Но на практике даже четырехканальный контроллер пока обходится слишком дорого. Правда, четыре канала в следующем поколении чипсетов Intel мы всё-таки увидим (причем контроллеры памяти в них вынесены за пределы Northbridge в виде отдельных микросхем); а в 2008 г. на рынке должна появиться серверная оперативная память FB-DIMM с последовательным интерфейсом доступа к памяти, которая позволит создавать шести- и восьмиканальные контроллеры памяти.
Но это всё - в SMP, а вот в NUMA (типа AMD), где двухканальный контроллер памяти интегрирован в каждый процессор, суммарная производительность подсистемы памяти как раз и возрастает пропорционально количеству процессоров. Правда, у NUMA, как уже было сказано, свои проблемы - неоднородность скорости работы различных участков памяти. В случае новых AMD Opteron можно подсчитать, что в среднем пропускная способность памяти в пересчёте на один процессор составляет для 2P-систем порядка 81% (100% в лучшем, 62% в худшем), для 4P – где-то между 62% и 53% (31% в худшем случае). Для 8P-систем всё гораздо неприятнее – без учета особенностей NUMA там не получится «выжать» из подсистемы памяти и 30% её пропускной способности (большинство обращений будут к чужой памяти, причем в среднем каждый линк HT будут занимать по три процессора одновременно). Принцип этих оценок заключается в том, чтобы посчитать устоявшиеся потоки данных, полагая, что они равномерно распределяются по кратчайшим путям между процессорами. Считается, сколько каждому CPU достанется процентов от общей пропускной способности линков HT; считаются доли запросов в «свою» память и запросов, проходящих через линки HT. Например, для двухпроцессорной системы линк HT процессору ни с кем делить не требуется, 50% запросов идет в оперативную память, 50% - по линку HT. Всего (6,4 * 0,5 + 4,0 * 0,5) = 5,2 Гбайт/c, т.е. 5,2/6,4 = 81%.
Впрочем, если сравнивать с аналогичными цифрами для SMP (50, 25 и 12% соответственно), то нельзя не признать, что даже неоптимизированные программы должны работать с памятью на Opteron в несколько раз быстрее, чем на «традиционных» SMP. А если еще вспомнить, что кросс-бар и контроллер памяти AMD K8 работают с поразительно низкой латентностью, то эффективности работы Opteron с оперативной памятью можно только позавидовать.
|
Решение «проблемы общей памяти» - далеко не единственное преимущество подхода AMD. Обычные SMP страдают еще и от «проблемы общей шины»: мало сделать быстрый контроллер памяти – нужно еще и обеспечить достаточно быструю передачу полученных из памяти данных к процессору. Хотя новейший чипсет Intel 955X Express поддерживает двухканальную оперативную память DDR2 667 МГц с пиковой пропускной способностью 10,7 Гбайт/с, 800-мегагерцовая процессорная шина не позволяет «прокачивать» более 6,4 Гбайт/с. И это еще не всё: чем больше процессоров мы помещаем на системную шину, тем сложнее обеспечить безошибочную передачу по ней данных (возрастает электрическая нагрузка, усложняется разводка). В итоге, если один процессор свободно работает с шиной 800 и даже 1066 МГц, то два процессора уже вынуждены ограничиться шиной не выше 800 МГц, а четыре – работают только с шиной 667 МГц и ниже. Таковы проблемы SMP; мегабайты и даже десятки мегабайт кэш-памяти третьего уровня для них не роскошь, а жестокая необходимость.
Intel, правда, нашла достаточно успешный способ отчасти обойти эту проблему, используя в новейших многопроцессорных системах сразу две независимых процессорных шины. Но в неоднородной AMD SUMA-архитектуре этой проблемы вообще нет. И хотя два ядра в двуядерниках AMD разделяют общую шину SRI, работает эта шина все же, как и кросс-бар, на полной частоте процессора, как и вообще все его внутренние шины, то есть ничем не отличается, скажем, от шины, соединяющий между собой его кэш-память различных уровней. В итоге эта «общая» шина у AMD получается настолько быстродействующая, что ядра друг другу практически не мешают – их ограничивает только пропускная способность оперативной памяти и ведущих во «внешний мир» линков HyperTransport.