Статус
нашего
сайта:
ICQ Secrets Center is Online  ICQ Information Center


ICQ SHOP
     5-значные
     6-значные
     7-значные
     8-значные
     9-значные
     Rippers List
ОПЛАТА
СТАТЬИ
СЕКРЕТЫ
HELP CENTER
OWNED LIST
РОЗЫСК!New!
ICQ РЕЛИЗЫ
Протоколы ICQ
LOL ;-)
Настройка компьютера
Аватарки
Смайлики
СОФТ
     Mail Checkers
     Bruteforces
     ICQTeam Soft
     8thWonder Soft
     Other Progs
     ICQ Patches
     Miranda ICQ
ФорумАрхив!
ВАШ АККАУНТ
ICQ LiveJournal

Реклама

Наш канал:

irc.icqinfo.ru

Таненбаум Э.- Архитектура компьютера. стр.429


Таненбаум Э.- Архитектура компьютера. стр.429

В ТглМесНа реализован более удачный метод. Во-первых, четыре слова размещаются в регистрах. При этом результат формируется не маскированием и сдвигами, а специализированными операциями для извлечения и размещения байтов в регистрах. Таким образом, для транспонирования изображения достаточно восьми специальных мультимедийных операций и такого же числа обращений к памяти. Код начинается с двух операций загрузки в сегменты 4 и 5 для размещения слов в регистры К2 и 113, за которыми следуют аналогичные операции для загрузки в регистры К4 и 115. Команды, в составе которых находятся эти операции, могут задействовать сегменты 1, 2 и 3 для любых других целей. После загрузки всех слов 8 специальных мультимедийных операций вместе с двумя операциями сохранения можно упаковать в две команды, формирующие выходные данные. В конечном счете, требуются всего 6 команд, причем 14 из 30 слотов остаются доступными для других операций, а значит, при решении поставленной задачи число слотов соответствует примерно трем командам. Другие мультимедийные операции столько же эффективны. Благодаря этим операциям, а также разделению команды на пять слотов, процессор ТглМесНа оказывается высокоэффективным инструментом обработки мультимедийных данных.

Внутрипроцессорная многопоточность

Для всех современных конвейеризованных процессоров характерна одна и та же проблема — если при запросе к памяти слово не обнаруживается в кэшах первого и второго уровней, на загрузку этого слова в кэш уходит длительное время,

в течение которого конвейер простаивает. Одна из методик решения этой проблемы называется внутрипроцессорной многопоточностью (on-chip multithreading). Она позволяет процессору одновременно управлять несколькими программными потоками и тем самым маскировать простои. Вкратце принцип многопоточ-ности можно изложить так: если программный поток 1 блокируется, процессор может обеспечить полную загрузку аппаратуры, запустив программный поток 2.

Основополагающая идея проста, реализуется она разными способами, которые мы и рассмотрим. Первый из них, называемый мелкомодульной многопоточностью (fine-grained multithreading), применительно к процессору, способному вызывать одну команду за такт, иллюстрирует рис. 8.5. На рис. 8.5, а-в изображено три программных потока (Д В, С), соответствующих 12 машинным циклам. В ходе первого цикла поток А выполняет команду Л1. Поскольку эта команда завершается за один цикл, при наступлении второго цикла запускается команда А2. Ее обращение в кэш первого уровня оказывается неудачным, поэтому до извлечения нужного слова из кэша второго уровня проходит два цикла. Исполнение потока продолжается в цикле 5. Как показано на рисунке, потоки В и С также регулярно простаивают. В рамках такого решения вызов последующей команды до завершения предыдущей не осуществляется. Точнее, при наличии сложного счетчика обращений в некоторых случаях это допустимо, но такую возможность мы для простоты исключаем.

Таненбаум Э.- Архитектура компьютера.

Рис. 8.5. Три программных потока. Пустые квадраты означают простой в ожидании данных из памяти (а-в); мелкомодульная многопоточность (г); крупномодульная многопоточность (д)


⇐ Предыдущая страница| |Следующая страница ⇒

.