Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример реализации risc-архитекуры -регистровые окна




Т

J

I

A

B3

II

Si

I В

W

А

о

g S

в*


Аппаратные средства

 


 

3 в

я и

9 о.


^

Программное обеспечение

 

     
3 § о H о в a) и о Si ft Si О Системы программирования а Ri о S &s в p о SS ш ° В О С а
         

Рис. 1.1. Функциональные возможности В С

Вычислительные и логические возможности ВС. Они обусловливаются сис­темой команд (СЮ, характеризующей гибкость программирования, форматами данных и скоростью выполнения операций, определяющих класс задач, наиболее эффективно решаемых на ВС. Система команд ВС, базирующихся на архитектуре фон Неймана, сегодня мало чем отличается от СК ЭВМ 50-х годов. Большинство достижений в этой области остались незамеченными проектировщиками и соответ­ственно не нашли адекватного воплощения в архитектуре современных компьюте­ров.

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

Рассмотрим структуру системы команд в зависимости от класса решаемых задач (рис. 1.2 - знать рисунок и уметь его описать словами).

К командам управления мы относим команды ввода-вывода данных и коман­ды управления состоянием процессора, памяти и каналов.

Как видно из рис. 1.2, для решения задач любого класса необходимы ко­манды типов 2 и 3. Следовательно, эти типы команд должны присутствовать в лю­бом компьютере.


Большое влияние на точность выполнения операций оказывают форматы данных. Современные компьютеры имеют развитую систему форматов. Например, компьютеры фирм ЕС ЭВМ и ЮМ имеют форматы в 2, 4, 8 и 16 байт.

Алгоритмы выполнения операций достаточно полно отражают производи­тельность только однопроцессорных С.



 


цен-

Рис. 1.2. Классификация СК по назначению Аппаратные средства. Простейшая С включает модули пяти типов:

тральный процессор, основная память, каналы, контроллеры и внешние устройства.

Процессор (УУ + АЛУ + память) управляет работой системы и обеспечивает вычисления непосредственно по программе. ыполнение машинных команд, ко­манд ввода-вывода (I/O), обращение к памяти, управление состоянием устройств инициализируются или выполняются с помощью процессора.

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

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

Контроллеры ввода-вывода служат для подсоединения внешних устройств (нУ) к каналам и обеспечивают обмен управляющей информацией с внешними устройствами, присвоение приоритетов и выдачу информации о состоянии нУ для канала, т. е. это устройства управления нУ.

нУ служат для ввода-вывода информации с различных носителей.

Память может быть организована как многоуровневая с различным объемом и временем доступа к ней - сверхоперативная (СОЗУ), оперативная (ОП), внешняя



(нП) (рис. 1.3), так и одноуровневая, виртуальная. Почти всегда виртуальная па­мять есть переупорядоченное подмножество реальной памяти.

Уровни иерархии памяти взаимосвязаны между собой: все данные одного уровня могут быть найдены на более низком уровне.

Успешное или неуспешное обращение к уровню памяти называют соответст­венно попаданием (hit) или промахом (miss), а соответствующее время - временем обращения (hit time или miss penalty).

t СОЗУ

О V

Рис. 1.3. Типы памяти (V - объем, S - быстродействие)

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

Для повышения пропускной способности каналов используют некоторые до­полнительные меры, например буферизацию нУ путем введения памяти в состав самого устройства или контроллера.

Аппаратные средства защиты памяти служат для управления доступом к раз­личным областям памяти в соответствии с имеющимися у пользователя полномо­чиями.

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

Операционная система (ОС) управляет ресурсами, разрешает конфликтные ситуации, оптимизирует функционирование системы в целом.

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

Роль прикладного программного обеспечения (ПО) необычайно велика для решения тематических задач.


1.2. АРХИТЕКТУРА КАК ИНТЕРФЕЙС МЕЖДУ УРОВНЯМИ ФИЗИЧЕСКОЙ СИСТЕМЫ

Применительно к С термин " архитектура " может быть определен как рас-


пределение
зовням и установле-

щкций, выполняемых системой, по различным

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

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


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

Рис. 1.4. Многоуровневая организация архитектуры вычислительной системы

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


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

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

Остальные уровни отражают интерфейсы и распределяют функции между отдельными частями физической системы.

Таким образом, можно сказать, что архитектура компьютера - это абстракт­ное представление физической системы с точки зрения программиста - Процесс разработки архитектуры ЭВМ включает все этапы разработки типо-вых проектов:

* анализ требований, предъявляемых к системе;

* составление спецификаций;

* изучение известных решений;

* разработку функциональной схемы;

* разработку структурной схемы;

* отладку проекта;

* оценку проекта.

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

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

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


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

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

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

Однако скорость выполнения операций - важный параметр. Быстродействие, естественно, зависит как от технологической элементной базы, влияющей на ско­рость обработки данных, так и от архитектуры машины, которая определяет объем выполняемых работ. Часто архитектуры сравниваются по критерию эффективности обработки информации. Для этого, как правило, анализируют следующие парамет­ры:

S - размер программы, определяемый длиной команд, размером косвенных адресов, объемом рабочих областей для временного размещения данных;

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

Nr - количество битов, передаваемых между внутренними регистрами про­цессора за время выполнения программы. Здесь учитываются те пересылки, кото­рые не охватывает параметр Np. Значение NR в значительной части определяется набором функций, воплощенных в АЛУ и в схемной реализации процессора.

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

1.3. СЕМАНТИЧЕСКИЙ РАЗРЫВ МЕЖДУ АРХИТЕКТУРНЫМИ РЕШЕНИЯМИ ЭВМ И ЕГО ПРОГРАММНЫМ ОКРУЖЕНИЕМ

се характерные особенности архитектуры большинства сегодняшних ком­пьютеров появились уже к 1960 г. Среди них индексные регистры, регистры обще-


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

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

При анализе особенностей архитектурных решений возникают следующие вопросы:

• оптимальны ли на все времена архитектурные решения, предложенные в 50-60-х годах?

• достаточные ли изменения претерпела технологическая база (аппаратная и теоретико-концептуальная), чтобы считать оправданными изменения архитектуры компьютеров?

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

Этот Феномен известен как семантический разрыв. Как правило, современ­ные компьютеры имеют нежелательно большой семантический разрыв между объ­ектами и операциями, описываемыми в ЯП, и объектами манипулирования и соот-ветствующими операциями, реализуемыми архитектурой С. Обобщая, можно го­ворить о семантическом разрыве между архитектурой машины и средой использо­вания.

се это порождает ряд проблем: высокая стоимость разработки ПО, его не­надежность, большой объем программ, сложность компиляторов и ОС, наличие от­ступлений от правил построения ЯП.

Для уяснения семантического разрыва можно проанализировать взаимосвязи между каким-нибудь ЯП (например, ПАСКАЛЬ, C++, DELPHI, PL/1) и архитекту­рой ЭВМ, скажем с архитектурными решениями наиболее распространенных у нас компьютеров фирмы IM, и оценить "расстояние" между принципами, положен­ными в основу ЯП, и соответствующими принципами, положенными в основу ар­хитектуры ЭВМ.

Попробуем сравнить несколько основополагающих принципов языка PL/1, широко используемых в С, с идеологией mainframe и определить адекватность их принципам, заложенным в IM 370.

Массивы. Это наиболее часто используемый тип организации данных. PL/1 позволяет использовать многомерные массивы, обращение к отдельным элементам массива посредством индексов, операции над целыми массивами, обращение к от­дельным подмассивам внутри массива, защиту от выхода за пределы соответст­вующего массива. языке АДА, например, имеется возможность соединения мас­сивов.


Исследование архитектуры IM 370 показывает, что в ней нет средств, адек­ватных описываемым принципам работы с массивами, за исключением разве что примитивного подобия одного из принципов языка - использование индексных ре­гистров. Следовательно, реализация принципа организации данных в виде массива возлагается на компилятор, в распоряжении которого имеется лишь набор команд ЮМ 370, весьма далекий по своим возможностям от задач, возникающих при рабо­те с массивами.

Структуры. Это второй из часто используемых типов организации данных в виде наборов разнородных элементов данных (в некоторых ЯП называемых запи­сями). И здесь в системе ЮМ 370 отсутствуют средства, адекватные структурам и операциям над ними.

Строки. PL/1 используются строковые данные (или просто строка). Допус­тимые операции: слияние, выделение заданной части (подстроки), поиск строки по заданной подстроке, определение длины текущей строки, проверка присутствия одной строки в другой строке. Подобные возможности в системе команд ЮМ 370 не предусмотрены. Более того, задача манипулирования строками битов (возмож­ность, предоставляемая PL/1) осложняется еще и тем, что в ЮМ 370 допускается адресация к группам из 8 бит, т. е. к байтам. И опять-таки все это надо реализовы-вать через компилятор, что существенно усложняет его работу.

Процедуры. При вызове процедуры требуется сохранить состояние текущей процедуры, динамически назначить память для локальных переменных вызванной процедуры, передать параметры и инициализировать выполнение вызванной про­цедуры. архитектуре ЮМ 370 есть только команда BALR (переход с возвратом). Но вклад этой команды в реализацию операций вызова процедуры настолько мал, что ее отсутствие осталось бы незамеченным. Компилятор мог бы заменить ее дву­мя командами: LA (загрузка адреса) и BR (переход безусловный).

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

ажно также сравнить имеющийся семантический разрыв с частотой исполь­зования соответствующих операций, предоставляемых ЯП. Из литературы извест­но, что 45 % всех арифметических операторов имеют дело с массивом или элемен­том массива, 16 % всех выполняемых операторов языка высокого уровня - это об­ращение к подпрограммам-процедурам, подпрограммам-функциям и операторы возврата. Компилятор с ФОРТРАНА, например, тратит до 15 % своего времени на установление связей между подпрограммами. Другие исследования говорят, что 19 % всех операторов программы составляют операторы CALL, RETURN, PROCEDURE.

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


Значительный разрыв существует между архитектурой ЭВМ и принципами

построения программного обеспечения. Известно, например, что около 50 % всех ресурсов тратится на тестирование и отладку программ, однако архитектура ЭВМ дает ничтожные средства для этого, хотя для надежности аппаратных средств соз­даются весьма существенные разработки.

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

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

Семантический разрыв требует для своего разрешения через компилятор значительных затрат машинного времени и памяти.

Так, компилятор языка PL/1 фирмы IM генерирует 17 машинных команд для реализации оператора

C(I,J) = A(I,J) + B(I,J),

где А, и С - массивы двоичных элементов одинакового размера в форме с фикси­рованной точкой.

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

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


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

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

Семантический разрыв порождает и некорректное использование языка про­граммирования. Так, если в PL/1 мы объявляем переменную В как DCL В DECIMAL FIXED (2), т. е. двухразрядной десятичной с фиксированной точкой, а при использовании оператора присваивания напишем = 200, то естественно ждать сообщение об ошибке. Но его нет. И при выводе на печать значения В мы получим 200. се дело в том, что система IBM 370 может представлять десятичные числа, имеющие только нечетное количество цифр. Чтобы при полном устранении семантического разрыва не прийти к генерированию неэффективных объектных кодов, компилятор преобразует двухразрядные десятичные переменные в трехраз­рядные операнды машины. Если бы мы изменили соответствующие правила языка PL/1, то язык стал бы машинно-зависимым, с ориентацией на IBM 370.

Тот же вариант некорректности может возникнуть при работе с десятичными и двоичными числами, использование которых допускает язык PL/1. Программисты иногда применяют двоичные числа вместо десятичных, ибо первые занимают меньше памяти, не требуют преобразования данных, а операции над ними выпол­няются быстрее, чем над десятичными. Следовательно, архитектура используемого компьютера приводит к некорректному применению языка программирования.

Подобные некорректности можно найти и в других ЯП. Например в языке ФОРТРАН условный оператор IF имеет три точки перехода: = 0, > 0, < 0. Но это не широкие возможности языка, а зависимость его от архитектуры IBM 704, где встроенная операция сравнения в зависимости от результата своего выполнения передает управление одной из трех последующих команд.

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

Как следствие семантического разрыва- низкая производительность при проектировании программ. Создатель прикладного ПО тратит больше времени на управление памятью и пересылку данных, чем на собственную их обработку. По­следние исследования показывают, что каждый 20-й оператор в PL/1 -программах -это ввод и вывод информации.


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

\ 1.4. АНАЛИЗ АРХИТЕКТУРНЫХ ПРИНЦИПОВ ФОН НЕЙМАНА

1 /

------ ----- у Архитектурные принципы фон Нейманом формулировались примени-тельно

к созданию автоматического устройства для решения дифферен-циальных уравне­ний.

Основные характеристики архитектуры фон Неймановского типа следую­щие:

последовательно адресуемая единственная память линейного типа для хра­нения программ и данных;

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

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

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

память состоит из набора дискретных именуемых переменных. овсе не
требуется, например, чтобы память для значений переменных одной программы
располагалась рядом с памятью для значений переменных другой программы. Та­
ким образом, принцип единственной последовательной памяти имеет мало общего
с организацией памяти в ЯВУ;

ЯВУ наряду с линейными данными оперируют и с многомерными: масси­вами, структурами, списками;

в ЯВУ четко разграничены операции и данные;

данные определяют и операции над ними.


Например, смысл операции А + С определяется описанием А и С. Семантика операции "+" совершенно различна, например, для целых чисел и символьных пе­ременных.

Архитектура фон Неймана плохо ориентирована на выполнение программ на ЯВУ. Действительно,

• объем кодов, генерируемых компилятором, из-за несоответствия требуемой ЯВУ и предлагаемой архитектурой организации памяти значительно превосходит необходимый объем для решения запрограммированной задачи;

• примитивность выполняемых операций в объектном коде требует сложной работы компилятора.

К сожалению, ЯВУ имитируют в своей структуре архитектуру фон Неймановского типа: переменные - пассивное ЗУ; оператор присваивания -арифметическое устройство (АУ); последовательное выполнение операторов управления (IF, GOTO) - устройство управления (УУ).

Много сложностей из-за работы компьютера в двоичной системе. Как отра­зится на экране дисплея вводимое десятичное вещественное число? Не будет ли по­терь в младшем разряде?

Язык АДА, особенно беспокоящийся о точности вычислений, также не ушел от аппроксимации десятичных вещественных чисел двоичными.

Общая взаимосвязь между ЯВУ и ЭВМ в зависимости от уровня языка ма­шины может быть представлена следующей схемой (рис. 1.5).

ведение программно-адресуемых регистров (так называемых регистров об­щего назначения) существенно увеличивает количество используемых команд LOAD (загрузка в регистр) и STORE (запись в память), т. е. команд перемещения данных из регистров в память и обратно. Исследования на компьютере PDP для различных ЯВУ показывают, что 42 % всех выполняемых команд затрачивается на перемещение данных между памятью и регистрами. Имеются исследования, утвер­ждающие, что использование кэш-памяти позволяет достичь увеличения быстро­действия за счет использования регистров общего назначения.

настоящее время имеются конкретные проекты архитектур машин, ориен­тированные на ЯВУ: ПАСКАЛЬ, PL, ЛИСП, КОБОЛ.

Однако больший интерес представляют архитектуры, ориентированные не на конкретный язык, а на общие семантические возможности некоторой группы язы­ков. Так, архитектура машины SWARD ориентирована на языки PL/1, АДА, ФОРТРАН, КОБОЛ и некоторые другие, создавая тем самым благоприятную среду для программиста.

Компьютеры фирмы Burroughs за счет вызова различных микропрограмм динамически настраиваются на язык написания выполняемой программы.



Программа на ЯВУ

f ЭВМ]

 


