|
||
Глава 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 месяца, соответственно в два раза растет их производительность и в два раза падает их рыночная стоимость.
|
||
|
||