И их разновидности

 

Большое значение имеет концепция взаимосвязи отдельных частей компьютера, структура или (как это принято называть в информатике) архитектура вычислительной системы. Архитектура компьютера значительно влияет на производительность и эффективность использования вычислительных машин.

Термин «архитектура компьютера» был введен в начале 60-х годов прошлого века одной из групп специалистов в области компьютеров фирмы IBM. Он предназначался для описания общей программной модели семейства IBM 360 на уровне языка Ассемблер, семейств компьютеров одинаковой архитектуры с точки зрения данного языка. Архитектуру компьютера или вычислительной системы следует понимать как систему основных функциональных средств, доступных пользователю, и принципов организации процесса обработки информации. В некоторых случаях, говоря о структуре (архитектуре) персональных компьютеров, употребляется термин «анатомия компьютера».

В современной литературе термин «архитектура» употребляется в различных контекстах, например, для теоретической классифика-

ции способа обработки данных (архитектура фон Неймана, параллельная архитектура, нейрокомпьютинг, нейтронный компьютинг, квантовые компьютеры, биокомпьютеры на основе ДНК-логики, молекулярные вычисления на основе молекулрной логики и т.п.), для определения принципов организации и функционирования вычислительных систем (архитектура IBM EISA, классическая архитектура, хабовая архитектура, архитектура DEC AXP и т.п.).

Прежде чем перейти к описанию различных структур построения компьютеров и динамики развития архитектуры, необходимо отметить, что в любом компьютере имеется еще один аппаратурный блок, не указанный на схеме рис. 1.2 и имеющий непосредственное отноше­ние к структуре компьютера.

Непосредственное присоединение различных функциональных элементов (УВВ и ОП) к центральному процессору осуществляется через определенные точки, именуемые точками сопряжения (стык). Поскольку все три основных блока компьютера (ОП, ЦП и УВВ) имеют различные характеристики своих выходных параметров, то для обеспечения их совместимости необходимо еще одно устройство, решающее эти задачи. Совокупность средств, обеспечивающих логические, электрические и конструктивные условия совместимости ЦП и функциональных устройств в точках сопряжения и их взаимодействия, получила название средств сопряжения, или интерфейса.

В качестве логических условий должны быть заданы виды сигналов (адресные, информационные и управляющие) и их количество, система кодирования и форма передачи данных, функции адресных и управляющих сигналов и т.п.

В качестве электрических условий обеспечения совместимости задаются значение напряжений (логических) двоичных сигналов, временные параметры этих сигналов, нагрузочная способность по входу и выходу сопрягаемых цепей и т.д.

К конструктивным условиям обеспечения совместимости относятся конструктивные соединения (тип разъема), распределение контактов в разъемном соединении, допустимые типы кабеля и др.

В отечественной практике для описания совокупности схемотехнических средств, обеспечивающих непосредственное взаимодействие составных элементов систем обработки данных (компьютерных сетей, систем передачи данных), подсистем периферийного оборудования, используются понятия «интерфейс», «стык» и «протокол».

Под стандартным интерфейсом понимается совокупность унифицированных, аппаратурных, программных и конструктивных средств, необходимых для реализации взаимодействия различных функциональных элементов в автоматизированных системах сбора и обработки информации при условиях, предписанных стандартом и направленных на обеспечение информационной, электрической и конструктивной совместимости.

Стык – место соединения устройств передачи сигналов данных, входящих в систему передачи данных. Это понятие используется вместо понятия интерфейса для описания функций и средств сопряжения элементов средств связи и систем передачи данных (СПД).

Под протоколом понимается строго заданная процедура или совокупность правил, регламентирующая способ выполнения определенного класса функций. Взаимосвязь понятий интерфейса и протокола не всегда однозначна, так как практически любой интерфейс содержит в большей или меньшей степени элементы протокола, определяемые процедурами и функциональными характеристиками интерфейса.

Основное назначение интерфейсов, стыков и протоколов – унификация внутримашинных связей.

Различают несколько видов интерфейсов:

системный (внутрисистемный), представляющий собой совокупность унифицированной магистрали для передачи информации электронных схем, служащих для согласования, преобразования и управления сигналами на магистрали, а также унифицированных алгоритмов (протоколов) обмена информацией между отдельными устройствами компьютера;

периферийного оборудования, включающий универсальные (к ним можно отнести различные типы параллельных и последовательных) и специализированные интерфейсы;

программируемых приборов, служащий для подключения нестандартной аппаратуры, измерительных и управляющих систем;

магистрально-модульных, микропроцессорных систем;

локальных вычислительных систем и т.п.

Понятия архитектуры, а также интерфейса связаны со следующими элементами, входящими в состав любого компьютера:

линии интерфейса – электрические цепи, являющиеся составными физическими связями интерфейса;

шина – совокупность линий, сгруппированных по функциональному назначению (шина адреса, шина команд, шина данных, шина состояния и т.п.);

магистраль – совокупность всех шин интерфейса.

Конструктивно (как правило) магистраль – печатная плата, обеспечивающая соединение контактов разъемов, с помощью которых к магистрали подключаются различные устройства ЭВМ (т.е. их интерфейсы).