Рис. 1.5. Соотношение программ на ЯВУ и машинном языке:

1 - это традиционный подход. После компилирования программа переводится на машинный язык, а затем интерпретируется машиной; 2 - компиляция идет на машинный язык более высокого уровня, сокращая тем самым семантический разрыв между ЯВУ и машиной; 3 - здесь ЯВУ можно рассматривать как язык ассемблера, т. е. имеется взаимно однозначное соответствие между типа­ми операторов и знаков операций ЯВУ с командами машинного языка. Здесь идет ассемблирова­ние, а не компилирование, во время которого удаляются комментарии и пробелы в исходной про­грамме, преобразуются разделители, ключевые слова и знаки операций в машинные коды, имена -в адреса полей памяти. Таким образом, многих привычных функций компилятора здесь нет. Ос­тальная привязка программы к ЭВМ происходит перед выполнением программы; 4 - здесь машинный язык является ЯВУ и идет процесс интерпретации программы на компьютере

Отметим, что разработчику архитектуры ЭВМ не следует строго ориентиро­ваться на языки программирования, компиляторы, операционные сис­темы и другие программы, чтобы не потерять главное в архитектуре - ориентацию на современные требования задач и окружение пользователя.

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

1.5. НЕКОТОРЫЕ СПОСОБЫ СОВЕРШЕНСТВОВАНИЯ АРХИТЕКТУРЫ

