Глава 1
Становление и эволюция цифровой вычислительной техники
Изучение любого вопроса принято начинать с договоренностей о терминологии. В нашем случае определению подлежат понятия вычислительная машина (ВМ) и вычислительная система (ВС). Сразу же оговорим, что предметом рассмотрения будут исключительно цифровые машины и системы, то есть устройства, опериру­ющие дискретными величинами. В литературе можно найти множество самых раз­личных определений терминов «вычислительная машина» и «вычислительная система». Причина такой терминологической неопределенности кроется в невоз­можности дать удовлетворяющее всех четкое определение, достойное роли стан­дарта. Любая из известных формулировок несет в себе стремление авторов отра­зить наиболее существенные, по их мнению, моменты, в силу чего не может быть всеобъемлющей. В подтверждение этого тезиса приведем несколько определений термина «вычислительная машина», взятых из различных литературных источ­ников1. Итак, вычислительная машина — это:
1.   Устройство, которое принимает данные, обрабатывает их в соответствии с хра­нимой программой, генерирует результаты и обычно состоит из блоков ввода, вывода, памяти, арифметики, логики и управления.
2.   Функциональный блок, способный выполнять реальные вычисления, включа­ющие множественные арифметические и логические операции, без участия че­ловека в процессе этих вычислений.
3.   Устройство, способное:
•   хранить программу или программы обработки и по меньшей мере информа­цию, необходимую для выполнения программы;
•   быть свободно перепрограммируемым в соответствии с требованиями поль­зователя;
1 Две первые цитаты взяты из различных толковых словарей, а третья — из постановления о таможен­ном тарифе.
20 Глава 1. Становление и эволюция цифровой вычислительной техники
D выполнять арифметические вычисления, определяемые пользователем;
О выполнять без вмешательства человека программу обработки, требующую изменения действий путем принятия логических решений в процессе обра­ботки.
Не отдавая предпочтения ни одной из известных формулировок терминов «вы­числительная машина» и «вычислительная система», тем не менее воспользуемся наиболее общим их определением [33], условившись, что по мере необходимости смысловое их наполнение может уточняться.
Термином вычислительная машина будем обозначать комплекс технических и программных средств, предназначенный для автоматизации подготовки и реше­ния задач пользователей.
В свою очередь, вычислительную систему определим как совокупность взаимо­связанных и взаимодействующих процессоров или вычислительных машин, пе­риферийного оборудования и программного обеспечения, предназначенную для подготовки и решения задач пользователей.
Таким образом, формально отличие ВС от ВМ выражается в количестве вы­числителей. Множественность вычислителей позволяет реализовать в ВС парал­лельную обработку. С другой стороны, современные вычислительные машины с од­ним процессором также обладают определенными средствами распараллеливания вычислительного процесса. Иными словами, грань между ВМ и ВС часто бывает весьма расплывчатой, что дает основание там, где это целесообразно, рассматри­вать ВМ как одну из реализаций ВС. И напротив, вычислительные системы часто строятся из традиционных ВМ и процессоров, поэтому многие из положений, относящихся к ВМ, могут быть распространены и на ВС. Последнее замечание имеет непосредственное отношение к материалу данной главы. Условимся, что ска­занное относительно вычислительных машин распространяется и на ВС с тради­ционными процессорами. В тех случаях, когда излагаемый материал справедлив лишь по отношению ВС, структура или принцип действия которых отличается от традиционных, будет действовать термин «вычислительная система».
И, наконец, заключительное замечание. Специфика главы вынуждает исполь­зовать в ней многие понятия, полное содержание которых станет ясным лишь после изучения последующих разделов книги. Там, где это возможно, пояснения будут даваться по ходу изложения (правда, в упрощенном виде). В любом случае, для получения полной картины к материалу данной главы имеет смысл еще раз вер­нуться после ознакомления со всей книгой.
Определение понятия «архитектура»
Рассмотрение принципов построения и функционирования вычислительных ма­шин и систем предварим определением термина архитектура в том виде, как он будет трактоваться в данной книге.
Под архитектурой вычислительной машины обычно понимается логическое построение ВМ, то есть то, какой машина представляется программисту. Впервые термин «архитектура вычислительной машины» (computer architecture) был упот­реблен фирмой IBM при разработке машин семейства IBM 360 для описания тех
Уровни детализации структуры вычислительной машины 21
средств, которыми может пользоваться программист, составляя программу на уровне машинных команд. Подобную трактовку называют «узкой», и охваты­вает она перечень и формат команд, формы представления данных, механиз­мы ввода/вывода, способы адресации памяти и т. п. Из рассмотрения выпадают вопросы физического построения вычислительных средств: состав устройств, число регистров процессора, емкость памяти, наличие специального блока для обработки вещественных чисел, тактовая частота центрального процессора и т. д. Этот круг вопросов принято определять понятием организация или струк­турная организация.
Архитектура (в узком смысле) и организация — это две стороны описания ВМ и ВС. Поскольку для наших целей, помимо теоретической строгости, такое деле­ние не дает каких-либо преимуществ, то в дальнейшем будем пользоваться термином -«архитектура», правда, в «широком» его толковании, объединяющем как архитек­туру в узком смысле, так и организацию ВМ. Применительно к вычислительным системам термин «архитектура» дополнительно распространяется на вопросы рас­пределения функций между составляющими ВС и взаимодействия этих составля­ющих.
Уровни детализации структуры вычислительной машины
Вычислительная машина как законченный объект являет собой плод усилий спе­циалистов в самых различных областях человеческих знаний. Каждый специалист рассматривает вычислительную машину с позиций стоящей перед ним задачи, аб­страгируясь от несущественных, по его мнению, деталей. В табл. 1.1 перечислены специалисты, принимающие участие в создании ВМ, и круг вопросов, входящих в их компетенцию.
Таблица 1.1. Распределение функций между разработчиками вычислительной машины
Специалист
Круг вопросов
Производитель полупроводниковых материалов
Материал для интегральных микросхем (легированный кремний, диоксид кремния и т. п.)
Разработчик электронных схем
Электронные схемы узлов ВМ (разработка и анализ)
Разработчик интегральных микросхем
Сверхбольшие интегральные микросхемы (схемы электронных элементов, их размещение на кристалле)
Системный архитектор
Архитектура и организация вычислительной машины (устройства и узлы, система команд и т. п.)
Системный программист
Операционная система, компиляторы
Теоретик
Алгоритмы, абстрактные структуры данных
22ί Fhaea t.Становление и эволюция цифровой вычислительной техники
, Круг вопросов, рассматриваемых в данном курсе, по. большей части относится к компетенции системного архитектора и охватывает различные степени детали­зации ВМ и ВС. В принципе таких уровней может бьпь достаточно много, однако сложившаяся практика ограничивает их число четырьмя уровнями (рис.: 1.1);
■;..■■>■.: ■:■:...                          в                                                                                     ■..,.,...                                3                           .;;: ;: ·.- .. :■ .
.'. рис. 1 .1. Уровни детализации вычислительной машины: а—уровень «черного ящика»; б— уровень общей архитектуры; в — уровень архитектуры центрального процессора;
г — уровень архитектуры устройства управления                                         ,
.На первом уровне вычислительная машина рассматривается как устройство, способное хранить и обрабатывать информацию, а также обмениваться данными с'внешним миром (см. рис..1.1, а). ВМ представляется «черным ящиком», кото-, рый может быть подключен к коммуникационной сети и к которому, в свою оче­редь, могут подсоединяться периферийные устройства.
Уровень общей архитектуры (см. рис. 1.1, б)предполагает представление ВМ в виде четырех составляющих: центрального процессора (ЦП), основной памяти
Й),устройства ввода/вывода (УВВ) и системы шин.
На третьем уровне детализируется каждое из устройств' второго уровня: Для Примера взят центральный процессор (см. рис. Г.1, в) В простейшем варианте в нем можно выделить:                                                                        '■'■'.
• арифметико-логическое устройство (АЛУ); обеспечивающее обработку целых чисел;
•блок обработки чисел в формате с плавающей запятой (, Б ЦЗ);,          ■■'.■■-*,■'
регйстрЙ процессора, использующиеся для краШ5$0ШШШ$Мёш$Ш>!Щ$у
данных и адресов;                                : ,            '■*'''" ■"''::"'"                ,,:
Эволюция средств автоматизации вычислены 23
•   устройство управления (УУ), обеспечивающее совместное функционирование устройств ВМ;
•    внутренние шины.
На четвертом уровне детализируются элементы третьего уровня. Так, на рис. 1.1, г раскрыта структура устройства управления. УУ представлено в виде че­тырех составляющих:
•   логики программной последовательности — электронных схем, обеспечиваю­щих выполнение команд программы в последовательности, предписываемой программой;
•    регистров и дешифраторов устройства управления;
•    управляющей памяти;
•    логики формирования управления, генерирующей все необходимые управля­ющие сигналы.
Применительно к параллельным и распределенным многопроцессорным и мно­гомашинным1 вычислительным системам зачастую вводят понятие «метауровня». На данном этапе метауровень рассматриваться не будет.
Эволюция средств автоматизации вычислений
Попытки облегчить, а в идеале автоматизировать процесс вычислений имеют давнюю историю, насчитывающую более 5000 лет. С развитием науки и технологий средства автоматизации вычислений непрерывно совершенствовались. Современное состоя­ние вычислительной техники (ВТ) являет собой результат многолетней эволюции. В последнее время вопросы развития ВТ стали предметом особо пристального внимания ученых, свидетельством чего служит активно развивающаяся новая об­ласть знаний, получившая название «Теория эволюции компьютеров» (Computer evolution theory). Создатели теории обратили внимание на сходство закономерно­стей эволюции вычислительной техники и эволюции в биологии. В основу новой науки положены следующие постулаты:
•    самозарождение -«живых» вычислительных систем из «неживых» элементов (в биологии это явление известно как абиогенез);
•  поступательное продвижение по древу эволюции — от протопроцессорных (од-
нопроцессорных) вычислительных машин к полипроцессорным (многопроцес­сорным) вычислительным системам;
•   прогресс в технологии вычислительных систем как следствие полезных мута­ций и вариаций;
отмирание устаревших технологий в результате естественного отбора;
•    закон Мура1 как подтверждение эволюции вычислительных систем.
1 Гордон Мур — один из основателей компании Intel, в 1965 году сделал знаменательное наблюдение, позже получившее название закона Мура. Он заметил, что плотность транзисторов на кремниевой подложке удваивается каждые 18-24 месяца, соответственно в два раза растет их производитель­ность и в два раза падает их рыночная стоимость.
Hosted by uCoz