Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка.doc
Скачиваний:
617
Добавлен:
22.05.2015
Размер:
2.56 Mб
Скачать

9.4 Структура одноядерного процессора

Структурная схема одноядерного процессора (рис.9.3) содержит:

  • четыре целочисленных устройства;

  • четыре устройства обработки мультимедийных данных;

  • по два устройства вычислений с плавающей запятой одинарной и расширенной точности;

  • два устройства загрузки-сохранения;

  • три устройства выполнения переходов.

Все функциональные устройства микропроцессора конвейеризированы. Команда выполняется за 10 тактов, причём одновременно может выполняться до шести команд. Для повышения эффективности функционирования исполнительных блоков результаты выполнения одной команды передаются непосредственно на вход другой команды, минуя запись в регистры.

Высокоэффективный блок выполнения операций с плавающей точкой обеспечивает производительность до 6 Gflops на операциях с одинарной точностью и от 3 до 6 Gflops на операциях с повышенной точностью.

Высокоскоростной интерфейс процессор-память обеспечивает интенсивную подкачку данных и команд в микропроцессор.

Процессор может напрямую адресовать до 18 Гбайт оперативной памяти и использует трёхуровневую кэш-память:

  1. Внутренняя раздельная кэш-память команд и данных.

  2. Внутренняя общая кэш-память команд и данных.

  3. Внешняя общая кэш-память команд и данных.

Команды микропроцессора группируются компилятором в “связку” длинной 128 бит. Связка содержит три команды и шаблон, указывающий, какие команды связки могут выполняться одновременно. Команды в связке могут размещаться в порядке, отличном от исходного, и могут быть, как зависимы по данным и/или управлению, так и независимы.

9.5 Многоядерные процессоры

С появлением многоядерных процессоров встает вопрос, какова взаимосвязь этих ядер, какие общие элементы микроструктуры используются, как это будет сказываться на работе программы. На рисунке 9.4 показана структурная схема одноядерного и двухъядерного микропроцессоров.

Структура самих ядер идентична и у каждого ядра свой кэш последнего уровня. Таким образом, в Montecito существует всего 4 контекста: два ядра, в каждом – еще два, благодаря гипертредингу.

Как видно из схемы, появились два новых элемента – синхронизатор и арбитр. Арбитр – специальное устройство, позволяющее обеспечить доступ с низкой скрытностью к интерфейсу FSB. На каждом ядре существует специальный служебный элемент, посредством которого арбитр связан с самим ядром – синхронизатор. Арбитр работает на фиксированной частоте, кратной частоте системной шины FSB.

Асинхронный интерфейс между арбитром и каждым ядром позволяет изменять частоту работы ядра и кэша по необходимости. Разумеется, наличие арбитра обуславливает появление соответствующей скрытности при общении ядра и системного интерфейса. При прочих равных условиях приоритет отдается запросам на чтение, как наиболее важным.

Перспективы многоядерных процессоров

Концепция многоядерности в будущем будет только развиваться, кристалл будет содержать все большее количество ядер, а процессоры в целом будут эволюционировать по пути дальнейшего увеличения функциональности. Во втором десятилетии этого века производители СБИС будут наращивать количество ядер на одном чипе, увеличив их до десяти, затем ста и, вполне возможно, тысячи единиц в случае необходимости. Вероятно, что в 2018 году микропроцессоры будут производиться по 8-нанометровому техпроцессу (в этом случае можно называть их уже нанопроцессорами), а количество транзисторов возрастет до 256 миллиардов. Планы для 2016 года также очень оптимистичны – 128 миллиардов транзисторов и использование 11-нм техпроцесса.

Планируется, что “дополнительные” транзисторы будут использоваться для увеличения производительности в новых типах приложений, величина которой в течение следующих лет вполне может достичь нескольких терафлопов (1012 Flops).

Реальная перспектива – иметь дома вычислительную систему уровня современного суперкомпьютера. Хотя не менее интересно было бы узнать, какие именно приложения будут требовать такой функциональности от процессора, что нам смогут предложить разработчики программного обеспечения, и насколько сильно изменится повседневная жизнь пользователя благодаря прогрессу в электронике.