Архитектура компьютеров чаще всего совершенствуется за счет введения дополнительных средств. Рассмотрим некоторые из них.

1.5.1. Хранение информации в виде самоопределяемых данных

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


тов - тегом. Этот принцип организации памяти получил название теговой памяти.

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

Что дает тег? Известно, что в ЮМ 370 имеется 15 различных команд ADD, формат одной из них требует двух 4-битовых полей для указания длины обоих опе­рандов. Использование тегов позволило бы ограничиться одной командой, а тип подлежащих сложению операндов и их длину компьютер определял бы путем ана­лиза содержимого тегов соответствующих операндов.

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


Целое число

Число с фик­сированной точкой


 

  Значение числа у  
   
  Размер числа Размер дробной части Знак числа Собственно величина
         

 


 
 


Поле

символов

Строка символов


Значение

Длина


Значение


Рис. 1.6. Типы ячеек при теговой организации

Бывают два типа тегов: статические, содержимое которых определяется пе-

е

вычислений не изменяется, и динамическое

выполнением программы и по xoj

- с наполнением его содержания во время вычислений и периодическим обновле­нием.

от пример типов структур элементов теговой памяти, ориентированный на языки программирования (рис. 1.6). Здесь стрелка "-1" разделяет тег и данные.

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

Преимущество:

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



