- •11. Современные многоядерные процессоры ibm.
- •12. Процессоры компании Tilera
- •1. Предварительные определения: архитектура.
- •2. Предварительные определения: системотехника.
- •3. Особенности архитектуры
- •4. Многоядерные процессоры: история возникновения
- •5. Многоядерные процессоры: производительность
- •6. Многоядерные процессоры: наращивание количества ядер
- •7. Многоядерные чипы для мобильных устройств
- •8. Многоядерные процессоры: Intel и amd – два подхода
- •8.1. Первые двухядерные процессоры Intel
- •8.2. Процессоры amd: suma, sri и интегрированный Northbridge
- •9. Современные многоядерные процессоры Intel.
- •10. Современные многоядерные процессоры amd. (Слайд 30)
- •11. Современные процессоры компании ibm .
- •12. Процессоры компании Tilera
Архитектура информационно-вычислительных систем.
Персональный компьютер.
Структурная организация ПК.
Многоядерные процессоры.
(Слайд 1)
1. Предварительные определения: архитектура.
2. Предварительные определения: системотехника.
3. Особенности архитектуры
4. Многоядерные процессоры: история возникновения
5. Многоядерные процессоры: производительность
6. Многоядерные процессоры: наращивание количества ядер
7. Многоядерные чипы для мобильных устройств
8. Многоядерные процессоры: Intel и AMD – два подхода
8.1. Первые двухядерные процессоры Intel
8.2. Процессоры AMD: SUMA, SRI и интегрированный Northbridge
9. Современные многоядерные процессоры Intel.
10. Современные многоядерные процессоры AMD.
11. Современные многоядерные процессоры ibm.
12. Процессоры компании Tilera
Появившиеся в начале XXI века первые двухъядерные процессоры от Intel и AMD стали не просто очередными конкурирующими новинками от лидеров отрасли ПК, как это часто бывало в последние годы. Их появление - начало нового этапа проникновения профессиональных технологий в потребительский сегмент «настольных» вычислений, как в тактическом, так и в стратегическом понимании.
1. Предварительные определения: архитектура.
Архитектура многоядерных процессоров аналогична архитектуре построения многопроцессорных систем. Существует общепринятая классификация:
1. SMP - системы (Symmetrical Multi Processor systems) (Слайд 2) - все процессоры имеют равноправный доступ к общей оперативной памяти. Создавать подобные системы с определенным уровнем рентабельности сложно: SMP - системы обычно содержат 2-4 процессора. Цена системы с большим числом процессоров может достигать сотен тысяч долларов (SMP с 32-мя CPU может стоить несколько миллионов долларов) Экономически более целесообразно использовать менее дорогостоящие архитектуры. Intel предпочитает создавать SMP - системы.
2. NUMA - системы (Non-Uniform Memory Access systems) (Слайд 3) - память таких систем неоднородна один её фрагмент «быстрее», другой – «медленнее. В системе при этом образуются сегменты со своей, быстрой «локальной» памятью, соединенные относительно медленными линиями связи. Обращения к «своей» памяти происходят быстро, к «чужой» - медленнее. Чем «дальше» чужая память расположена, тем медленнее получается доступ к ней. Создавать NUMA - системы куда проще, чем SMP- системы, но без учета неоднородности памяти для NUMA - системы создать эффективное ПО практически невозможно. AMD, IBM и Sun предпочитает создавать те или иные варианты NUMA - систем.
3. Кластеры (Слайд 4) - объединение нескольких компьютеров (узлы кластера или «ноды») посредством быстродействующих линий связи. В отличие от NUMA - систем, при работе с кластером требуется очень четко программно распределять функции обработки. Это создает трудности при программировании приложений и накладывает существенные ограничения на применимость кластерных систем. Основная область применения кластеров – суперкомпьютеры.
2. Предварительные определения: системотехника.
1. APIC (Advanced Programmable Interrupt Controller) – одна из важнейших схем, занимающаяся сбором и обработкой возникающих в компьютере прерываний.
Пример прерывания. Нажатие клавиши на клавиатуре – контроллер клавиатуры зафиксировал это событие, занес код нажатой клавиши в свою встроенную память – и сгенерировал прерывание – выдал по специальной линии сигнал-запрос с просьбой прервать выполнение текущей программы и обработать событие «нажата клавиша на клавиатуре». Это классическая задача специальных контроллеров (IC –контроллеров): они позволяют процессору не терять время, регулярно опрашивая внешние устройства на предмет возникновения событий.
Кроме аппаратных существуют еще и программные прерывания (exceptions), которые генерирует не периферия, а сам процессор – в случае возникновения какой-либо нештатной ситуации.
Типичные примеры:
в программе встретилась непонятная или просто запрещенная инструкция (#GP, General Protection Exception),
произошло деление на ноль (#DE, Divide-by-Zero Error Exception),
программа обратилась к несуществующему адресу в памяти (#PF, Page Fault Exception).
Некоторые прерывания может генерировать сама программа, а, некоторые используются операционной системой для отладки программ. Реакция на каждое из прерываний задается вектором прерываний – набором адресов в памяти, описывающих действия процессора в случае возникновения прерывания: какие функции (обработчики прерывания) ему в этом случае необходимо выполнять.
Для многопроцессорных, многоядерных и даже для процессоров с Hyper - Threading (виртуальной многоядерностью) требуется для обработки программных прерываний по одному APIC на каждое ядро процессора (включая каждое виртуальное ядро).
Кроме того, нужен еще один, «синхронизирующий» APIC в чипсете, который обеспечивает обработку аппаратных прерываний и, занимается распределением программных прерываний в тех случаях, когда возникшее на одном процессоре прерывание почему-то затрагивает и остальные процессоры.
2. DMA (Direct Memory Access) – блок чипсета, выполняющий обработку фоновых задач, связанных с периферией. DMA обеспечивает работу процессора по обмену с жесткими дисками, начиная с интерфейса Ultra ATA/33 (будет рассмотрен позже).
Пример. Если процессору требуется прочитать данные с жесткого диска, то не надо ждать несколько миллисекунд, пока эти самые данные ему не будут предоставлены. Вместо этого он программирует DMA - контроллер, чтобы тот выполнил эту задачу за него, и переключиться на другую задачу, пока запрос выполняется.
3. GART (Graphical Address Relocation Table) - блок, обеспечивающий графическому ускорителю доступ к системной памяти процессора. GART появился в компьютерах одновременно с шиной AGP. Его задача – реализация механизма виртуальной памяти для CPU. Позволяет 3D - ускорителям использовать не только собственную видеопамять, но и основную системную память компьютера.