Для решения задач, требующих разработки систем с повышенной производительносью, широкое распространение получили многоядерные микропроцессорные системы. Причиной появления таких процессоров стал рост требований к производительности микропроцессороных систем. До последнего времени одним из основных методов повышения производительности было повышение тактовой частоты процессоров при одновременном совершенствовании систем буферизации обмена данными с основной памятью. Этот рост частот становился возможным по мере уменьшения размеров отдельных элементов микросхем при переходе к новым техпроцессам.
Однако в настоящее время такой путь развития стал достаточно трудной задачей в силу действия ограничений, определяемых законами физики. Например, скорость доступа к памяти растет не так быстро, как скорость работы вычислительных устройств, что может свести на нет преимущества от повышения частоты процессора.
Практически единственным решением этой задачи в рамках существующих технологий является распараллеливание вычислений, суть которого состоит в том, что программа на уровне исходного программного кода может быть разделена на несколько независимых потоков команд, выполняемых на самостоятельных вычислительных блоках. Варианты построения таких систем были известны и проработаны достаточно давно. Сейчас же эти варианты переносятся с уровня законченных процессорных блоков на уровень микросхем процессоров; при этом многопроцессорность дополняется суперскалярностью.
Первой в технологической гонке на пути создания двухъядерных микропроцессоров оказалась фирма IBM, начав в 2001 г. продажу двухъядерного процессора IBM Power4 для серверов. В 2002 г. почти одновременно AMD и Intel объявляют о перспективах создания своих двухъядерных процессоров, и в этом же году появляются процессоры Intel Xeon и Intel Pentium 4 с технологией Hyper-Threading. В 2004 г. свой двухъядерный процессор выпустила Sun (UltraSPARC IV), а таже ARM (MPCore). В том же году IBM выпустила второе поколение своих двухъядерных процессоров IBM Power5.
В 2005 г. Intel выпустила первый в мире двухъядерный процессор архитектуры x86. Почти одновременно AMD анонсировала полную линейку двухъядерных процессоров Opteron и Athlon 64 X2.
Вопросы для самостоятельной работы.
К основным режимам работы МП следует отнести:
А. 1) запись данных в память машины; 2) чтение данных из памяти машины; 3) пересылку данных в устройство ввода/вывода; 4) чтение данных с регистра; 5) выполнение операций с содержимым внутренних регистров микропроцессора.
В. 1) запись данных в память машины; 2) чтение данных из памяти машины; 3) пересылку данных в устройство ввода/вывода; 4) чтение данных с устройства ввода/вывода; 5) выполнение операций с содержимым внутренних регистров микропроцессора.
С.1) передача данных на печать; 2) чтение данных из памяти машины; 3) пересылку данных в устройство ввода/вывода; 4) чтение данных с устройства ввода/вывода; 5) выполнение операций с содержимым внутренних регистров микропроцессора.
D1)передача управляющих сигналов; 2) чтение данных из памяти машины; 3) пересылку данных в устройство ввода/вывода; 4) чтение данных с устройства ввода/вывода; 5) выполнение операций с содержимым внутренних регистров микропроцессора.
E. 1) запись данных в память машины; 2) чтение данных из памяти машины; 3) пересылку данных в устройство ввода/вывода; 4) чтение данных с устройства ввода/вывода; 5) печать данных.
1.Что подразумеваем под шиной?
2.Как реализуется физические шины?
3.Какие основные режимы микропроцессора вы знаете?
4.Работа по реализации любой программы МПС, построенной по типу архитектуры с тремя шинами, состоит в выполнении каких действий для каждой команды программы?
5.Какой особенностью обладают системы с архитектурой SMP?
6.Почему SMP архитектура называется симметричной?
7. В чем преимущества и недостаток SMP-систем от других систем?
8.В чем состоит особенность массивно-параллельной архитектуры (MPP – massive parallel processing)?
9. Что является главным преимуществом систем с раздельной памятью?
10.Что является основными недостатком систем с раздельной памятью?
11.Что относится доступным блокам МП?
12. Что относится недоступным блокам МП?
13.Для чего используются регистры общего назначения?
14. Для чего служит аккумулятор?
15. Для чего используются регистр команд?
16. Для чего служит счетчик команд?
17 Для чего используются указатель стека?
18.Что хранится в флаговом регистре?
19.Где используется состояние флагов?
20.Что является причиной появления многоядерных микропроцессорных систем?
21.Как вы понимаете «многопроцессорность дополняется суперскалярностью»?