честве адреса, или значение одного из операндов неизвестно и т. д. То есть идет защита типа данных.

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

б.автоматическое преобразование данных.

в.Теги позволяют повысить скорость обработки команд. Это происходит, во-
первых, из-за того, что обычно для преобразования данных надо генерировать ком­
пилятором отдельные наборы команд, а во-вторых, отпадает необходимость в из­
влечении из памяти и декодировании команд преобразования данных. Теги позво­
ляют упростить алгоритмы некоторых операций. Так, для сравнения двух величин
необходимо произвести их выравнивание (усечение до меньшей или дополнение до
длинной), на что компилятор PL/1, например, генерирует код из 49 команд, а при
теговой архитектуре потребуется одна машинная команда.

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

д.Компилятор становится более простым и быстрым. Это следует из преды­
дущих рассуждений. Здесь не надо генерировать различный код в зависимости от
типа данных, ибо набор команд инвариантен к типу обрабатываемых данных.

е.Теги позволяют сделать отладку более совершенной. частности, дамп
памяти становится более информативным.

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

А что будет с объемом памяти для хранения программ и данных? Оказывает­ся, хотя все данные требуют дополнительные поля, но за счет многократного и из многих команд обращения за данными, благодаря устранению избыточности ин­формации в кодах операций команд в машинах с теговой организацией памяти по­требуется меньший объем для хранения программ и данных, чем в ЭВМ с традици­онной архитектурой. Проведенные эксперименты с программами на языке КОБОЛ показали, что если число обращений к операнду больше 3,5, то теговая организация уже выгодна и по объему памяти. Среднее же число обращений к одному операнду в некоторых наборах экономических программ имеет коэффициент обраще­ния > 10,4.

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

