книги из ГПНТБ / Преснухин, Л. Н. Цифровые вычислительные машины учебное пособие
.pdfпоказан на рис. 1.3, на котором ООЗУ — основное оперативное запо минающее устройство; ЦПр — центральное устройство обработки информации или центральный процессор. Операционные блоки про цессора могут получать информацию непосредственно из ООЗУ, если в системе не предусмотрено БЗУ. С ООЗУ связаны периферийные процессоры ППр. Каждый ППр работает с центральным процессо ром одновременно и в то же время независимо от него и имеет в своем составе местное ОЗУ. ППр представляет собой ЦВМ, способную про-
Рис. 1.3. Структурная схема вычислительной си стемы с разделением времени
водить первичную обработку информации, состоящую из подготови тельных операций, т. е. преобразования форматов данных в форматы машины и информации из одной системы в другую и т. д.
Каждый ППр через устройство обмена УО, состоящего из мульти плексных и селекторных каналов, может связаться с любым из пери ферийных устройств.
К некоторым информационным каналам подключают обычные блоки ввода — вывода информации. К многоканальному же коммутатору мультиплексного канала можно подключить значительное количество дистанционных пультов управления ДПУ.
Таким образом, в данной системе возможно подключение большого числа пользователей к одной ВС и эффективное выполнение обработки информации одновременно большим количеством пользователей в ре жиме разделения времени.
§ 1.5. ОБОБЩЕННАЯ СТРУКТУРНАЯ СХЕМА МОДУЛЬНОЙ ВС
Мультипрограммирование и разделение времени являются харак терными особенностями всех современных больших ВС. Поскольку усложнение логической организации ВС вследствие развитого парал лелизма приводит к большим аппаратурным затратам, в ВС особое значение приобретает проблема надежности. Профилактика ВС, отказы ее отдельных частей и работы по модернизации не должны приводить к нарушению процесса обработки информации. В связи с этим разра ботан модульный принцип проектирования ВС.
20
Под модулем понимают любое функциональное устройство ВС с собственными цепями управления, способное функционировать самостоятельно. Если ВС состоит из набора модулей, то отказ модуля или перевод его на профилактику приводит лишь к изменению произ водительности системы за счет перераспределения его обязанностей среди оставшихся модулей.
Обобщенная структурная схема модульной ВС с разделением вре мени приведена на рис. 1.4. В этой системе в состав местного устрой ства управления М УУ устройствами ввода — вывода информации УВВ может входить различное количество периферийных процессо ров, организованных по модульной системе. Это же относится к УВВ ин формации, дистанционным пультам управления (Д П У ) и к оперативным и внешним запоминающим устройст вам ОЗУ и ВЗУ. ВЗУ имеют модуль ные местные устройства управления М У У ВЗУ. Обработку информации выполняет центральный процессор
ЦПр.
Наличие однотипных модулей в ВС позволяет переключать потоки инфор мации при обнаружении неисправно сти. В результате этого система изменяет свои параметры производи тельности, но сохраняет работоспо собность.
Следовательно, в модульной ВС введением соответствующей системы диагностики можно обеспечить самовосстановление работоспособности В случае отказов. Для практической реализации этого необходимо, чтобы
модули обладали автономностью, идентичностью и взаимозаменяе мостью; в системе же должна быть модульная избыточность.
Автономность модулей или развязка одного модуля от других позволяет избежать использования сигналов дефектных модулей.
Идентичность и взаимозаменяемость модулей дает возможность проводить программную перестройку системы с целью устранения (в смысле использования) дефектных модулей от участия в вычисли тельном процессе.
Наличие модульной избыточности позволяет совершить обход де фектного модуля и обеспечить нормальное функционирование остав шихся модулей.
§ 1.6. МУЛЬТИПРОЦЕССОРНЫЕ ВС
Применение принципа мультипрограммной обработки информации дает возможность наиболее полно использовать аппаратные средства ВС за счет уменьшения времени простоя устройств. Мультипрограыми-
21
рование может увеличить время решения конкретной задачи по одной из программ, однако не уменьшится, а, наоборот, увеличится общая производительность всей системы. Повышение производительности системы с одновременным ускорением решения конкретных задач можно достичь за счет разбиения задач на отдельные независимые участки и параллельной обработки этих участков одновременно на нескольких процессорах. Если же такое разбиение невозможно, то производи тельность системы можно увеличить параллельной работой процессо ров над несколькими задачами. .
ВС с несколькими процессорами называют мультипроцессорными системами. Для реализации возможностей мультипроцессорных си стем необходимо предусмотреть автоматическую загрузку процессо ров в процессе решения задач как исходной, так и командной инфор мацией. Для мультипроцессорных систем используют модульный
принцип |
построения, |
который, |
как было показано ранее, позволяет |
||||||||||||
|
|
|
|
|
|
|
|
|
наращивать |
структуру |
устрой |
||||
Пр, —, |
ОЗУ, |
03У2 |
о щ |
— |
03Ук |
Г * |
ПЗУ, |
ства, решает проблему надеж |
|||||||
|
|
х |
|
X |
|
х |
|
|
ности, а также снижает стои |
||||||
|
. |
~ Т |
|
J 1* ПЗУ2 |
мость |
производства |
устройства. |
||||||||
|
; |
|
|
и к |
|
|
ду l-tj |
Рассмотрим структурную схе |
|||||||
% * |
|
i |
X |
X |
|
X |
|
■ |
му мультипроцессорной |
цифро |
|||||
|
|
|
|
вой вычислительной системы на |
|||||||||||
|
UP] |
ППР1Ш р2 |
l i l i p |
j -------Ш ! |
|
|
|||||||||
|
|
|
|
Щ з |
|
ППрт |
|
|
примере |
однородной ВС (рис. |
|||||
|
|
П Т |
|
1 |
|
|
|||||||||
|
|
|
|
|
1.5). Однородной вычислительной |
||||||||||
|
|
|
т , д п у |
|
|
|
|
системой |
|
называют |
систему, |
||||
Рис. 1.5. Структурная схема мультипро |
состоящую |
из |
определенного |
||||||||||||
цессорной однородной цифровой ВС |
числа |
одинаковых |
автономных |
||||||||||||
|
|
|
|
|
|
|
|
|
модулей. Система содержит мо |
||||||
дули |
оперативных запоминающих |
устройств ОЗУ1 4- |
03,Ук; |
процес |
|||||||||||
соров |
Пр1 ч- Прп, |
постоянных запоминающих |
устройств |
ПЗУх 4- |
|||||||||||
4- ПЗУ1 |
и периферийных процессоров ЯЯрх 4- |
ППрт. Потоки инфор |
мации в системе распределяются с помощью информационного комму татора ИК, имеющего модульную, например байтовую, структуру.
Структурная и информационная избыточность ВС.
Развитие современных ВС связано с повышением их производи тельности, расширением логических возможностей и применением элементов и узлов с увеличивающейся степенью интеграции. Однако каждое из этих направлений имеет принципиальные ограничения для расширения физических возможностей ВС. Например, конечная ско рость распространения электромагнитных колебаний в электронных системах устанавливает предел скорости обработки информации. Рас ширение логических возможностей при увеличении производительности системы вызывает необходимость разработки сложных методов авто матизации программирования. Увеличение объема электронного обо рудования самих ВС и объема электромеханического оборудования периферийных устройств выдвигают проблему надежности работы ВС. Отказ любого компонента из всего огромного количества используемых компонентов системы приводит к нарушению правильности ее функцио нирования.
22
Поскольку в соответствии с действующими законами надежности вероятность безотказной работы системы при увеличении количества ее компонентов уменьшается экспоненциально, а использование ча стей системы с повышающейся степенью интеграции затрудняет ее ремонт и может сделать его практически невозможным, проблема надежности микроэлектронных ВС преобретает особое значение.
Практическое решение проблемы достижения высокой надежности ВС заключается в использовании структурной и информационной избыточности.
При использовании структурной избыточности для обнаружения неисправностей и замены дефектных частей системы необходимо при менять средства автоматического поиска и устранения неисправностей для обеспечения достаточно большого времени непрерывной работы.
Введение структурной избыточности требует решения вопроса о типе вводимой избыточности. Так как избыточность может быть введена на уровне компонент, узлов, блоков или устройств, то выбор ее типа требует оценки большого количества технико-экономических факторов, особенно для ВС в микроэлектронном исполнении.
В ЦВМ и ВС практически сложно обеспечить правильное функцио нирование всех устройств в течение длительного времени, даже в случае отсутствия отказов в системе. Сочетания неблагоприятных факторов также дают искажение информации при ее передаче между устройст вами или при выполнении каких-либо операций. Разовое искажение информации (случайный сбой) в ВС представляет собой большую опас ность вследствие фиксации неправильного значения информации за поминающими элементами и последующего использования неправиль ного результата при дальнейших вычислениях. Эффективным средст вом обнаружения и исправления искажений информации в ВС является введение информационной избыточности путем использования кор ректирующих кодов.
§ 1.7. ВЫБОР СИСТЕМЫ СЧИСЛЕНИЯ ПРИ ПРОЕКТИРОВАНИИ ЦВМ И ВС
При проектировании ЦВМ и ВС значительное, внимание уделяют выбору системы счисления, которая должна обеспечивать возможность оператору достаточно просто интерпретировать вырабатываемые ма шиной коды. Скорость выполнения машинных операций зависит от основания системы счисления.
Для представления заданного диапазона чисел в машине в зави симости от выбранной системы счисления требуется различное коли чество оборудования.
В современных ЦВМ наибольшее распространение для представле ния цифровой информации получили позиционные системы счисления.
В позиционной системе счисления числа записываются в виде: |
р |
« Д , где г — |
/=о
основание системы счисления; щ — величина веса данного разряда; р — количество
разрядов в коде.
23
Определим, при каком основании г0 для представления данного объема числа М
требуется наименьшее количество аппаратных затрат. Предположим, что техни чески электронные схемы реализуют таким образом, что объем используемых элек тронных элементов пропорционален основанию системы счисления. Тогда для пред
ставления |
М чисел (М = гР) потребуется |
N электронных схем: |
||
|
|
N — агр, |
|
|
где а — коэффициент пропорциональности. |
р: |
|||
Подставим в выражение для |
N значение |
|||
|
In М = |
р In г; |
р = |
In Af/ln г, |
|
N — ar (In Л1/In /•)• |
|||
Так как N есть функция от г при прочих постоянных значениях, то для нахо |
||||
ждения |
приравняем первую производную нулю: |
dN/dr — {a In М [In г — г (1)/г]}/1п г~2; In г0 — 1 = 0; In r0 = 1; г0 = е.
Таким образом, наиболее экономичным основанием системы счисления является число е = 2,718 ... При выборе целочисленного значения основания ближайшими
кзначению е являются числа 3 и 2.
ВЦВМ находят, применение также некоторые другие системы счис ления, в частности непозиционный код в остатках, обладающий в ряде случаев значительной эффективностью при машинной переработке информации по сравнению с позиционными кодами.
Представление чисел в машине в любой системе счисления осуще ствляется на базе двоичных дискретных состояний современных электронных элементов. Так, потенциальный триггер может нахо диться в одной из двух устойчивых состояний. Для ввода или вывода информации информацию кодируют на перфоносителях наличием или отсутствием пробивки, на магнитных носителях — направлением на магниченности данного участка относительно выбранного и т. д. Эти
дискретные двоичные состояния могут различаться качественно или количественно, но должны обеспечивать надежность распознавания состояний в реальных случаях наличия помех при работе ЦВМ. Отмеченное обстоятельство следует учитывать при анализе количества оборудования для представления информации в машине.
Чем больше значение величины основания системы счисления, тем короче запись последовательности символов для представления чисел в машине. Например, сравним запись одного и того же числа 100 в различных системах счисления:
1001о= 1210* = 1 100 1002.
Важнейшим фактором при выборе основания системы счисления является объем вводимой и выводимой информации. При обработке значительных объемов информации тратится больше времени на пре> образование информации из одной системы счисления в другую. В этих случаях поэтому целесообразно использовать десятичную си стему счисления для представления чисел в машинах.
Однако из-за отсутствия реальных физических элементов с большим числом устойчивых состояний каждый десятичный разряд приходится изображать с помощью четырех двоичных разрядов, что приводит
24
к увеличению последовательности электронных элементов для пред ставления чисел в десятичной системе и, следовательно, снижению быстродействия машины, поскольку возрастают задержки в цепях переносов при выполнении арифметических операций.
Применение двоичной системы счисления обеспечивает легкость выполнения машиной логических операций, имеющих двоичный характер.
В отечественной ЦВМ «Сетунь», построенной на феррит-транзи- сторных логических элементах, впервые в мире использована троич ная позиционная система счисления.
§1.8. ВЫБОР ДЛИНЫ РАЗРЯДНОЙ СЕТКИ
ИВИДА ПРЕДСТАВЛЕНИЯ ЧИСЕЛ В ЦВМ И ВС
Выбор длины разрядной сетки в ЦВМ при представлении инфор мации в виде чисел с фиксированной запятой. При представлении информации в виде чисел с фиксированной запятой диапазон предста вимых чисел в машине определяют ограничениями сверху и снизу:
Мшах |
1J М min |
1. |
Если число разрядов в машинной сетке после запятой равно п, то общее число разрядов в устройствах машины равно (п + 1) (дополни тельный разряд требуется для кодирования знака числа).
Абсолютная погрешность 6абс представления чисел с фиксирован ной запятой определяется длиной разрядной сетки машины:
Относительная погрешность 8 представления в машине положи тельных и отрицательных чисел с фиксированной запятой изменяется от величины 6+ = бабс/Мтах до величины 6_ = 8a6i/Nmin. Для лю бого числа N при данном диапазоне представления чисел N m\n <; N <
<Mmax относительная погрешность S = ба6с/| N |.
Следовательно, при представлении чисел в машине с фиксированной
запятой относительная погрешность зависит от самой величины этих чисел.
Таким образом, при выборе длины разрядной сетки машины в (п + 1) разрядов диапазон чисел, которые могут быть представлены в машине, определяют неравенством:
—2~п < N < 1 - 2п, |
(1.1) |
где N — определяет величину числа, которую можно записать в по следний п -й разряд.
Выбор длины разрядной сетки в ЦВМ при представлении инфор мации в виде чисел с плавающей запятой. При записи чисел с плаваю щей запятой в нормализованной форме необходимо иметь разряды для хранения мантиссы, порядка, а также значений знака мантиссы и порядка.
25
Пусть для представления мантиссы в машине используется т раз рядов, а для представления порядка — I разрядов. Максимальное по значению число в машине записывают в виде:
А/ ■— п 9Ртах
max — Ч тах ^ >
где <7тах и ртах — соответственно максимальные значения нормализо ванной мантиссы и порядка числа:
Ртах = 0,1 1 1 • • • 1 1 = 1 — 2 “т ;
т
Pmax = ?.LL;ill1= 2<- 1-
Соответственно минимальные значения представимого в машине числа N min, мантиссы pmin, порядка pmin равны
Nmin = Pmin ■2~Р min;
Pmin = 0,100... 00 = —0,12 = — 0,51О;
т
Pmin = — 11 ■11------(2f — 1).
'2
Величина pmi„ в двоичной системе счисления имеет минимальное значение 0,1, поскольку она должна быть нормализована.
Таким образом, диапазон представления чисел с плавающей запя той в машине будет:
— 0,5-2-(2' - 1) < А /< ( 1 |
_ 2 - т ) - г*2 - 1). |
(1.2) |
Абсолютная ошибка представления |
чисел |
|
Sa6c = 2~m. |
|
|
Относительная ошибка для нормализованных чисел |
|
|
б = 6абс/р = 2“т /(0,5 -5- 1) |
^ 2"<т+1>-S- 2“т . |
|
Следовательно, точность представления чисел с плавающей запя той в машинах не зависит от их величины.
Сравнение характеристик ЦВМ с представлением чисел с фикси рованной и плавающей запятыми.
Д и а п а з о н |
п р е д с т а в и м ы х ч и с е л . При одинаковом |
числе разрядов, |
отводимых для представления мантисс т — п, диа |
пазон чисел в машинах с представлением чисел с плавающей запятой значительно больше, чем в машинах с формой представления чисел
с фиксированной запятой, что следует из выражений (1.1) |
и (1.2). |
П о г р е ш н о с т ь п р е д с т а в л е н и я ч и с е л . |
Абсолют |
ная погрешность представления чисел в машинах с формой представле ния чисел с плавающей и фиксированной запятыми одинакова. Однако относительная погрешность представления малых чисел в машинах с представлением чисел с фиксированной запятой сравнительно ниже.
П о д г о т о в к а и с х о д н ы х д а н н ы х . Необходимость масштабирования чисел при подготовке к решению задач для машин с представлением чисел с фиксированной запятой усложняет процесс
26
подготовки исходных данных и отладки программы. Возникновение переполнения разрядной сетки машины ведет к необходимости кор ректировки масштаба чисел.
С к о р о с т ь в ы ч и с л е н и й и с л о ж н о с т ь о б о р у д о в а н и я . При представлении чисел с плавающей запятой в ЦВМ для выполнения арифметических операций над числами необходимо раздельно вести обработку порядков и мантисс, дополнительно вво дится операция выравнивания порядков и денормализации. Поэтому скорость вычислений при использовании представления чисел с фик сированной запятой значительно выше, а сложность арифметических устройств и устройств управления меньше, чем в машинах с представ лением чисел с плавающей запятой.
О б л а с т и п р и м е н е н и й . В универсальных ЦВМ, пред назначенных для решения широкого круга различных задач, наибо лее широко используют форму представления чисел с плавающей запятой.
Форму представления чисел с фиксированной запятой используют, как правило, в специализированных ЦВМ для переработки определен ных массивов информации с известным диапазоном чисел по отрабо танным программам. Большая скорость вычислений и меньшая слож ность арифметических и управляющих устройств позволяют снизить габариты, вес и потребляемую мощность таких специализирован ных ЦВМ.
Чтобы использовать преимущества машин с представлением чисел с фиксированной запятой, для определенных типов задач возможно построение универсальных ЦВМ, в которых используют обе формы представления чисел (например, машины типа «Минск» и т. д.).
Выбор формы представления отрицательных чисел в ЦВМ. Выбор формы представления отрицательных чисел в машине влияет на ско рость выполнения операций и количество используемого в операцион ных блоках оборудования.
При представлении чисел в машине в обратном коде действия над всеми разрядами совершаются одинаково. Однако при сложении в об ратном коде может возникнуть так называемый «циклический перенос», поскольку перенос из знакового разряда должен быть передан в млад ший разряд. Физически это реализуют соединением знакового разряда и младшего разряда сумматора специальной схемой, называемой цепью кругового или циклического переноса. Попадая в младший разряд сумматора, циклический перенос может вызвать перенос в его стар шие разряды, до знакового разряда включительно (второй цикличе ский перенос возникнуть принципиально не может).
Естественно, что возникновение переносов от циклического пере носа увеличивает время сложения чисел в обратном коде. В частности, при использовании сумматоров последовательного действия цикл сложения необходимо повторять для получения правильного резуль тата с учетом циклического переноса, т. е. время сложения удваи вается.
В обратном коде возникает также неоднозначность представления нуля, поскольку как положительное значение нуль представляют
27
кодом 0,0000... 000, а как отрицательное значение — кодом 1,1111 ...
1 1 1.
Для образования дополнительного кода отрицательных чисел вначале находят обратный код числа, а затем в младший разряд доба вляют единицу. Эта операция требует значительных затрат времени.
При представлении чисел в дополнительном коде неоднозначность представления нуля не возникает, нуль представляют только Поло жительным значением +0,0000 ... 000.
При выполнении операции сложения в дополнительном коде пере нос из знакового разряда теряется, цепь кругового переноса отсут ствует.
§1.9. СИСТЕМА КОДИРОВАНИЯ КОМАНД
ИИХ СОСТАВ
Процесс решения задачи с помощью ЦВМ представляет собой вы полнение заранее определенной последовательности арифметических, логических и пересылочных операций. Полную автоматизацию вычш слеши достигают за счет программного управления работой основных устройств машины.
Программа работы машины определяется алгоритмом переработки информации; она кодируется в цифровую форму и помещается в ЗУ. Программа работы машины содержит в себе последовательность команд, указаний, выполнение которых обеспечивает получение требуемого результата.
Командой называют цифровую информацию, обеспечивающую выработку в ЦВМ электронных сигналов, требуемых для выполнения определенного действия машины над заданными числами.
По структуре каждая команда имеет операционную, адресную и служебную части. В операционной части записывают цифровые коды операций; адресную часть используют для кодирования адресов чисел, участвующих' в операции; служебная часть команды служит для записи кодов, определяющих модификацию выполняемых команд
взависимости от тех или иных признаков.
Ввычислительной технике адресом называют номер ячейки ОЗУ,
вкоторой записано участвующее в данной операции число (операнд). Количество указываемых в команде адресов различно.
Для автоматической работы машины необходимо в каждом цикле указать: где взять следующую команду; вид выполняемой операции; адреса участвующих в операции операндов; адрес результата.
Следовательно, исходя из сказанного выше целесообразно исполь
зовать четырехадресные команды, т. е. команды, в которых точно определены адреса операндов, результата и следующей команды. В этом случае команды можно помещать в любых произвольных ячей ках ЗУ и выбирать их в строгой последовательности, определяемой алгоритмом, указывая при этом в каждой команде адрес следующей команды. Однако при распределении ячеек ЗУ более целесообразно выделить массивы ячеек для хранения команд программы и хранения операндов. Команды программы при этом записывают в ячейки, номера
28
которых последовательно -нарастают, начиная с номера а. С помощью аппаратурных средств, предусмотренных в машине, выполнение команд начинают с команды, записанной по а-му адресу, затем выполняют команду, записанную в (а + 1) адресе и т. д. Такой порядок выборки и выполнения команд называют естественным, и может он нарушаться только в определенных случаях выработки специальных сигналов передачи управления какой-либо другой, а не следующей по порядку команде.
Таким образом, использование естественного, а не принудитель ного порядка следования команд снимает необходимость использова ния четвертого адреса в командах и автоматически определяет, где взять следующую команду для выполнения.
Для общения оператора и машины при ручном программировании наиболее удобно пользоваться трехадресными командами, структура которых изображена на рис. 1.6, а, где КОп — код операции; КМ —
код модификации; |
КАЪ К А г, К А 3 — коды |
адресов. Соответственно |
|||||||||||||
группы |
разрядов |
определяют: |
1 — |
|
|
|
|
|
|
ш |
|
||||
операционную, |
I I — служебную, |
■а) |
I |
ж г- |
|
|
|
||||||||
I I I —‘ адресную части |
команды. |
|
|
|
|
|
|||||||||
|
| |
КОп |
\КМ\ КА, |
I |
КАг I |
KAj | |
|||||||||
При решении реальных задач ал |
|||||||||||||||
|
|
|
|
|
|
|
|
||||||||
горитмы |
программы |
могут |
опреде |
S) |
|
|
|
|
|
|
|
||||
лять |
различные способы применения |
КОп |
| КМ 1 |
КА, |
1 КАг |
1 |
|||||||||
|
|||||||||||||||
операндов. В параллельном алго |
|
|
|
|
|
|
|
|
|||||||
ритме |
обработки |
информации |
при |
| |
КОп |
| |
КМ |
| |
КА~] |
|
|||||
выполнении каждой команды из ЗУ |
|
|
|
|
|
|
|
|
|||||||
извлекают два операнда. Результат |
Рис. 1.6. |
Структура команд |
|||||||||||||
операции |
отсылается |
для |
хранения |
|
|
|
|
|
|
|
|
||||
в ЗУ |
и |
в следующей |
операции |
не |
участвует. |
В |
последовательном |
алгоритме обработки информации результат каждой предыдущей операции требуется для выполнения каждой последующей опера ции, поэтому из ЗУ извлекается только один операнд. Следовательно, в трехадресной команде используется только один адрес. В среднем при решении разнообразных задач. требуется полтора адреса в коде команды.
Структура двухадресных команд показана на рис. 1.6, б, где КОп — код операции; КМ — код модификации; К А Ъ КА.г — коды адресов первого и второго из участвующих в данной операции опе рандов.
Структура одноадресной команды, показана |
на рис. 1.6, |
в, где |
КОп — код операции; КМ — код модификации; |
КА — код |
адреса |
одного операнда, участвующего в данной операции. Двух- и одно адресные команды позволяют более эффективно использовать адреса команд.
В вычислительной технике также используются безадресные или нульадресные команды. В этом случае операнды размещают в самой команде или выбирают в определенном порядке из некоторой упоря доченной совокупности (см. гл. 6).
Использование команд различной адресности вызывает особен ности построения ЦВМ и влияет на их характеристики.
29