|
||
Глава 2
Архитектура системы команд
|
||
|
||
Системой команд вычислительной машины называют полный перечень команд, которые способна выполнять данная ВМ. В свою очередь, под архитектурой системы команд (АСК) принято определять те средства вычислительной машины, которые видны и доступны программисту. АСК можно рассматривать как линию согласования нужд разработчиков программного обеспечения с возможностями создателей аппаратуры вычислительной машины (рис. 2.1).
|
||
|
||
|
||
|
||
Рис. 2.1 .Архитектура системы команд как интерфейс меэ и аппаратным обеспечением
В конечном итоге, цель тех и других — реализация вычислений наиболее эффективным образом, то есть за минимальное время, и здесь важнейшую роль играет правильный выбор архитектуры системы команд.
В упрощенной трактовке время выполнения программы (7выч) можно определить через число команд в программе (JVK0M), среднее количество тактов процессора, приходящихся на одну команду (CPI), и длительность тактового периода:
|
||
|
||
|
||
|
||
|
||
Архитектура системы команд 53
|
||
|
||
Каждая из составляющих выражения зависит от одних аспектов архитектуры системы команд и, в свою очередь, влияет на другие (рис. 2.2), что свидетельствует о необходимости чрезвычайно ответственного подхода к выбору АСК.
|
||
|
||
|
||
|
||
Рис. 2.2. Взаимосвязь между системой команд и факторами, определяющими эффективность вычислений
Общая характеристика архитектуры системы команд вычислительной машины складывается из ответов на следующие вопросы:
1. Какого вида данные будут представлены в вычислительной машине и в какой форме?
2. Где эти данные могут храниться помимо основной памяти?
3. Каким образом будет осуществляться доступ к данным?
4. Какие операции могут быть выполнены над данными?
5. Сколько операндов может присутствовать в команде?
6. Как будет определяться адрес очередной команды?
7. Каким образом будут закодированы команды?
Предметом данной главы является обзор наиболее распространенных архитектур системы команд, как в описательном плане, так и с позиций эффективности. В главе приводятся доступные статистические данные, позволяющие дополнить качественный анализ различных АСК количественными показателями. Большинство представленных статистических данных почерпнуто из общепризнанного источника — публикаций Д. Хеннеси и Д. Паттерсона. Данные были получены в результате реализации на вычислительной машине DEC VAX трех программных продуктов: компилятора с языка С GCC, текстового редактора ТеХ и системы автоматизированного проектирования Spice. Считается, что GCC и ТеХ показательны для программных приложений, где превалируют целочисленные вычисления и обработка текстов, a Spice может рассматриваться как типичный представитель вычислений с вещественными числами. С учетом того, что архитектура вычислительной машины VAX в известном смысле уже устарела, Хеннеси и Паттерсоном, а также приверженцами их методики были проведены дополнительные исследования, где программы GCC, Spice и ТеХ выполнялись на более современной ВМ, в частности MIPS R2000. Доступные данные для этого варианта также приводятся.
|
||
|
||