ж.Экономия памяти происходит из-за ненадобности повторного генерирова­
ния кодов для функций контроля и преобразования данных.
Экономии можно дос-


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

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

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

Пример использования дескрипторов (рис. 1.7).

 

  P I R W Длина Адрес

Рис. 1.7. Дескрипторы

Здесь первые три бита содержат тег. Если значение его 101, то данное слово дескриптор. Бит Р указывает, находятся данные в основной памяти или во вспомо­гательной; I указывает, одиночный ли элемент описывает данный дескриптор или весь массив; R идентифицирует непрерывную или разрывную область памяти; W означает, что разрешено только чтение данных.

1.5.2. Области санкциониованного доступа

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

Для защиты памяти выделяются домены - области санкционированного дос­тупа как локальное адресное пространство, определяющее адреса, которые могут Формироваться или использоваться некоторым набором команд. Имеется в виду, что область памяти защищается и от случайного обращения, и от преднамеренного ввиду секретности хранимой информации.


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

 

  домен-
  данные

Рис. 1.8. Временное расширение домена Использование доменов имеет ряд достоинств:

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

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

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

Для решения аппарата доменов, естественно, необходимы изменения и в ар­хитектуре ЭВМ, например включение механизма, не разрешающего при выборе одного значения из домена доступ к другим его данным. Необходим механизм за­щиты от несанкционированных точек входа в модуль.

