Cтраница 4
АЛУ, устанавливая триггер Z ( и N), но при этом не сохраняет значение ни в одном из регистров. Тракт данных проходит обычный цикл, выполняются все обычные допустимые операции, но ни один из регистров не записывается. Не важно, где находится пункт назначения: в регистре N или в регистре Z. Микрокоманды, которые при этом порождает микроассемблер, одинаковы. [46]
![]() |
Диаграмма системы picoJava II с кэш-памятью первого уровня и блоком с плавающей точкой. Это конфигурация системы microJava 701. [47] |
Кэш-память команд передает в блок вызова, декодирования и свертывания по 8 байтов за раз. Ширина тракта данных составляет 32 бита для целочисленных операций. [48]
Часть тракта данных ЦП содержит схемы, необходимые для выполнения основных операций, требующихся при выполнении макрокоманд. Структура модуля тракта данных зависит от архитектуры конкретной машины. [49]
На некоторых машинах работа тракта данных контролируется особой программой, которая называется микропрограммой. На других машинах тракт данных контролируется аппаратными средствами. [50]
![]() |
Последовательность микрошагов. [51] |
Биполярные ВИС микропрограммируемого ЦП обычно разделяются на наборы БИС, которые более или менее соответствуют рассмотренным модулям. Большая часть логики модуля тракта данных содержится в нескольких ПЭ, каждый из которых оперирует 2 или 4 битами. Параллельное включение ПЭ обеспечивает обработку нескольких бит, число которых кратно длине слова ПЭ. [52]
![]() |
Тракт данных в обычной фон-неймановской машине. [53] |
Команды второго типа вызывают два операнда из регистров, помещают их во входные регистры АЛУ, выполняют над ними какую-нибудь арифметическую или логическую операцию и переносят результат обратно в один из регистров. Этот процесс называется циклом тракта данных. В какой-то степени он определяет, что может делать машина. Чем быстрее происходит цикл тракта данных, тем быстрее компьютер работает. [54]
В книге рассматриваются процессоры, тракт данных, микропрограммирование, конвейеры, организация памяти и процесс ввода-вывода. [55]
АЛУ выполняет простые арифметические операции. Регистры вместе с АЛУ формируют тракт данных, по которому поступают данные. Основная операция тракта данных состоит в следующем. Выбирается один или два регистра, АЛУ производит над ними какую-либо операцию, например сложения, а результат помещается в один из этих регистров. [56]
Теперь мы можем управлять трактом данных с помощью 9 4 8 2 124 сигналов, следовательно, нам требуется 24 бита. Однако эти 24 бита управляют трактом данных только в течение одного цикла. Задача управления - определить, что нужно делать в следующем цикле. Чтобы включить это в разработку контроллера, мы создадим формат для описания операций, которые нужно выполнить, используя 24 бита управления и два дополнительных поля: поле NEXT ADDRESS ( следующий адрес) и поле JAM. Содержание каждого из этих полей мы обсудим позже. На рис. 4.4 изображен один из возможных форматов. [57]
Зачем нужны эти три дополнительных регистра. Ведь теперь для прохождения сигнала через тракт данных требуется три цикла: один - для загрузки регистров А и В, второй - для запуска АЛУ и схемы сдвига и загрузки регистра С, и третий - для сохранения значения регистра-защелки С обратно в нужные регистры. [58]
После разбиения тракта данных на три части максимальная задержка прохождения сигнала уменьшается, и в результате тактовая частота может повыситься. Предположим, что если разбить цикл тракта данных на три примерно равных интервала, тактовая частота увеличится втрое. На самом деле это не так, поскольку мы добавили в тракт данных еще два регистра, но в качестве первого приближения это допустимо. [59]
Затем сигналы управления из всех четырех регистров MIR передаются по тракту данных, вызывая определенные действия. Каждый регистр MIR контролирует отдельную часть тракта данных и, следовательно, различные микрошаги. [60]