Общая классификация вычислительных систем обработки данных – архитектур 5 страница

- выравнивание порядков – ВП – сдвиг мантиссы с меньшим порядком для выравнивания с мантиссой с большим порядком;

- сложение мантисс – СМ;

- нормализация результата – НР (то есть перенесение в соответствующее место запятой, чтобы первой значащей цифрой мантиссы не оказался ноль).

 

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

 

Этап i n n+1 n+2 n+3
СП a1 b1 a2 b2 a3 b3 a4 b4 a5 b5 a6 b6   ai bi   an bn      
ВП   a1 b1 a2 b2 a3 b3 a4 b4 a5 b5   a1-1 b1-1   an-1 bn-1 an bn    
СМ     a1 b1 a2 b2 a3 b3 a4 b4   a1-2 b1-2   an-2 bn-2 an-1 bn-1 an bn  
НР       c 1 c 2 c 3   c I-3   c n-3 c n-2 c n-1 c n

 

Рис. 2.16. Временная диаграмма конвейерной операции

 

 


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

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

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

 

 

Вопросы и задания для самопроверки

 

2.1. Каково определение «схемы» в контексте данной книги?

2.2. Определите понятие «ресурс» и назовите типы ресурсов.

2.3. Основное содержание понятия «операционная система».

2.4. Каковы на ваш взгляд различия между понятиями «операционное обеспечение» и «системное программное обеспечение»?

2.5. Что такое супервизор?

2.6. Дайте определение процесса. Назовите виды процессов.

2.7. Дайте определение рабочей нагрузки.

2.8. Определите понятие загрузки.

2.9. Что такое эффективность системы? «Характеристики» и «параметры», - в чем различие этих понятий?

2.10. Дайте общее понятие производительности вычислительной системы.

2.11. Напишите формулу производительности через интенсивность выходного потока.

2.12. Какие параметры влияют на производительность системы?

2.13. Что такое номинальная производительность?

2.14. Какая производительность выше, номинальная или системная?

2.15. Программа насчитывает 10 000 операторов (команд), каждая команда выполняется за 7 тактов. Частота процессора 2 ГГц. Определите производительность процессора.

2.16. Что за величина «время ответа»? Что она характеризует?

2.17. Напишите формулу интенсивности отказов системы из n элементов.

2.18. Какой характер имеет зависимость вероятности безотказной работы от времени?

2.19. Что характеризует коэффициент готовности системы? Напишите его формулу.

2.20. Чем характеризуется пакетная обработка данных? Каковы преимущества этого режима обработки?

2.21. Что означает оперативная обработка данных, чем характеризуется? Назовите режимы оперативной обработки.

2.22. Положительные свойства диалогового режима.

2.23. Дайте определение понятия «мультипрограммная обработка».

2.24. Прокомментируйте взаимозависимость мультипрограммной обработки и производительности.

2.25. Напишите формулу Литтла. Что она отражает?

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

2.27. Каковы на ваш взгляд корни слова «телеобработка»?2.29. Какие направления характерны для параллельной обработки данных?

2.28. Что такое естественный параллелизм обработки данных?

2.29. Суть параллелизма независимых ветвей.

2.30. В чем заключается содержание параллелизма объектов и данных?

2.31. Назовите классы систем параллельной обработки. Дайте краткую характеристику каждого из них.

2.32. Опишите принцип конвейерной обработки.

2.33. Как вы представляете себе векторную обработку?


Глава третья

 

Вычислительные комплексы.

Архитектуры и описания

 


3.1 Одномашинные архитектуры обработки данных

3.1.1 Классическое построение электронных вычислительных машин

 

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

Классическое представление электронных вычислительных машин сложилось в конце 40-х – начале 50-х годов прошлого столетия. Существенное влияние на основу этого представления оказали идеи американских исследователей в области математики и вычислительной техники: Джона фон-Неймана, Джона Эккерта, Джона Моучли, А. Баркса, Х. Голдстина.

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


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

 
 

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

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

Программа располагается в памяти машины по определенным адресам и для начала ее выполнения оператор (или пользователь) должен указать управляющему устройству машины адрес первой


команды программы. Устройство управления помещает этот адрес в регистр адреса команы PC, и далее, адрес команды, через регистр адреса MAR направляется запоминающему устройству (памяти). Одновременно, устройство управление направляет в память (в виде сигнала управления) указание на чтение команды по данному адресу. Найденная в памяти команда пересылается через регистр данных MDR и регистр команд (IR) в устройство управления, где подвергается расшифровке. В зависимости от результатов расшифровки команды, формируются указания и сигналы о последующих обращениях к памяти по адресам, указанным в команде, для извлечения из нее данных - чисел, над которыми должна быть выполнена операция. Одновременно формируются сигналы функций АЛУ (арифметико-логического устройства) на время выполнения команды. На рисунке 3.2 - это управляющие сигналы типа ADD и CMP (сложить и сравнить).

 
 

 

 


Числа и код операции передаются арифметическому устройству – в нашем примере АЛУ. Последнее выполняет необходимые


действия над операндами, и, с помощью устройства управления, направляет результат операции в место хранения, указанное в команде – это может быть память или один из регистров процессора типа R0 … RN.

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

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

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

В показанной на рисунке 3.1 архитектуре вычислительной машины реализованы две фундаментальные идеи, используемые с тех пор и по настоящее время во всех типах и структурах машин.

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

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


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

 

3.1.2 Развитие структуры вычислительных машин в машинах второго поколения

 

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

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

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

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

 

 
 

 

 


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

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

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

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

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

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

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


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

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

 

3.1.3 Развитие архитектуры в машинах третьего

поколения

 

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

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

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


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

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

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

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


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

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

 

Многомашинные комплексы

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

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

В зависимости от вида связи, комплексы подразделяют на три типа:

- косвенно - или слабосвязанные ММВК;

- прямосвязанные;

- сателлитные - с машинами-спутниками.

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

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


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

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