С точки зрения шинной организации можно выделить два типа архитектур компьютера: машины с одношинной организацией (UNIBUS), имеющие общую (одну) магистраль для подключения всех устройств компьютера, и машины с многошинной организацией (MULTIBUS) и несколькими магистралями, например между ЦП и ОП одна магистраль, а между ПУ и ЦП – другая. Родоначальником промышленного внедрения общей шины является фирма DEC (Digital Equipment Corporation) и применяется она, как правило, в мини-, микрокомпьютерах и персональных компьютерах, т.е. недорогих машинах, имеющих невысокую производительность. Такая архитектура очень проста и удобна с точки зрения программирования, так как все устройства компьютера напрямую связаны между собой (каждый связан с каждым).

Многошинная организация применяется в больших компьютерах, а также в указанных выше мини- и микрокомпьютерах повышенной производительности. Разделение магистралей (например, по скоростям – низкоскоростные, высокоскоростные и т.п.), безусловно, усложняет конструкцию и удорожает ее, однако позволяет повысить производительность и эффективность использования компьютера и отдельных его частей.

Главным стимулом развития архитектуры компьютеров является повышение производительности. Поскольку классическая схема по мере повышения производительности ЦП не приводила к адекватному повышению производительности компьютера в целом, потребовалось дальнейшее ее совершенствование. На начальном этапе это было связано с некоторыми новациями, о которых частично упоминалось выше.

Таких новаций две – распараллеливание и специализация. Хотя мультипрограммная обработка не может считаться, в полном смысле, параллельной (так как в каждый момент выполняется только одна задача), тем не менее, ее относят к так называемому логическому распараллеливанию.

В рамках дальнейшего развития этой же архитектуры как большие компьютеры, так и самые первые микропроцессоры для персональных компьютеров (Intel 8086) использовали поточную (или многофункциональную) обработку, когда при выполнении очередной команды часть функциональных элементов ЦП одновременно проводит подготовку к выполнению следующей (загрузку из ОП и ее дешифровку). Дальнейшее расслоение ЦП связано с появлением процессоров ввода-вывода, арифметических процессоров (сопроцессоров), графических, криптографических процессоров и т.п. Один из способов повышения производительности вычислительной техники – специализация (как отдельных элементов компьютеров, так и создание специализиро­ванных вычислительных систем).

Специализация процессоров началась с 60-х годов прошлого века, когда центральный процессор больших компьютеров был освобожден от выполнения рутинной операции по вводу-выводу информации. Эта функция была передана процессору ввода-вывода, осуществляющему связь с периферийными устройствами.

Возможны три способа специализации в вычислительных машинах:

расширение системы команд универсальных компьютеров общего назначения, включение команд вычисления часто встречаемых функций с возможной аппаратной реализацией;

использование периферийных процессоров, подключаемых к универсальным компьютерам и реализующих некоторые вычислительные операции независимо от ЦП, например матричные процессоры, графические и т.п.;

создание специализированных компьютеров или процессоров, структура кото­рых ориентирована на решение узкого класса задач большой сложности.

Следующие архитектурные новации связаны с уже упоминавшимся ранее расслоением ОП. Дальнейшее увеличение производительности предполагает многопроцессорную обработку.

Поскольку быстродействие однопроцессорных компьютеров ограничивается физическими возможностями (скоростью распространения электрических сигналов), дальнейшее совершенствование компьютеров связано и с развитием их параллелизма и переходом к так называемой параллельной архитектуре, включением в состав компьютеров большого количества основных (центральных) процессоров.

В соответствии с так называемой классификацией Флина (M. Flyne) возможны четыре типа архитектуры в зависимости от их распараллеливания:

1) без использования параллельных вычислений, когда один поток команд обрабатывает поступающий на вход один поток данных (ОКОД или SISD, single instruction, single data stream);

2) несколько процессоров по одному алгоритму (одной команде) обрабатывают одновременно несколько потоков данных (ОКМД или SIMD, single instruction, multiple data streams, параллельная обработка);

3) когда один поток данных обрабатывается большим количеством процессоров различного функционального назначения (МКОД или MISD, multiple instructions, single data stream, конвейерная архитектура);

4) самая высокая степень распараллеливания, когда множественный поток данных обрабатывает множественный поток команд (МКMД или МIМD, multiple instructions, single data stream, матричная архитектура).

 

Рис. 1.10. Классификация компьютерных систем (классификация Флина)

Если выделить из процессора функциональные блоки, ответственные за доставку и подготовку команд, назвав эту часть процессором команд, а часть процессора, непосредственно осуществляющую обработку, назвать арифметическим процессором, то четыре разновидности распараллеливания можно представить в виде схем (рис. 1.10).

Развитие различных уровней запоминающих устройств, таких, как рассмотренные выше кэш-память, канал массовой памяти, электронные диски и т.п., также оказало заметное влияние на эволюцию архитектуры компьютеров.

Теперь рассмотрим, как же эти четыре принципа используются в конкретных типах СОД.