В. О. Костенко Институт микропроцессорных вычислительных систем ран
Вид материала | Документы |
СодержаниеКостенко В.О. |
- И. Н. Бычков Институт микропроцессорных вычислительных систем ран, 17.9kb.
- Доклад на Всероссийской научной конференции «От СССР к рф: 20 лет итоги и уроки», 140.15kb.
- Учебная программа по дисциплине современная вычислительная и микропроцессорная техника, 116.15kb.
- С. Д. Кузнецов Институт системного программирования ран e-mail: kuz@ispras ru Лекция, 407.8kb.
- Программно-аппаратные средства функциональной эмуляции микропроцессорных систем управления, 28.14kb.
- Принципы и решения по совершенствованию эффективности функционирования операционных, 337.67kb.
- Вопросы на экзамен по дисциплине «Архитектура вычислительных систем» (авс), 29kb.
- Архитектура Вычислительных Систем», Университет «Дубна» лекция, 193.82kb.
- В. О. Чуканов московский инженерно-физический институт (государственный университет), 15.19kb.
- Ю. С. Пивоваров Прошу подтвердить получение, 33.67kb.
УДК 004.318
В.О. Костенко
Институт микропроцессорных вычислительных систем РАН
ПЕРЕИМЕНОВАНИЕ РЕГИСТРОВ В СУПЕРСКАЛЯРНОМ
МИКРОПРОЦЕССОРЕ АРХИТЕКТУРЫ SPARC
Для разработки отечественного суперскалярного микропроцессора архитектуры SPARC-V9 [1], действующего по принципу динамического планирования [2], а также обеспечивающего совместимость [3] с CPU Sun Ultra SPARC и Fujitsu SPARC64, необходимо произвести поиск пригодных к применению методов переименования регистров и выбрать из них метод, оптимальный для данной разработки. При этом необходимо учесть принятое решение о выполнении чтения готовых операндов команды из упорядочивающего буфера ROB и архитектурного регистрового файла ARF перед передачей этой команды в очередь ожидания неготовых операндов RS. Это решение (issue-bound operand fetch в CPU Эльбрус-2, AMD K8), по сравнению с альтернативным решением (dispatch-bound operand fetch в CPU Alpha 21264, Intel Core), хотя и приводит к увеличению площади CPU и уменьшению его тактовой частоты, но позволяет быстрее выполнять неправильно предсказанные переходы благодаря меньшему числу уровней конвейера и более простому алгоритму перезапуска выборки команд [4, 5].
Для распространенных суперскалярных CISC и RISC CPU известны два решения поставленной задачи, основанные, соответственно, на применении двух видов таблиц переименования RMT, действующих по принципу контекстно-адресуемой CAM или прямоадресуемой RAM памяти [4, 5]. Непосредственное применение любого из этих методов невозможно в связи с тем, что архитектура SPARC отличается от остальных RISC архитектур увеличенным (с 32 [2] до 128 [3]) количеством регистров общего назначения , организованных в виде 8 регистровых окон по 16 регистров в каждом.
Из всех современных CPU архитектуры SPARC, суперскалярным CPU, действующим по принципу динамического планирования, является только SPARC64 V фирмы Fujitsi [6]. К сожалению, использованный при разработке этого CPU метод переименования регистров не освещен в литературе.
В настоящей работе предложен метод переименования регистров, основанный на применении CAM-based RMT, дополненной указателем текущего окна CWP. Размер применяемой RMT равен количеству регистров в ROB и составляет в выполняемой разработке 32 регистра. Для быстрого восстановления состояния такой RMT в случае обнаружения неправильно предсказанного перехода можно использовать контрольные точки, размер каждой из которых равен 35 разрядам. Установлено, что в условиях проектирования RMT на основе библиотеки стандартных элементов, ассоциативный поиск незначительно медленнее прямого. Кроме того, результатом поиска в такой таблице переименования является позиционный адрес физического регистра ROB, непосредственно пригодный для немедленного чтения этого регистра, выполняемого в соответствии с выбранным методом issue-bound operand fetch.
В настоящей работе также выполнена оценка практической пригодности альтернативного решения, которое может быть основано на применении RAM-based RMT, дополненной CWP. Оказывается, что в предполагаемом альтернативном методе размер применяемой RMT должен быть не менее 3 регистровых окон или 64 регистров (что косвенно подтверждается решениями, принятыми в разработке [6], где применен двухуровневый ARF, и размер ARF первого уровня составляет 3 регистровых окна). Размер каждой из контрольных точек при этом составил бы 515 разрядов, что затрудняет применение соответствующего метода быстрого исполнения неправильно предсказанных переходов. Кроме того, результатом поиска в такой таблице переименования является двоичный адрес физического регистра в ROB, который сразу же после поиска необходимо декодировать для чтения этого регистра.
На основании проведенных исследований решено применить в отечественном суперскалярном микропроцессоре архитектуры SPARC-V9 предложенный в настоящей работе метод переименования регистров, основанный на контекстно-адресуемой таблице переименования, дополненной указателем текущего окна. Правильность принятого решения подтверждается предварительными оценками времени срабатывания различных уровней конвейера, а именно: уровня переименования, уровня чтения регистров операндов и уровня исполнения однотактовых арифметических команд. При анализе этих оценок оказалось, что выгоднее всего совместить первые два из указанных уровней конвейера, причем весь конвейер получается достаточно коротким и хорошо сбалансированным, что усиливает достоинства выбранного метода issue-bound operand fetch и увеличивает производительность разрабатываемого микропроцессора.
Литература
- The SPARC Architecture Manual Version 9 // Prentice-Hall, 1994
- Hennessy J., Patterson D. Computer Architecture: A Quantitative Approach, Third Edition // Morgan Kaufmann Publishers, 2003
- SPARC Joint Programming Specification (JPS1): Commonality // Sun Microsystems and Fujitsu Limited, 2002
- Sima D. The Design Space of Register Renaming Techniques // IEEE Micro, Vol. 20 No. 5, pp. 70-83, Sep/Oct 2000
- Wallace S., Bagherzadeh N. A Scalable Register File Architecture for Dynamically Scheduled Processors // Proceedings of International Conference on Parallel Architecture and Compilation Techniques, pp. 179-184, October 1996
- SPARC64 V Processor For UNIX Server // Fujitsu Limited, August 2004
РЕФЕРАТ
УДК 004.318
Костенко В.О. Переименование регистров в суперскалярном микропроцессоре архитектуры SPARC // Современные проблемы фундаментальных и прикладных наук – радиотехника и кибернетика: Сборник трудов 49-й научной конференции МФТИ, Т. Х / МФТИ – М.: 200Х. – С. Х−Х.
Представлен метод переименования регистров, предназначенный для применения в отечественном суперскалярном микропроцессоре архитектуры SPARC-V9. Метод основан на контекстно-адресуемой таблице переименования, дополненной указателем текущего окна регистров. Показано, что предложенный метод хорошо согласуется с другими решениями, принятыми при проектировании, и увеличивает производительность разрабатываемого микропроцессора.
Библиография: 6 назв.