Понятие «фон-неймановской» архитектуры
Как мы уже отмечали, в основе построения первых ЭВМ лежал программный принцип управления, предложенный Чарльзом Беббиджем в своей аналитической машине. Согласно принципу, программа или последовательность элементарных действий по обработке информации готовится заранее человеком, а задача машины состоит в четком и быстром исполнении данной последовательности (во времена Беббиджа такой программный принцип использовался, например, в механических станках ткацкой промышленности).
Идея программного управления вычислительным процессом была существенно развита немецким математиком Джоном фон Нейманом (эмигрировавшим из Европы в США во время войны). Он обратился к проблеме вычислительных машин в 1943 году, а в 1945 году сформулировал принцип хранимой в памяти программы и ряд других необходимых подходов и методов для создания ЭВМ.
Его научный доклад об идеях и принципах построения программно-управляемых электронных машин представлял по сути дела теоретическую базу принципиально нового класса вычислительной техники. Данная концепция приобрела мировую известность и одобрение, прежде всего за то, что там были изложены конкретные пути создания стратегически требуемых вычислителей, сочетающих необходимое быстродействие, простоту изготовления, реальную работоспособность и приемлемую надежность.
Именно по предложенной в докладе методологии осуществлялись разработки и создание большинства первых ЭВМ. За это концепция ученого получила обобщающее название - «фон-неймановская» архитектура.
Следует отметить, что основные идеи такой архитектуры, несмотря на их первоначальную простоту, тривиальность, принципиальные ограничения (которые, кстати говоря, выявились на качественном уровне гораздо позднее - напомним «провал» пятого поколения), имели самое широкое распространение в области разработки ЭВМ. Продолжалось это на протяжении четырех поколений ЭВМ.
Лишь только в современный период начали осуществляться идеи создания машин, которые по своему построению отличаются от данной архитектуры (например, нейрокомпьютеры и другие архитектуры, о чем мы поговорим ниже). Рассмотрим суть «фон-неймановской» концепции.
В обычном представлении термин «архитектура» обозначает следующее.
Архитектура - (лат. architectura, от греч. architekton - строитель), зодчество, система зданий и сооружений, а также искусство их создавать.
Архитектура в информатике - концепция взаимосвязи элементов сложной системы (например, вычислительной машины, вычислительной сети и т.д.).
Архитектура вычислительной системы - общая логическая организация вычислительной системы, определяющая процесс обработки данных в ней. Она включает: методы кодирования данных, состав, назначение, принципы взаимодействия технических средств и программного обеспечения.
Другие варианты определения:
1. Принципы работы вычислительной системы на функциональном уровне безотносительно к физической реализации.
2. Точно определенный интерфейс (система взаимодействия) между программами и аппаратурой вычислительной системы.
В разнообразии представленных определений мы стремимся подчеркнуть тот факт, что на современном уровне развития вычислительной техники при ее разработке и создании приходится затрачивать значительные ресурсы на предварительном концептуальном рассмотрении возможных композиций, сочетаний, технологий объединения, как больших систем, так и любого их модуля (на первый взгляд даже функционально незначительного). Причем для достижения высокопроизводительных, универсальных и, самое главное, надежных комплексов вычислительной техники обязательно приходится сочетать идеи как оригинального, оптимального построения разрабатываемых устройств, так и их совместимости на самых различных уровнях (программном, аппаратном, информационном, физическом и др.)
Таким образом, видна принципиальная значимость архитектурного построения ЭВМ (во всех отмеченных аспектах этой проблемы).
Основными чертами (идеями) «фон-неймановской» архитектуры ЭВМ являются:
1. Хранение программы действий машины в памяти самой машины. Это считается наиболее универсальной идеей фон Неймана, направленной на сокращение времени прохождения электрического сигнала по устройствам машины, что в конечном итоге будет определять быстродействие ее работы. Причем особо важным условием является то, чтобы данная память работала максимально быстро. За это далее мы будем называть ее оперативной;
2. Минимизация оборудования. Данная идея, как и следующие, были порождены слабостью ламповой элементной базы, а также общей установкой на увеличение быстродействия вычислительного комплекса в целом. Но и после замены элементной базы, пути, предложенные фон Нейманом, сохранились как исходная посылка для поиска более совершенных вариантов технологической реализации.
Смысл данного предложения в том, что было необходимо, с одной стороны, создать работоспособную ЭВМ, а, с другой - работающую с определенной надежностью. Поэтому перед разработчиками стояла задача применения в комплексе все меньшего числа самостоятельных устройств, но без потери общей работоспособности и уменьшения быстродействия;
3. Минимизация внутренних связей. В этом подходе также отражается двойственная задача: иметь машину, устройства которой будут соединены как можно меньшим числом проводников, дорожек печатных плат, других физических линий, но, опять же, с выдержкой основных критериев по быстродействию, работоспособности и надежности функционирования. Следует подчеркнуть, что первоначальные идеи архитектуры порождали их дальнейшее усовершенствование, развитие (на основе практической эксплуатации ЭВМ, возникающих информационных задач и расширения новых сфер применения).
Например, отмеченные варианты минимизации привели впоследствии к развитию идей миниатюризации, как отдельных устройств ЭВМ, так и всего комплекса в целом;
4. Определенная организация взаимодействия основных устройств машины - арифметико-логического, управляющего, ввода и вывода данных, памяти. После определения перечисленного набора составляющих модулей ЭВМ, требовалась еще и проработка вопросов их композиционного соединения, при котором бы обеспечивались различные аспекты совместимости.
Как видим, все предложения фон Неймана по созданию ЭВМ были ориентированы на реализацию простой по конструкции, но работоспособной и надежной машины (в условиях имеющейся элементной базы, о проблемах эксплуатации которой мы частично упоминали в разделе исторических сведений о развитии ЭВМ).
Отмеченный вариант построения (архитектуры) ЭВМ получил в вычислительной технике кроме «фон-неймановской» архитектуры и другое обобщающее название - SISD architecture (Single Instruction Single Data) - ЭВМ с одним потоком команд и одним потоком данных.
В совокупности эти идеи сводятся к варианту (архитектуре) организации ЭВМ, при которой машина состоит из двух основных частей:
1 - линейноадресуемой памяти, слова (ячейки) которой хранят команды и элементы данных. В определении памяти подчеркнута идея ее линейности (по крайней мере, линейной адресации), т.е. опять представлена необходимость применения самой простой структуры - одной линии. Но и, вместе с тем, расположение всей совокупности команд и результатов в единой непрерывной строке позволяет организовать наиболее надежный последовательный алгоритм обработки информации. Теоретически доказательство такой возможности было приведено еще в 1936 году А. Тьюрингом;
2 - процессора, выбирающего из памяти команды и их операнды и записывающего результаты также в определенные ячейки памяти (в кратком виде об операнде можно сказать - условия и правила исполнения конкретной команды). Каждая команда явно или неявно указывает адреса операндов, результата и следующей команды.