Глава 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. Доступные данные для этого варианта также приводятся.
Hosted by uCoz