1.5.3. Одноуровневая память

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

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


Кстати, организация файлов на накопителях на магнитных лентах (НМЛ) отличает­ся от организации их на НМД.

Одноуровневая память - это унификация всего разнообразия ЗУ. при которой программист имеет одинаковую адресацию вне зависимости от организации ЗУ. Теперь файлы являются элементами одноуровневой памяти, функции перемещения данных между различными уровнями ЗУ возлагаются на ЭВМ. Это в чем-то напо­минает виртуальную память. Однако одноуровневая память в отличие от виртуаль­ной распространяется на все запоминающее пространство системы, а не только на вопросы, связанные с недостатком оперативной памяти. Кроме того, обслуживаю­щий набор виртуальной памяти - это модель, исчезающая при завершении работы.

Достоинства одноуровневой памяти:

сравнительно низкая стоимость программного обеспечения;

независимость адресации от принципа организации памяти. Трудности, возникающие при этом:

создание встроенного в архитектуру ЭВМ механизма иерархии ЗУ;

восстановление памяти;

переносимость объектов на другие системы с традиционной орга-низацией
k архитектуры.

------ 1\

Конец лекции X

2? 1.6. КОНЦЕПЦИЯ ВИРТУАЛЬНОЙ памяти

^ Каждая часть среды компьютера имеет собственное обозначение: ячейка-

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

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

Рассмотрим один из элементов виртуальной среды- виртуальную память (П).

1.6.1. Задачи, ешаемые виртуальной памятью

иртуальный адрес - адрес, по которому ссылаются на ячейку виртуальной памяти. Область виртуальных адресов - это множество всех виртуальных адресов.

Использование виртуальной адресации обусловлино следующими обстоя-

тельствами.


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

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

Замечание. АПА работает не во время ассемблирования, а непосредственно во время выполнения обращения.

2. Защита памяти. Общеизвестно, что основная цель защиты памяти состоит в том, чтобы не дать возможности некорректному процессу испортить часть среды, относящуюся к другому процессу. Особенно это важно при защите сред управляю­щих процедур. иртуальная адресация здесь используется следующим образом: при каждой ссылке процессом на память проверяется, принадлежит ли она к облас­ти виртуальных адресов, отведенных для данного процесса.

3. Изменение структуры памяти. При проектировании больших программ структура памяти машины с малой ОП явно усложняет проектируемую программу. Применение виртуальной адресации позволяет преобразовать память на разных ступенях иерархии в "одноуровневую память" с одинаковым доступом ко всем эле­ментам и отобразить ее на реальную память.

Для удовлетворения пунктов 1-3 требуется аппарат "страничной" организа­ции памяти, для пунктов 1, 2 достаточно иметь регистры "настройки": регистры "базы" и "границы".

1.6.2. Страничная организация памяти

Отображение виртуальной памяти в реальную обычно осуществляется с по­мощью страничной организации памяти.

иртуальную память в системе со страничной организацией памяти делят на ряд "блоков" фиксированной длины, равной 2к, где к - целое натуральное число. Так как первая ячейка блока N + 1 примыкает к последней ячейке блока N, то про­граммисту факт разбиения П на блоки учитывать не требуется.

Оперативная память компьютера делится на "страницы", а вспомогательная -на "сегменты" такого же размера.

иртуальную память пользователя можно разделить на три типа:


* "активные" блоки, которые содержат программу и данные, используемые в

текущий момент;

* "пассивные" блоки, содержащие программу и данные, которые будут ис­пользоваться при выполнении программы;

* "мнимые" блоки, к которым не обращаются на протяжении выполнения программы.

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

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

