Статус нашего сайта: |
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 |
Таненбаум Э.- Архитектура компьютера. стр.226Поскольку мы предполагаем, что все операции чтения из памяти и записи в память выполняются с использованием кэш-памяти первого уровня и эта кэш-память построена из того же материала, что и регистры, мы можем сделать вывод, что операция с памятью занимает один цикл. На практике, однако, этого не так легко достичь. Второй пункт связан с общей производительностью, а не со скоростью выполнения отдельной команды. В микроархитектуре Mic-2 во время первой и третьей частей каждого цикла АЛУ простаивает. Если разделить тракт данных на три части, то появляется возможность использовать АЛУ в каждом цикле, вследствие чего производительность машины увеличивается втрое. А теперь посмотрим, как работает тракт данных Mic-З. Однако сначала нужно как-то назвать защелки. Проще всего назвать защелки А, В и С и считать их регистрами, подразумевая ограничения тракта данных. В табл. 4.9 приведен фрагмент программы для микроархитектуры Mic-2 (реализация команды SWAP). Таблица 4.9. Программа Міс-2 для команды SWAP
Давайте перепишем эту последовательность для Міс-3. Следует помнить, что теперь тракт данных работает три цикла: один служит для загрузки регистров А и В, второй — для выполнения операции и загрузки регистра С, третий — для записи результатов в регистры. Каждый из этих циклов мы назовем микрошагом. Реализация команды SWAP для Mic-3 показана в табл. 4.10. В цикле 1 мы начинаем микрокоманду swapl, копируя значение SP в регистр В. Не имеет никакого значения, что происходит в регистре А, поскольку, чтобы отнять 1 из В, ENA (сигнал разрешения А) блокируется (см. табл. 4.1). Для простоты мы не показываем присваивания, которые не используются. В цикле 2 мы производим операцию вычитания. В цикле 3 результат сохраняется в регистре MAR, и после этого, в конце третьего цикла, начинается процесс чтения. Поскольку чтение из памяти занимает один цикл, закончится он только в конце четвертого цикла. Это показано присваиванием значения регистру MDR в цикле 4. Значение из MDR можно считывать не раньше пятого цикла. Таблица 4.10. Реализация команды SWAP в архитектуре Mic-3
А теперь вернемся к циклу 2. Мы можем разбить микрокоманду swap2 на микрошаги и начать их выполнение. В цикле 2 мы копируем значение SP в регистр В, затем пропускаем значение через АЛУ в цикле 3 и, наконец, сохраняем его в регистре MAR в цикле 4. Пока все хорошо. Должно быть ясно, что, если мы сможем начинать новую микрокоманду в каждом цикле, скорость работы машины увеличится в три раза. Такое повышение скорости происходит за счет того, что машина Mic-3 производит в три раза больше циклов в секунду, чем Mic-2. Фактически мы построили конвейерный процессор. |