Организация системы адресации и команд
Процессор — основная микросхема компьютера, в которой и производятся все вычисления. Конструктивно процессор состоит из ячеек, похожих на ячейки оперативной памяти, но в этих ячейках данные могут не только храниться, но и изменяться. Внутренние ячейки процессора называют регистрами. Важно также отметить, что данные, попавшие в некоторые регистры, рассматриваются не как данные, а как команды, управляющие обработкой данных в других регистрах. Среди регистров процессора есть и такие, которые в зависимости от своего содержания способны модифицировать исполнение команд. Таким образом, управляя засылкой данных в разные регистры процессора, можно управлять обработкой данных. На этом и основано исполнение программ.
С остальными устройствами компьютера, и в первую очередь с оперативной памятью, процессор связан несколькими группами проводников, называемых шинами. Основных шин три: шина данных, адресная шина и командная шина.
Адресная шина.У процессоров Intel Pentium (а именно они наиболее распространены в персональных компьютерах) адресная шина 32-разрядная, то есть состоит из 32 параллельных линий. В зависимости от того, есть напряжение на какой-то из линий или нет, говорят, что на этой линии выставлена единица или ноль. Комбинация из 32 нулей и единиц образует 32-разрядный адрес, указывающий на одну из ячеек оперативной памяти. К ней и подключается процессор для копирования данных из ячейки в один из своих регистров.
Шина данных.По этой шине происходит копирование данных из оперативной памяти в регистры процессора и обратно. В компьютерах, собранных на базе процессоров Intel Pentium, шина данных 64-разрядная, то есть состоит из 64 линий, по которым за один раз на обработку поступают сразу 8 байтов.
Шина команд. Для того чтобы процессор мог обрабатывать данные,
ему нужны команды. Он должен знать, что следует сделать с теми байтами, которые хранятся в его регистрах. Эти команды поступают в процессор тоже из оперативной памяти, но не из тех областей, где хранятся массивы данных, а оттуда, где хранятся программы. Команды тоже представлены в виде байтов. Самые простые команды укладываются в один байт, однако есть и такие, для которых нужно два, три и более байтов. В большинстве современных процессоров шина команд 32-разрядная (например, в процессоре Intel Pentium), хотя существуют 64-разрядные процессоры и даже 128-разрядные.
Система команд процессора. В процессе работы процессор обслуживает данные, находящиеся в его регистрах, в поле оперативной памяти, а также данные, находящиеся во внешних портах процессора. Часть данных он интерпретирует непосредственно как данные, часть данных — как адресные данные, а часть — как команды. Совокупность всех возможных команд, которые может выполнить процессор над данными, образует так называемую систему команд процессора. Процессоры, относящиеся к одному семейству, имеют одинаковые или близкие системы команд. Процессоры, относящиеся к разным семействам, различаются по системе команд и не взаимозаменяемы.
Процессоры с расширенной и сокращенной системой команд.Чем шире набор системных команд процессора, тем сложнее его архитектура, тем длиннее формальная запись команды (в байтах), тем выше средняя продолжительность исполнения одной команды, измеренная в тактах работы процессора. Так, например, система команд процессоров Intel Pentium в настоящее время насчитывает более тысячи различных команд. Такие процессоры называют процессорами с расширенной системой команд — CISС-процессорами (CISC — Complex Instruction Set Computing).
В противоположность CISC-процессорам в середине 80-х годов появились процессоры архитектуры RISC с сокращенной системой команд (RISC — Reduced Instruction Set Computing). При такой архитектуре количество команд в системе намного меньше, и каждая из них выполняется намного быстрее. Таким образом, программы, состоящие из простейших команд, выполняются этими процессорами много быстрее. Оборотная сторона сокращенного набора команд состоит в том, что сложные операции приходится эмулировать далеко не эффективной последовательностью простейших команд сокращенного набора.
В результате конкуренции между двумя подходами к архитектуре процессоров сложилось следующее распределение их сфер применения:
• CISC-процессоры используют в универсальных вычислительных системах;
• RISC-процессоры используют в специализированных вычислительных системах или устройствах, ориентированных на выполнение единообразных операций.
Для персональных компьютеров платформы IBM PC долгое время выпускались только CISC-процессоры, к которым относятся и все процессоры семейства Intel Pentium. Однако в последнее время компания AMD приступила к выпуску процессоров семейства AMD-K6, в основе которых лежит внутреннее ядро, выполненное по RISC-архитектуре, и внешняя структура, выполненная по архитектуре CISC. Таким образом, сегодня появились процессоры, совместимые по системе команд с процессор