Наиболее удачной из первых ЭВМ со страничной организацией памяти (СОП) является ATLAS (Ferranti). П в ней содержит около 2000 блоков по 512 слов. Оперативная память содержит от 32 до 96 страниц тоже по 512 слов. Если ATLAS выполняет процесс, который запрашивает блок из П, то некоторым бло­кам отводятся страницы из оперативной памяти, остальные блоки помещаются на накопитель на магнитном барабане. Фиксированных соотношений между номерами страниц, блоков и сегментов не существует. Динамическое соотношение между сегментами отражено в соответствующей таблице операционной системы.

Преобразование виртуального адреса в реальный происходит с помощью ре- гистров адресов страниц (РАС). Структура виртуального адре-


N строки
N блока
са

. Каждой странице ОП соответствует свой РАС, формат

которого дан на рис. 1.9. Аппарат виртуальной адресации отображает

 

N блока, занимающего Разряд Разряд Разряд
в данный момент использования записи активности
страницу      

Рис. 1.9. Структура регистра адреса страницы

виртуальный адрес в реальный следующим образом: виртуальный адрес сравнива­ется одновременно с содержимым всех РАС. Единственным сравнимым с ним РАС будет тот, который содержит тот же номер блока и "1" в разряде активности. РАС определяет номер страницы, с которой он связан. Для получения реального адреса памяти к номеру страницы данного РАС присоединяется номер строки из вирту­ального адреса (А). последовательной интерпретации процесс отображения А в реальный можно представить следующей схемой (рис. 1.10).


Разряд записи в РАС служит для экономии времени перезаписи "страницы" в

нП. Когда блок переносится из нП в оперативную память в разряд записи пишут "0". Если какая-то строка данной страницы ОП изменяется в процессе обращения к ней, то в пишут "1". И пока в разряде записи "0" эта страница является точной ко-пией соответствующего блока в нП.


       
   
 
 



Совпадает ли номер блока ВА с номером блока РАС

Нет

Равен ли "1" разряд активности в РАС

СТИ 1_

Формирование истинного адреса в реальной памяти: номер страницы, номер строки

Да


Рис. 1.10. Схема отображения ВА в реальный адрес

разряд использования "1" посылается при очередном обращении к данной странице. Через равные промежутки времени содержимое регистра использования сканируется и записывается в определенную ячейку памяти, тем самым создавая статистику использования данной страницы. Подобная статистика полезна при за-мещении страниц в ОП.

Для создания РАС требуется очень дорогая ассоциативная память, поэтому в mainframe-компьютерах число РАС меньше количества страниц ОП. них каждо-му блоку П отводится в ОП одна последовательная ячейка памяти, указывающая, где хранится данный блок (ОП, нП или нигде). Имеется небольшое количество ассоциативных регистров для РАС (обычно 8 или 16).

Полный процесс отображения П в реальную выполняется за три этапа.

1. Если происходит обращение к блоку П, который должен отображаться на страницу ОП, РАС для которой является одним из 8 (16) ассоциативных регистров, то процесс отображения выполняется согласно схеме, приведенной на рис. 1.11.

2. Если обращение происходит к блоку П, для которого условия п. 1 не вы-полняются, то номер виртуального блока служит указателем для обращения к таб­лице блоков (ТБ) в оперативной памяти. Если из ТБ видно, что искомый блок нахо­дится в оперативной памяти, то номер страницы также может быть выбран из ТБ.

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

3. Обработка прерывания.

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


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

БЛ.О      
БЛ.1      
БЛ.2      
БЛ.З      
БЛ.2      
БЛ.1      
БЛ.О      
БЛ.О      

N стр. ОП РАС А

0. 1.

РА(ОП)

2. 3. 4. 5. 6. 7.

-------------------------------------------------------- 4117

Рис. 1.11. Схема процесса отображения А в РА в ЭВМ ATLAS

Основные стратегии замещения страниц, наиболее часто используемые на практике: циклическое изгнание, случайная выборка, наименьшее число обращений с момента последнего прерывания. Результаты экспериментов показали, что ни в од­ном случае разница в числе обменов, требуемых конкретной задачей при использо­вании указанных стратегий, не превышала 10 %.

Перенеся концепцию виртуальной памяти на другие компоненты компьюте­ра, мы придем к концепции виртуального компьютера.

1.7. ОСОБЕННОСТИ ФУНКЦИОНИРОВАНИЯ УПРАВЛЯЮЩЕЙ ЭВМ

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

• наличию больших и высоконадежных ЗУ различного типа;

