Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ekzam.docx
Скачиваний:
9
Добавлен:
18.09.2019
Размер:
3.23 Mб
Скачать
  1. Арифметико-логічний пристрій

АЛУ представляет собой компонент процессора, в котором выполняется преобразование информации — арифметические и логические операции над дан­ными (операндами). Все остальные компоненты как процессора, так и вычисли­тельного комплекса в целом предназначены, по сути, только для того, чтобы пе­редать АЛУ нужные операнды и сохранить полученные результаты. Таким обра­зом, мы подступаем в этой главе к сердцу компьютера, ради нормальной работы которого "трудятся" все остальные компоненты.

АЛУ, как впрочем и все остальные компоненты компьютера, представляет собой совокупность простейших электронных логических схем, способных хра­нить двоичные числа и выполнять над ними элементарные операции булевой ал­гебры. Те читатели, которые пожелают освежить в памяти основные идеи буле­вой алгебры и синтеза логических схем, выполняющих операции булевой алгеб­ры, смогут сделать это, обратившись к приложению А в конце книги.

На рис. 8.1 схематично показано, как АЛУ взаимодействует с остальными компонентами процессора. Данные, над которыми выполняются операции, по­ступают из регистров процессора, а результат также направляется в регистры. Эти регистры представляют собой элементы внутренней памяти процессора и связаны с АЛУ линиями передачи сигналов,(см. рис. 2.3). В качестве вторичного результата АЛУ формирует значения набора двоичных флагов (признаков). На­пример, флаг переполнения устанавливается в 1 в том случае, если при выпол­нении арифметической операции получается результат, не умещающийся в раз­рядной сетке того регистра, в который он должен быть помещен. Значения фла­гов также фиксируются в регистрах процессора. Блок управления передает в АЛУ сигналы, управляющие процессом выполнения операции, передачей опе­рандов в АЛУ и считыванием результатов.

  1. Система команд комп’ютера

Компонентами машинной команды, заданными явно или неявно, являются код операции, который определяет, какая операция будет выполнена при отработке данной команды, ссылки на операнды (или операнд), которые определяют, откуда нужно взять преобразуемые значения, ссылка на приемник, которая определяет, куда должен быть помещен результат операции, и ссылка на следующую команду.

Операции, специфицируемые кодом операции в составе машинной команды, делятся на следующие категории: арифметические и логические операции; операции передачи данных между двумя регистрами процессора, между некоторым регистром и оперативной памятью или между двумя ячейками оперативной памяти; операции ввода-вывода; операции управления ходом выполнения программы.

Ссылки на операнды указывают, откуда следует извлечь обрабатываемые элементы данных. Ссылка может указывать как регистры процессора, так и ячейки оперативной памяти. Ссылка может иметь вид адреса, числа (т.е. в качестве ссылки используется само значение операнда), последовательности символов или логических данных.

Общепринятым в проектировании архитектуры процессоров является использование стека, который может быть доступен или недоступен для программиста. Стеки применяются для управления процессом вызова процедур и возврата из процедур. Иногда стек используется как альтернативная форма адресации операндов в памяти. Базовыми операциями со стеком являются PUSH (запись в стек), POP (извлечение из стека) и обработка элемента, размещенного в одной или двух верхних ячейках стека. Как правило, стек реализуется таким образом, . что заполняется (растет) от больших адресов оперативной памяти к меньшим.

Как правило, в современных компьютерах оперативная память адресуется побайтно. Если элемент данных занимает больше одного байта, то он может адресоваться по-разному. Один способ, принятый в больших системах, например в разных семействах вычислительных машин IBM, состоит в том, что в байте с меньшим адресом размещаются самые старшие разряды многобайтового элемента данных, причем биты в пределах байта нумеруются слева направо, т.е. при представлении двоичного числа вес двоичного разряда, размещенного в бите с номером 0, является наибольшим, а вес разряда, размещенного в бите с номером 7, — наименьшим. Мы будем называть такой способ размещением данных, начиная с большего адреса (big-endian). Адресом всего элемента данных является меньший из адресов байтов, в которых размещен этот элемент. Другой способ, принятый в большинстве мини- и микрокомпьютеров, состоит в том, что в байте с меньшим адресом находится младший байт элемента данных, а в байте с большим адресом — старший. При этом биты в пределах байта нумеруются слева направо, т.е. в битах с большими номерами размещаются разряды с большим весом. Мы будем называть такой способ размещением данных, начиная с меньшего адреса (little-endian). Соответственно и процессоры таких компьютеров называются big-endian и little-endian, т.е. они обрабатывают двоичные коды той или иной "ориентации". Существуют еще и bi-endian процессоры, которые могут обрабатывать данные с обоими способами размещения компонентов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]