Принстонская архитектура компьютера гарвардская архитектура компьютера в чем отличие
Обновлено: 21.08.2024
Отсутствие различий между командами и данными означает, что по двоичному коду, взятому из некоторой ячейки памяти невозможно определить, представляет ли он машинную команду или данные некоторого типа. В связи с этим, тип слова (команда или данные) определяется не способом кодирования, а способом использования (интерпретацией). Из однородности памяти следует, что команды и данные располагаются в единой общей памяти и одинаково адресуются. Принцип использования единой памяти принято называть Принстонской архитектурой по наименованию института, в котором она была разработана. В отличие от этого принципа при построении некоторых ЭВМ используется раздельная память для программ и данных. Архитектура с разделением памяти получила название Гарвардской архитектуры ЭВМ.
Принцип последовательного программного управления.Программа состоит из набора команд, которые выполняются процессором друг за другом в определенной последовательности (в порядке возрастания их адресов). Естественная последовательность выполнения команд может нарушаться при выполнении команд переходов (условных и безусловных), циклов, вызовов, возвратов и т.п. Кроме того, последовательность команд может нарушаться особыми случаями, приводящими к прерыванию программы. Управляющее устройство (может называться счетчиком команд) содержит адрес команды, назначаемой для выполнения процессором.
Пассивность памяти и активность процессора.Ячейка памяти всегда содержит какое-то значение. Полученное ячейкой значение не может быть изменено иначе как при выполнении специальной команды процессора, предназначенной для этого действия. Процессор всегда выполняет некоторую команду, закодированную последовательностью битов в ячейке и извлеченную из памяти.
Достоинства и недостатки Принстонской архитектуры.Основное преимущество Принстонской архитектуры – упрощение устройства ВМ, так как реализуется обращение только к одной общей памяти. Кроме того, использование единой области памяти позволяло оперативно перераспределять ресурсы между областями программ и данных, что существенно повышало гибкость вычислительной системы с точки зрения разработчика программного обеспечения. Размещение стека в общей памяти облегчало доступ к его содержимому. В разные моменты времени одна и та же область памяти может использоваться и как память программ и как память данных. Для того, чтобы программа могла работать в произвольной области памяти, ее необходимо модернизировать перед загрузкой, т.е. работать с нею как с обычными данными. Эта особенность архитектуры позволяет наиболее гибко управлять работой ВС, но создает принципиальную возможность искажения управляющей программы, что понижает надежность работы аппаратуры.
Экономичность неймановских (Принстонских) ВМ определяется минимальностью затрат оборудования на реализацию вычислительного процесса по сравнению с ВМ с ненеймановской архитектурой. Неслучайно поэтому Принстонская (фон-Неймановская) архитектура стала основной архитектурой универсальных компьютеров, включая персональные компьютеры.
Достоинства и недостатки Гарвардской архитектуры.Основной особенностью Гарвардской архитектуры является использование раздельных адресных пространств для хранения команд и данных. Первым компьютером, в котором была использована идея гарвардской архитектуры, был Марк I. Разработан и построен в 1941 году по контракту с IBM молодым гарвардским математиком Говардом Эйкеном и ещё четырьмя инженерами этой компании на основе идей англичанина Чарльза Бэббиджа. Для хранения инструкций в Марк I использовалась перфорированная лента, а для работы с данными – электромеханические регистры. И такое разделение объяснялось, прежде всего, существующими тогда технологиями производства памяти: память для хранения данных с возможностью их перезаписи была малой емкости и дорого стоила, поэтому ее невозможно было использовать для хранения программ. В некотором смысле так было проще (смотрите историю вычислительной техники).
Гарвардская архитектура почти не использовалась до конца 70-х годов, пока производители микроконтроллеров (МК) не поняли, что она дает определенные преимущества разработчикам автономных систем управления. Дело в том, что, судя по опыту использования микропроцессорных систем (МПС) для управления различными объектами, для реализации большинства алгоритмов управления такие преимущества Принстонской архитектуры как гибкость и универсальность не имеют большого значения. Анализ реальных программ управления показал, что необходимый объем памяти данных МК, используемый для хранения промежуточных результатов, как правило, на порядок меньше требуемого объема памяти программ. В этих условиях использование единого адресного пространства приводило к увеличению формата команд за счет увеличения числа разрядов для адресации операндов. Применение отдельной небольшой по объему памяти данных способствовало сокращению длины команд и ускорению поиска информации в памяти данных.
Кроме того, Гарвардская архитектура обеспечивает потенциально более высокую скорость выполнения программы по сравнению с Принстонской за счет возможности реализации параллельных операций. Выборка следующей команды может происходить одновременно с выполнением предыдущей, и нет необходимости останавливать процессор на время выборки команды. Этот метод реализации операций позволяет обеспечивать выполнение различных команд за одинаковое число тактов, что дает возможность более просто определить время выполнения циклов и критичных участков программы. Однако такая организация сложнее по сравнению с Принстонской, так как заставляет процессор обслуживать обмен по двум шинам одновременно. Кроме того, такая схема реализации доступа к памяти имеет один очевидный недостаток – высокую стоимость. При разделении каналов передачи адреса и данных на кристалле процессора последний должен иметь почти в два раза больше выводов (так как шины адреса и данных составляют основную часть выводов микропроцессора). Способом решения этой проблемы стала идея использовать общую шину данных и шину адреса для всех внешних данных, а внутри процессора использовать шину данных, шину команд и две шины адреса. Такую концепцию стали называть модифицированной Гарвардской архитектурой. Разделение шин в модифицированной Гарвардской структуре осуществляется при помощи раздельных управляющих сигналов: чтения, записи или выбора области памяти (например, микроконтроллер ADuC812).
Существуют гибридные модификации архитектур, сочетающие достоинства как Гарвардской, так и Принстонской (фон-Неймановской) архитектур. Современные CISC-процессоры обладают раздельной кэш-памятью 1-го уровня для инструкций и данных, что позволяет им за один такт получать одновременно как команду, так и данные для её выполнения, т.е. процессорное ядро, формально, является Гарвардским, но с программной точки зрения выглядит как Принстонское, что упрощает написание программ. Обычно в данных процессорах одна шина используется и для передачи команд, и для передачи данных, что упрощает конструкцию системы. Современные варианты таких процессоров могут иногда содержать встроенные контроллеры сразу нескольких разнотипных шин для работы с различными типами памяти – например, DDR RAM и Flash. Тем не менее, и в этом случае шины, как правило, используются и для передачи команд, и для передачи данных без разделения, что делает данные процессоры еще более близкими к Принстонской архитектуре при сохранении плюсов Гарвардской архитектуры.
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни.
Различают Принстонскую и Гарвардскую архитектуру вычислительных машин. Эти архитектурные варианты были предложены в конце 40-х годов специалистами, соответственно, Принстонского и Гарвардского университетов США для разрабатываемых ими моделей компьютеров.
Принстонская архитектура
Принстонская архитектура , которая часто называется архитектурой фон Неймана , характеризуется использованием общей оперативной памяти для хранения программ, данных, а также для организации стека. Для обращения к этой памяти используется общая системная шина, по которой в процессор поступают и команды, и данные.
Архитектура современных персональных компьютеров основана на
магистрально-модульном принципе .
Любую вычислительную машину образуют три основные компонента:
- процессор,
- память,
- устройства ввода-вывода (УВВ).
Информационная связь между устройствами компьютера осуществляется через системную шину (системную магистраль).
Шина – это кабель, состоящий из множества проводников. Количество проводников, входящих в состав шины, является
максимальной разрядностью шины .
Системная шина, в свою очередь, представляет собой совокупность
- шины данных, служащей для переноса информации;
- шины адреса, которая определяет, куда переносить информацию;
- шины управления, которая определяет правила для передачи информации;
- шины питания, подводящей электропитание ко всем узлам вычислительной машины.
Системная шина характеризуется тактовой частотой и разрядностью. Количество одновременно передаваемых по шине бит называется
разрядностью шины .
Тактовая частота характеризует число элементарных операций по передаче данных в 1 секунду. Разрядность шины измеряется в битах, тактовая частота – в мегагерцах.
Устройство управления (УУ) формирует адрес команды, которая должна быть выполнена в данном цикле, и выдает управляющий сигнал на чтение содержимого соответствующей ячейки запоминающего устройства (ЗУ). Считанная команда передается в УУ. По информации, содержащейся в адресных полях команды, УУ формирует адреса операндов и управляющие сигналы для их чтения из ЗУ и передачи в арифметико-логическое устройство (АЛУ). После считывания операндов устройство управления по коду операции, содержащемуся в команде, выдает в АЛУ сигналы на выполнение операции. Полученный результат записывается в ЗУ по адресу приемника результата под управлением сигналов записи. Признаки результата (знак, наличие переполнения, признак нуля и так далее) поступают в устройство управления, где записываются в специальный регистр признаков. Эта информация может использоваться при выполнении следующих команд программы, например команд условного перехода.
Устройство ввода позволяет ввести программу решения задачи и исходные данные в ЭВМ и поместить их в оперативную память. В зависимости от типа устройства ввода исходные данные для решения задачи вводятся непосредственно с клавиатуры, либо они должны быть предварительно помещены на какой-либо носитель (дисковый накопитель).
Устройство вывода служит для вывода из ЭВМ результатов обработки исходной информации. Чаще всего это символьная информация, которая выводится с помощью печатающих устройств или на экран дисплея.
Запоминающее устройство или память – это совокупность ячеек, предназначенных для хранения некоторого кода. Каждой из ячеек присвоен свой номер, называемый адресом . Информацией, записанной в ячейке, могут быть как команды в машинном виде, так и данные.
Обработка данных и команд осуществляется посредством арифметико-логического устройства (АЛУ), предназначенного для непосредственного выполнения машинных команд под действием устройства управления. АЛУ и УУ совместно образуют центральное процессорное устройство (ЦПУ). Результаты обработки передаются в память.
Основные принципы построения вычислительных машин с архитектурой фон Неймана
- Принцип двоичности. Для представления данных и команд используется двоичная система счисления.
- Принцип программного управления. Программа состоит из набора команд, которые выполняются процессором друг за другом в определённой последовательности.
- Принцип однородности памяти. Как программы (команды), так и данные хранятся в одной и той же памяти (и кодируются в одной и той же системе счисления, чаще всего – двоичной). Над командами можно выполнять такие же действия, как и над данными.
- Принцип адресуемости памяти. Структурно основная память состоит из пронумерованных ячеек, процессору в произвольный момент времени доступна любая ячейка.
- Принцип последовательного программного управления. Все команды располагаются в памяти и выполняются последовательно, одна после завершения другой.
- Принцип условного перехода. Команды из программы не всегда выполняются одна за другой. Возможно присутствие в программе команд условного перехода (а также команд вызова функций и обработки прерываний), которые изменяют последовательность выполнения команд в зависимости от значений данных. Этот принцип был сформулирован задолго до фон Неймана Адой Лавлейс и Чарльзом Бэббиджем, однако был логически включен в указанный набор как дополняющий предыдущий принцип.
Архитектура фон Неймана имеет ряд важных достоинств.
- Наличие общей памяти позволяет оперативно перераспределять ее объем для хранения отдельных массивов команд, данных и реализации стека в зависимости от решаемых задач. Таким образом, обеспечивается возможность более эффективного использования имеющегося объема оперативной памяти в каждом конкретном случае применения.
- Использование общей шины для передачи команд и данных значительно упрощает отладку, тестирование и текущий контроль функционирования системы, повышает ее надежность.
Поэтому Принстонская архитектура в течение долгого времени доминировала в вычислительной технике.
Однако ей присущи и существенные недостатки. Основным из них является необходимость последовательной выборки команд и обрабатываемых данных по общей системной шине. При этом общая шина становится «узким местом» (bottleneck – «бутылочное горло»), которое ограничивает производительность цифровой системы.
Гарвардская архитектура
Гарвардская архитектура была разработана Говардом Эйкеном в конце 1930-х годов в Гарвардском университете с целью увеличить скорость выполнения вычислительных операций и оптимизировать работу памяти. Она характеризуется физическим разделением памяти команд (программ) и памяти данных. В ее оригинальном варианте использовался также отдельный стек для хранения содержимого программного счетчика, который обеспечивал возможности выполнения вложенных подпрограмм. Каждая память соединяется с процессором отдельной шиной, что позволяет одновременно с чтением-записью данных при выполнении текущей команды производить выборку и декодирование следующей команды. Благодаря такому разделению потоков команд и данных и совмещению операций их выборки реализуется более высокая производительность, чем при использовании Принстонской архитектуры.
Недостатки Гарвардской архитектуры связаны с необходимостью проведения большего числа шин, а также с фиксированным объемом памяти, выделенной для команд и данных, назначение которой не может оперативно перераспределяться в соответствии с требованиями решаемой задачи. Поэтому приходится использовать память большего объема, коэффициент использования которой при решении разнообразных задач оказывается более низким, чем в системах с Принстонской архитектурой. Однако развитие микроэлектронной технологии позволило в значительной степени преодолеть указанные недостатки, поэтому Гарвардская архитектура широко применяется во внутренней структуре современных высокопроизводительных микропроцессоров, где используется отдельная кэш-память для хранения команд и данных. В то же время во внешней структуре большинства микропроцессорных систем реализуются принципы Принстонской архитектуры.
Всем известно, какой неоценимый вклад в развитие вычислительной техники внесли американские ученые . Хотя исследования велись во многих университетах этой страны, пальма первенства все же принадлежит Гарвардскому и Принстонскому. Именно там были разработаны варианты архитектуры вычислительных машин, предопределившие концепции развития компьютерной техники.
С чего все началось
В середине 1930-х военное ведомство Соединенных Штатов поручило Принстонскому и Гарвардскому университетам создать электромеханическую вычислительную систему, предназначенную для поддержки артиллерии ВМФ США.
В результате появились 2 концепции. Сегодня они известны как гарвардская и принстонская архитектура.
Концептуально отличие
Главное отличие этих двух концепций заключается в том, что архитектура фон Неймана (принстонская) использовала единую память, т. е. общую шину данных. Что касается ее «конкурентки», автором которой стал Говард Эйкен , для её реализации требуется наличие нескольких шин.
Кроме того, гарвардская архитектура вычислительной системы отличается от принстонской тем, что ее реализация при достаточной сложности схемы является более скоростной. Это связно с тем, что в фон-неймановском варианте памяти программ и данных не могут быть доступны одновременно.
Гарвардская архитектура vs принстонская
Как известно, главными составляющими ЭВМ являются АЛУ и память. Очевидно, что чем меньше проводников между ними, тем лучше. С этой точки зрения и с учетом технических возможностей, которые имели место до конца 60-х годов прошлого века, безусловно, лидировала неймановская архитектура. Именно она легла в основу конструкции процессоров RISC.
Но научно-технический прогресс не стоял на месте, и в 70-х годах ХХ века появились полупроводники. С их помощью можно было создавать множество микропроводников, что ликвидировало проблему использования большого количества контактов и привело к наступлению эры гарвардской архитектуры.
Дальнейшее противостояние
Появление процессоров, разработанных на основе гарвардской архитектуры, было встречено без особого энтузиазма, так как на тот момент не существовало ПО, способного сделать ощутимыми преимущества их использования. В частности, из-за того, что они не могли работать на больших частотах, их называли процессорами для бедных.
Простота операционной системы компенсировалась сложной конструкцией процессора, названного CISC. Он обладал отдельной 16-разрядной адресной шиной и позволял произвольно манипулировать регистрами. Процессор CISC обладал производительностью, которая в несколько раз превышала все уже существующие.
Вслед за этим IBM повторила идею Apple, создав персональный компьютер IBM-PC с процессором от Intel, функционирующим согласно концепции гарвардской архитектуры. В качестве ОС использовался продукт компании Microsoft — Microsoft DOS. Системы с таким составом называются Wintel.
Недостатки гарвардской архитектуры ЭВМ
За быстродействие CISC-процессора пришлось заплатить удвоенным/утроенным количеством контактов. Это не только стало причиной его перегрева, но и наложило ограничения на его размеры. В среднем на каждые 20 процентов прироста производительности гарвардского процессора его потребляемая мощность увеличивалась до 50 процентов.
Для решения этой проблемы были изобретены многоядерные процессоры, в которых частота работы каждого отдельного ядра была понижена, но по суммарной производительности они превышали показатели даже разогнанного одноядерного .
Влияние гарвардской и принстонской архитектур построения компьютерных систем на дальнейшее развитие вычислительной математики
Переход на многоядерные ВС привел к завершению эры классического программирования, т. к. для многопоточных вычислений потребовалось изменение классических алгоритмов программирования, построенных на блок-схемах. Все это привело к разрыву между возможностями ЭВМ и существующими возможностями вычислительной математики. Проблема усугубилась после доказательства закона Амдала , согласно которому невозможно разработать полностью распараллеленный вычислительный алгоритм, т. е. такой, в котором не было бы некой доли последовательных операций.
Современная архитектура ПК
Сегодня существуют ЭВМ с разными типами и даже гибридными архитектурами. Однако основными принципами , которые их определяют, являются:
- Программное управление . Оно позволяет автоматизировать процесс вычислений на ЭВМ. Согласно этому принципу, решение любой задачи осуществляется по программе, определяющей последовательность действий ПК.
- Принцип программы, сохраняемой в памяти. Он содержит требование подачи команд в виде чисел, как это происходит в отношении данных, и их обработку таким же способом, что и чисел. При этом сама она перед запуском загружается в оперативную память, что дает возможность ускорить процесс выполнения.
- Принцип произвольного доступа к компьютерной оперативной памяти. Элементы программ и данных записываются в любое место ОП . Такое решение позволяет обратиться к конкретному участку памяти, не просматривая предыдущие .
Теперь вы знаете, чем гарвардская архитектура отличается от принстонской и какое значение они имеют для развития вычислительной техники. Возможно, со временем появятся новые принципы построения компьютерных систем, которые позволят достичь результатов, которые сегодня кажутся фантастическими.
Мы все знаем, какой неоценимый вклад в развитие вычислительной техники получили американские ученые. Хотя исследование было во многих университетах страны, Пальма первенства принадлежит все же Гарвардскому и Принстонскому. Там вариантов архитектуры вычислительных машин, предопределившие концепцию развития компьютерной техники.
Как все начиналось
В середине 1930-х военное ведомство Соединенных Штатов имеет Принстонскому и Гарвардскому университетам создавать Электромеханические калькулятор система для поддержки артиллерии ВМС США.
В результате появились 2 понятия. Сегодня они известны как Гарвардская и принстонская архитектуры.Концептуально Разница
Основное различие этих двух понятий состоит в том, что из-Неймана-архитектура (принстонская) использовала единую память, т. е. общую шину данных. О ее «конкурентки», автором которого был Говард Эйкен, чтобы его реализовать, потребуется несколько шин.
Кроме того, Гарвардская архитектура вычислительной системы отличается от принстонской факт, что их реализации с достаточной сложностью схемы более быстро. Это связно с тем, что в фон-неймановском вариант хранения программ и данных одновременно не может быть получен.
Гарвардская архитектура, принстонская против.
Как известно, основными компонентами ЭВМ АЛУ и памяти. Очевидно, что чем меньше проводник между ними, тем лучше. С этой точки зрения и с учетом технических возможностей, которые имели место до конца 60-х годов прошлого века, безусловно, лидировала неймановская архитектура. Это стало основой конструкции RISC-процессоров.
Но научно-технический прогресс не стоял на месте, и в 70-х годах ХХ века появились полупроводниковые. С их помощью можно было создать микропроводников вам большое, что ликвидирует проблему использования большого количества контактов имеет и привело к началу эпохи Гарвардской архитектуры.Дальнейшую конфронтацию
Появление процессоров, разработанный на основе Гарвардской архитектуры, был встречен без особого энтузиазма, поскольку оно не существовало на тот момент, способный сделать ощутимые преимущества их использования. В частности, из-за того, что они не могли работать на больших частотах, называются процессоры для бедных.
Простота операционной системы компенсировалась сложной структурой процессора, называется CISC. Он обладал отдельный 16-разрядная адресная шина и разрешены заглавные и манипулировать регистра произвольно. Процессор CISC обладал мощность в несколько раз больше, чем все уже существующие.
После этого IBM детище Apple снова повторил, создавая персональный компьютер IBM PC с процессором Intel, работает согласно концепции Гарвардской архитектуры. В качестве операционной системы продукт фирмы Microsoft — Microsoft DOS использует. Систем с таким составом считаются Wintel.
Недостатки Гарвардской архитектуры ЭВМ
Для производительности CISC-процессора пришлось заплатить удвоили/утроили количество контактов. Это не только причина перегрева, но имеет ограничения для своего размера. В среднем за каждые 20 % прирост производительности Гарвардский процессор его потребление до 50 процентов увеличивается.
Для решения этой проблемы были более ядерных процессоров, в которых частота работы каждого ядра была снижена, но общее представление вы превысили показатели даже разогнанного одноядерного.Влияние Гарвардской и принстонской архитектур построения вычислительных систем на дальнейшее развитие вычислительной математики
Переход на многоядерные Sun привело к окончанию эпохи классического программирования, так как для многопоточных вычислений потребовалось изменение классического программирования алгоритмов на блок-схеме. Все это привело к разрыву между возможностями ИТ и имеющихся возможностях вычислительной математики. Проблема усугубилась после доказательства закона Амдала, согласно которому невозможно полностью развить распараллеленный вычислительный алгоритм, т. е. такой, в котором не было бы определенной доли последовательных операций.
Современная архитектура ПК
Сегодня есть компьютеры с разными видами, а также гибридных архитектур. Но основные принципы, которые определяют, являются:Программное Обеспечение Управления. Она позволяет автоматизировать процесс компьютерных вычислений. Согласно этому принципу решение каждой задачи осуществляется по программе, последовательность действий компьютера.Основной принцип программы, хранящиеся в памяти. Он содержит требование подачи команд в виде цифр, как в отношении данных и их обработку таким же образом, что и платить. Даже до загрузки в оперативную память загружается, что дает возможность ускорить процесс.Принцип произвольного доступа к памяти компьютера. Элементы программ и данных в любом месте ОП. Такое решение позволяет получить доступ к определенной области памяти, не просматривая предыдущие.
Теперь вы знаете, что такое Гарвардская архитектура отличается от принстонской и какое значение они имеют для развития вычислительной техники. Возможно, со временем появляются новые принципы построения вычислительных систем, которые позволяют достичь результатов, которые сегодня кажутся фантастическими.
показать все
19.11.2021
Игра в кальмара, искусственный интеллект и цифровизация. Как прошла 6-ая конференция TECH WEEK
Читать далее
19.11.2021
SMART RUSSIA 2021 Международная конференция
Читать далее
16.11.2021
Систему автоматического видеосопровождения самолётов при посадке создадут на девятом хакатоне по искусственному интеллекту в Челябинске
Читать далее
15.11.2021
Открытая конференция Института системного программирования РАН состоится в декабре
Читать далее
показать все
02.11.2021
Читать далее
21.09.2021
Поможет ли стратегия развитию Open Source в России?
Читать далее
18.08.2021
Платформенный бизнес в России
Читать далее
16.05.2021
Читать далее
08.04.2021
KPI: стоит ли овчинка выделки?
Читать далее
13.02.2020
Чат-бот CallShark не требует зарплаты, а работает круглосуточно
Читать далее
24.12.2019
До встречи в «Пьяном Сомелье»!
Читать далее
21.12.2019
Искусство как награда Как изготавливали статуэтки для премии IT Stars им. Георгия Генса в сфере инноваций
Читать далее
04.12.2019
ЛАНИТ учредил премию IT Stars памяти основателя компании Георгия Генса
Читать далее
04.06.2019
Маркетолог: привлекать, продавать, продвигать?
Читать далее
показать все
Главная / Архив номеров / 2013 / Выпуск №8 (31) / Armand: принстонская и гарвардская архитектуры
Рубрика: Управление проектами
Александр Тетюшев , к.т.н., доцент кафедры АВТ, Вологодского государственного технического университета (ВоГТУ)
Armand: принстонская и гарвардская архитектуры
В 30-х годах прошлого века военное ведомство США поручило Гарвардскому и Принстонскому университетам разработать электромеханическую вычислительную систему для военно-морской артиллерии. Результатом усилий этих университетов стали две концепции построения вычислительных систем, которые определили развитие мировой вычислительной техники почти на 100 лет вперед. Мы знаем их как гарвардская и принстонская (более известная как фон-неймановская) архитектуры
Их основное отличие заключалось в том, что архитектура фон Неймана использовала единую память (общую шину данных), а гарвардская предполагала наличие нескольких шин (в оригинале две: шина данных и шина команд).
Преимущества машины фон Неймана оценили сразу, поскольку в ней содержалось значительно меньше проводников между арифметико-логическим устройством (АЛУ) и областью памяти, и на долгие годы она стала эталоном для создания ВС. Именно фон-неймановская архитектура с подачи Джона Кока являлась прародителем процессоров RISC (Reduced Instruction Set Computer – вычисления с сокращенным набором команд).
Время шло, и в 70-х годах прошлого века появились полупроводники, в которых можно было создавать сотни микроскопических проводников. Проблема множества контактов была снята, и наступила эра гарвардской архитектуры. Действительно, если процессор имеет несколько шин, он может одновременно выполнить несколько действий. В этом случае за один такт гарвардский процессор может выполнить несколько операций, существенно опередив попроизводительности аналогичный фон-неймановский процессор. Чтобы это понять, достаточно посмотреть на схемы двух архитектур.
Рисунок 1. Вычислительные архитектуры
Появление процессоров на гарвардской архитектуре мировое сообщество восприняло прохладно, поскольку в начале 70-х годов не было программного обеспечения, способного реализовать его потенциал. Их за глаза называли процессорами «для бедных», поскольку они не могли работать на больших частотах.
Но все изменилось после появления персонального компьютера Apple I, в основе которого был восьмиразрядный процессор MOS 6502 на гарвардской архитектуре с операционной системой Apple DOS.
Простота ОС компенсировалась достаточно сложным процессором, названным впоследствии CISC (Complex Instruction Set Computer – вычисления с комплексным набором команд), с отдельной 16-разрядной адресной шиной ивозможностью произвольного манипулирования регистрами. Монолитная однопользовательская ОС позволила выжать из него небывалую по тем временам производительность при решении отдельных задачах.
Через несколько лет корпорация IBM бросилась догонять Apple, практически повторив ее идею. В основе созданного ею персонального компьютера (более известного нам как IBM-PC) были гарвардский процессор фирмы Intel и ОС Microsoft DOS. Впоследствии такие комплексы получили общеизвестную аббревиатуру – Wintel.
Естественно, что за скорость CISC-процессора приходилось платить удвоенным/утроенным количеством контактов, что не только перегревало процессор, но и накладывало ограничения на его размеры. В среднем на каждые 20% прироста производительности потребляемая мощность гарвардского процессора увеличивалась до 50%.
Выходом из этой ситуации стало появление многоядерных процессоров, в которых частота работы каждого вычислительного ядра была понижена, но суммарная производительность превышала даже показатели разогнанного одноядерного. Для наглядности на рис. 2 показан пример того, как меняются производительность и энергопотребление центрального процессора при изменении частот и количества ядер.
Рисунок 2. Преимущество многоядерных систем
Массовый переход на многоядерные вычислительные системы ознаменовался тем, что эра классического программирования закончилась. Многопоточные вычисления потребовали изменения алгоритмов программирования, иклассические, построенные на блок-схемах, алгоритмы практически перестали работать. Образовался серьезный разрыв между возможностями вычислительной техники и возможностями вычислительной математики. Закон Амдала только усугубил проблему, поскольку согласно ему создать полностью распараллеленный вычислительный алгоритм невозможно. Алгоритмов без определенной доли последовательных операций просто не существует.
Практически это означает, что для каждой задачи есть предельное количество вычислительных ядер, превышение которого не приведет к увеличению скорости вычисления. Следствием закона Амдала является утверждение, что при любом типе вычислений одно из вычислительных ядер процессора всегда загружено больше остальных. Опираясь на эти выводы, можно было предположить, что будут созданы многоядерные системы, содержащие различные типы вычислительных ядер.
Архитектура ARM – Advanced RISC Machine (в оригинале – Acorn RISC Machine), усовершенствованная RISC-машина – была построена на базе фон-неймановской архитектуры, но включала особенности процессоров CISC, что логично, поскольку в его основе лежал MOS 6502. В частности, машина ARM предполагала чрезвычайно простую реализацию вычислительного ядра, управляемого через контролируемый ввод. Именно технология, разработанная консорциумом ARM, позволила собрать на одном кристалле несколько различных вычислительных ядер, каждое из которых могло выполнять определенные функции.
Такая сборка получила название Soc (System on chip), поскольку к общей шине данных подключались не только вычислительные ядра процессора, но и видеоадаптер и контроллер памяти.
Всевозможные сочетания вычислительных ядер в Soc позволяли получать широкий спектр устройств, каждое из которых могло обладать своими уникальными особенностями. На базе Soc легко формировались телефоны, планшеты, телевизоры, плееры, видеокамеры и т.д. Но, чтобы реализовать эти возможности, требовалась специальная программная среда, легко модифицируемая под ту или иную сборку Soc.
Первой такой средой стала операционная система компании Apple – iPhone OS (впоследствии – Apple iOS), построенная на базе ядра Darwin (урезанного ядра BSD). Небольшое монолитное ядро, настроенное под конкретную Soc, как и вслучае с Apple DOS, позволяло получить максимальную отдачу от оборудования, а простота реализации вычислительных ядер обеспечивала существенную экономию энергопотребления.
А потом все заново повторилось, как 30 лет назад. Корпорация Google (современная IBM) решила обыграть идею Apple. Надо сказать, что в отличие от Apple, которая сама формировала оборудование, Google сразу замахнулась на широкий спектр возможных комбинаций Soc. И здесь тоже появилась своя «Microsoft» – Android inc, которая предложила операционную систему, архитектурно повторяющую Apple iOS, но позволяющую работать на нескольких типах Soc (см. рис. 3).
Рисунок 3. Операционные системы Android и iOS
Корневым отличием ОС Android OS от Apple iOS стало ядро, построенное на базе урезанного модульного ядра Linux. Подгружаемые по требованию модули позволяют переносить Android OS на широкий спектр оборудования, не пересобирая его каждый раз под новое устройство. Безусловно, при такой архитектуре Android имеет не только положительные, но и отрицательные характеристики.
Операционная система Android OS медленнее Apple iOS при вводе-выводе, потребность в оперативной памяти у нее выше, а также она менее эффективно работает с Soc. Но, сделав ставку на закон Мура, как в свое время это поступила корпорация IBM, Google выиграла, поскольку технические средства фирм – лицензиатов ARM развиваются быстрее аналогичных устройств Apple, а спектр возможных комбинаций Soc существенно шире возможностей Apple.
Сегодня мало у кого вызывает сомнение, что связка ARM и Android пришла надолго, сформировав новое направление, условно названное мной Armand (ARM + Android). Именно это сочетание мы скорее всего встретим сначала в бытовых приборах, а потом в медицине.
Безусловно, эра Wintel не закончилась и не закончится в ближайшее время, поскольку это основной мировой вычислительный инструмент. Стоимость вычислений на базе Wintel самая низкая в мире. И это несмотря на большую стоимость программных продуктов, разрабатываемых для этой платформы.
Но и Armand ждет не менее блестящее будущее. Эта платформа может стать основным инструментом в медицине. Последние сборки Soc, построенные на совмещении мощных и энергоэкономичных вычислительных ядер, позволяют предполагать появление устройств, существенно облегчающих жизнь больных людей.
Такие устройства будут экономичны в режиме ожидания и высокоэффективны в режиме активной работы. Управление экзоскелетами пожилых людей, браслеты с лекарством для диабетиков, речевые импланты – вот те немногие направления, в которых участие Armand очевидно.
Читайте также: