<<
>>

3-шинная архитектура

Что еще можно сделать, чтобы сократить длину пути? Можно подвести к АЛУ две полные входные шины, А и В, и, следовательно, всего получится три шины. Все (или по крайней мере большинство регистров) должны иметь доступ к обеим входным шинам.
Преимущество такой системы состоит в возможности складывать любой регистр с любым другим регистром за один цикл. Чтобы увидеть, насколько продуктивен такой подход, рассмотрим реализацию команды IL0AD (табл. 4.6).
Таблица 4.6. Микропрограмма для выполнения команды ILOAD
Микрокоманда Операции Комментарий
iload 1 H = LV MBR содержит индекс; копирование LV в Н
iload2 MAR = MBRU + H; rd MAR = адрес локальной переменной, которую нужно поместить в стек
iload3 MAR = SP = SP + 1 Регистр SP указывает на новую вершину стека; подготовка к записи
iload4 PC = PC + 1; fetch; wr Увеличение РС на 1; вызов следующего кода операции; запись вершины стека
iload5 TOS = MDR; goto Mainl Обновление TOS
Mainl PC = PC+ 1; fetch; goto(MBR) Регистр MBR содержит код операции; вызов следующего байта; переход

Мы видим, что в микрокоманде iloadl значение LV копируется в регистр Н. Это нужно только для того, чтобы сложить Н с MBRU в микрокоманде iload2.

В разработке с двумя шинами нет возможности складывать два произвольных регистра, поэтому один из них сначала нужно скопировать в регистр Н.
В 3-шин- ной архитектуре мы можем сэкономить один цикл, как показано в табл. 4.7. Мы добавили основной цикл к команде IL0AD, но при этом длина пути не увеличилась и не уменьшилась. Однако дополнительная шина сокращает общее время выполнения команды с шести циклов до пяти. Теперь мы знаем вторую возможность сокращения длины пути:

Переход от 2-шинной к 3-шинной архитектуре.

Таблица 4.7. Микропрограмма для выполнения команды ILOAD
в 3-шинной архитектуре
Микрокоманда Операции Комментарий
Iloadl MAR = MBRU + LV; rd MAR = адрес локальной переменной, которую нужно поместить в стек
Hoad2 MAR = SP = SP + 1 Регистр SP указывает на новую вершину стека; подготовка к записи
Hoad3 PC = PC + 1; fetch; wr Увеличение РС на 1; вызов следующего кода операции; запись вершины стека
Hoad4 TOS = MDR Обновление TOS
Hoad5 PC = PC + 1; fetch; goto(MBR) Регистр MBR уже содержит код операции; вызов индексного байта

<< | >>
Источник: Таненбаум Э.. Архитектура компьютера. 5-е изд. 2007

Еще по теме 3-шинная архитектура:

  1. Таненбаум Э.. Архитектура компьютера. 5-е изд, 2007
  2. Степанов А. Н.. Архитектура вычислительных систем и компьютерных сетей, 2007
  3. Архитектура
  4. Молитва о возрождении на Земле Священной Архитектуры
  5. Откровение Мастеров. Архитектура – наука о Времени
  6. 5.2.17. Укрепления благосостояния своих лучших сотрудников для увеличения функциональности всех элементов, составляющих структуру и архитектуру цели
  7. Аверьянов Г.П., Дмитриева В.В.. СОВРЕМЕННАЯ ИНФОРМАТИКА, 2011
  8. Григорьев Ю.А., Ревунков Г.И.. Банки данных, 2002
  9. Конъюнкция Сатурна
  10. Меридиан в деканатах знака Тельца
  11. Конъюнкция или благоприятная конфигурация Парс Фортуны
  12. Статья 433. Объекты авторского права
  13. Профессии