Тракт данных
Рис. 4.1. Тракт данных для микроархитектуры, рассматриваемой в этой главе |
Данное АЛ У идентично тому, которое изображено на рис. 3.18 и 3.19. Его функционирование зависит от линий управления. На рис. 4.1 перечеркнутая стрелочка с цифрой 6 сверху указывает на наличие шести линий управления АЛУ. Из них F0 и Ft служат для задания операции, ENA и ENB — для разрешения входных сигналов А и В соответственно, INVA — для инверсии левого входа и INC — для переноса бита в младший разряд, что эквивалентно прибавлению единицы к результату. Однако не все 64 комбинации значений на линиях управления могут быть полезными.
Некоторые комбинации показаны в табл.
4.1. Не все из этих функций нужны для машины IJVM, но многие из них могут пригодиться для полнофункциональной машины (JVM). В большинстве случаев существует несколько возможностей для достижения одного и того же результата. В данной таблице знак плюс (+) означает арифметический плюс, а знак минус (-) — арифметический минус, поэтому -А означает дополнение А.Таблица 4.1. Некоторые комбинации сигналов АЛУ и соответствующие им функции
|
АЛУ, изображенное на рис. 4.1, содержит два входа для данных: левый вход (А) и правый вход (В).
С левым входом связан регистр временного хранения Н. С правым входом связана шина В, на которую могут поступать значения с одного из девяти источников, что показано с помощью девяти серых стрелок, примыкающих к шине. Существует и другая разработка АЛУ с двумя полноразрядными шинами, мы рассмотрим ее чуть позже в этой главе.В регистр Н может поступать функция АЛУ, которая проходит через правый вход (из шины В) к выходу АЛУ. Одна из таких функций — сложение входных сигналов АЛУ, только при этом сигнал ENA отрицателен, и левый вход получает значение 0. Если к значению шины В прибавить 0, это значение не изменится. Затем результат проходит через схему сдвига (также без изменений) и сохраняется в регистре Н.
Существует еще две линии управления, которые используются независимо от остальных. Они служат для управления выходом АЛУ. Линия SLL8 (Shift Left Logical — логический сдвиг влево) сдвигает число влево на 1 байт, заполняя 8 самых младших двоичных разрядов нулями. Линия SRA1 (Shift Right Arithmetic — арифметический сдвиг вправо) сдвигает число вправо на 1 бит, оставляя самый старший двоичный разряд без изменений.
Можно считать и записать один и тот же регистр за один цикл. Для этого, например, нужно поместить значение SP на шину В, закрыть левый вход АЛУ, установить сигнал INC и сохранить полученный результат в регистре SP, увеличив таким образом его значение на 1 (см. строку 8 в табл. 4.1). Если один и тот же регистр может считываться и записываться за один цикл, то как при этом предотвратить появление ненужных данных? Дело в том, что процессы чтения и записи происходят в разных частях цикла. Когда в качестве правого входа АЛУ выбирается один из регистров, его значение помещается на шину В в начале цикла и хранится там на протяжении всего цикла. Затем АЛУ выполняет свою работу, результат которой через схему сдвига поступает на шину С. Незадолго до конца цикла, когда значения выходных сигналов АЛУ и схемы сдвига стабилизируются, содержание шины С передается в один или несколько регистров. Одним из этих регистров вполне может быть тот, с которого поступил сигнал на шину В. Точная синхронизация тракта данных делает возможным считывание и запись одного и того же регистра за один цикл. Об этом речь пойдет далее.
Еще по теме Тракт данных:
- Григорьев Ю.А., Ревунков Г.И.. Банки данных, 2002
- Оценка данных о личности.
- 18.4. Права субъекта персональных данных
- Банк данных
- Анализ и интерпретация полученных данных
- Анализ и интерпретация полученных данных
- Подготовка исходных данных
- 4.5. Право изготовителя базы данных
- 12.4. Анализ эмпирических данных
- 3.3.4. Методы обработки и анализа данных