• возможности решения на них сложных вычислительных и логичес­ких задач;

• гибкости (за счет программы);

• надежности и быстродействию.

общем случае система автоматического управления с УВМ определяет со­бой замкнутый контур (рис. 1.12 - разобраться с рисунком).

Здесь

• хь хь..., хп - измеряемые параметры:


•• нерегулируемые (характеристики исходного продукта);

•• выходные параметры, характеристики качества продукции;

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

• Уъ У2» •••> Уп - регулируемые параметры, которые могут изменяться испол­нительными механизмами (ИМ) - регуляторами и оператором;

• fb f2,..., fn - нерегулируемые и неизмеряемые параметры (например, хими­ческий состав сырья).

На вход УВМ от датчика Д (термопар, расходомеров) идет измерительная информация о текущем значении параметров хь х2,..., хп. Согласно алгоритму управления, УВМ определяет величину управляющих воздействий Ub U2,..., Un, которые необходимо приложить к ИМ для изменения регулируемых параметров уь уь..., уп с тем, чтобы управляющий процесс протекал оптимально. Измерительные датчики вырабатывают непрерывный сигнал (напряжение, ток, угол поворота), а ЦВМ работает в дискретной форме, поэтому 2 раза идет преобразование из непре­рывной формы в дискретную (НУД) и наоборот (Д/Н).

Рис. 1.12. Принцип действия УВМ

| fJ | f2 ... | fn

Для уменьшения оборудования преобразователи Н/Д и Д/Н выполнены мно­гоканальными. Посредством коммутатора преобразователь поочередно подключа­ется к каждому датчику и осуществляется преобразование Н/Д. Поступившее


управляющее воздействие U сохраняется в цепи до выработки следующего управ­ляющего воздействия в УВМ.

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

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

После выработки управляющих воздействий \]{ и преобразования их в непре­рывную форму УВМ останавливается до прихода нового тактирующего импульса или выполняет какую-нибудь вспомогательную работу.

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

некоторых системах применяют комбинированный способ - синхрониза­цию "плюс" датчики аварийного состояния, переводящие УВМ на режим аварий­ной работы. замкнутом контуре (см. рис. 1.12) УВМ прямо воздействует на ИМ, непосредственно управляя производственным процессом. Это режим прямого циф­рового управления.

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

УВМ в разомкнутой цепи используется:

• в системах автоматического программного управления;

• в системах, где УВМ выполняет функции советчика.

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


режиме советчика УВМ обрабатывает измерительную информацию с объ-екта и рассчитывает управляющие воздействия для оптимизации процесса. Эта ин-формация служит рекомендацией оператору, управляющему процессом.


2. RISC- И CISC- АРХИТЕКТУРА

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

Для снятия указанных ограничений в Беркли (США, Калифорния) была раз­работана RISC(Restricted (reduced) instruction set сотрШ;ег)-архитектура (регистро-ориентированная архитектура). Компьютеры с такой архитектурой иногда называ­ют компьютерами с сокращенным набором команд. Суть ее состоит в выделении наиболее употребительных операций и создании архитектуры, приспособленной для их быстрой реализации. Это позволило в условиях ограниченных ресурсов раз­работать компьютеры с высокой пропускной способностью.

2.1. ОСНОВНЫЕ ПРИНЦИПЫ RISC- АРХИТЕКТУРЫ

компьютерной индустрии наблюдается настоящий бум систем с RISC-архитектурой. Рабочие станции и серверы, созданные на базе концепции RISC, за­воевали лидирующие позиции благодаря своим исключительным характеристикам и уникальным свойствам операционных систем типа UNIX, используемых на этих платформах.

самом начале 80-х годов почти одновременно завершились теоретические исследования в области RISC-архитектуры, проводившиеся в Калифорнийском, Стэнфордском университетах, а также в лабораториях фирмы IBM. Особую значи­мость имеет проект RISC-1, который возглавили профессора Давид Паттерсон и Карло Секуин. Именно они ввели в употребление термин RISC и сформулировали четыре основных принципа RISC-архитектуры:

* каждая команда независимо от ее типа выполняется за один машинный цикл, длительность которого должна быть максимально короткой;

* все команды должны иметь одинаковую длину и использовать минимум ад­ресных форматов, у




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 409; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.