Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_Вычислительные машины_new.doc
Скачиваний:
64
Добавлен:
12.09.2019
Размер:
5.41 Mб
Скачать

Вычислительные машины, системы и сети

Тема 1. Введение в предмет

Лекция 1. История развития вычислительной техники

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

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

Утверждение понятия принадлежности компьютеров к тому или иному поколению и появление самого термина ’’поколение’’ относится к 1964 г., когда фирма IBM выпустила серию компьютеров IBM/360 на гибридных микросхемах (монолитные интегральные схемы в то время ещё не выпускались в достаточном количестве), назвав эту серию компьютерами третьего поколения. Соответственно предыдущие компьютеры - на транзисторах и электронных лампах – компьютерами второго и третьего поколений. В дальнейшем эта классификация, вошедшая в употребление, была расширена и появились компьютеры четвёртого и пятого поколений.

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

Идея использования програмного управления для построения устройства,автоматически выполняющего арифметические вычесления,была впервые высказана англиским математиком Ч.Бэббиджем ещё в 1883 г. Однако его попытки построить механическое вычислительное устройство с программным управлением не увенчалось успехом.

Фактически эта идея была реализованна лишь спустя 100 лет,когда в 1942 г. К.Цюзе в Германии и в 1944г. Г.Айкен в США построили на электромагнитных реле вычеслительные машины с управлением от перфоленты .

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

Первые ЭВМ с программным управлением и с хранимой в памяти программой появились практически одновременно в Англии, США и СССР.

Фундаментальный вклад в развитие отечественной вычислительной техники внес академик С.А. Лебедев. Под его руководством в 1949-1951 г.г. в АН УССР в Киеве была построена первая в нашей стране ЭВМ-Малая Электронная Счетная Машина (МЭСМ),а в 1952-1954 г.г. в ИТМ и ВТ АН СССР-Быстродействующая Элекронная Счетная Машина (БЭСМ),выполнявшая 8000 операций/с и являвшаяся в то время одной из самых быстродействующих ЭВМ в мире.Последующие годы академик С.А. Лебедев посвятил созданию оригинальных советских ЭВМ высокой производительности.

Одну из первых в стране ЭВМ построили в начале 50 годов чл.-кор. АН СССР И.С. Брук и его сотрудники Н.Я. Матюхин и М.А. Карцев в Энергетическом институте АН СССР в Москве.Первая выпускавшаяся промышлкнностью "Стрела" была разработана научным коллективом,руководимым Ю.Я.Базилевским.

Советские учёные,в первую очередь академики С.А. Лебедев, М.В. Келдыш, В.М. Глушков, В.С. Семенихин и их научные школы внесли крупный вклад в развитие принципов построения и теории ЭВМ и их программоного обеспечения,методов использования ЭВМ в народном хозяйстве.

На протяжении 4-х десятилетий электронная вычислительная техника бурно развивается. На наших глазах появились, сменяя друг друга,несколько поколений ЭВМ. Появление новых поколений ЭВМ вызывалось расширением областей и развитием методов их применения,требовавших более производительных,более дешёвых и более надёжных машин.

Для понимания истории компьютерной техники введённая классификация имела, по крайней мере, два аспекта: первый – вся деятельность, связанная с компьютерами, до создания компьютеров ENIAC рассматривалась как предыстория; второй – развитие компьютерной техники определялось непосредственно в терминах технологии аппаратуры и схем.

Второй аспект подтверждает и главный конструктор фирмы DEC и один из изобретателей мини-компьютеров Г. Белл, говоря, что ’’история компьютерной индустрии почти всегда двигалась технологией’’.

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

Первыми ЭВМ принято считать машину ENIAC (электронный интегратор и калькулятор), разработанную в 1945 г. Д. Эккертом и Д. Моучли в США, и машину МЭСМ (малая электронная счетная машина), изготовленную в СССР в 1951 г. под руководством академика С.А. Лебедева. Машины выполняли до 500 сложений и 400 умножений в секунду, строились на лампах, которые выделяли большое количество тепла, были громоздки и часто отказывали.

Первое поколение образовали ламповые ЭВМ, промышленный выпуск которых начался в начале 50-х годов. В качестве компонентов логических элементов использовались электронные лампы. К первым советским ЭВМ относятся ламповые вычислительные машины БЭСМ-2, "Стрела", М-2, "Минск-1", "Урал-1", "Урал-2", М-20, в основном ориентированные на решение научно-технических задач.

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

В 1960 – 1970 г.г. на транзисторах – ЭВМ второго поколения («IBM-360», «БЭСМ-6»). В вычислительных машинах второго поколения, появивишихся в конце 50-х годов, полупроводниковые приборы - транзисторы - заменили электронные лампы, что существенно повысило надежность, снизило потребление мощности, уменьшило габаритные размеры ЭВМ. Это позволило создать ЭВМ, обладающие большими логическими возможностями и более высокой производительностью. Наряду с машинами для научных расчетов появились ЭВМ для решения планово-экономических задач (задач обработки данных) и управления производственными процессами.

В нашей стране были созданы полупроводниковые ЭВМ различного назначения : малые ЭВМ серий "Наири" и "Мир",средние ЭВМ для науных расчетов и обработки данных со скоростью работы 5-30 тыс. операций/с - "Минск-2", "Минск-22", "Минск-32", "Урал-14", "Раздан-3", БЭСМ-4,М-220 - и управляющие вычислительные машины "Днепр", ВНИИЭМ-3 и др.

В рамках второго поколения академики С.А. Лебедев и В.А. Мельников создали сверхбыстродействующую ЭВМ БЭСМ-6 с производительностью 1 млн. операций/с.

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

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

ЭВМ третьего поколения появились во второй половине 60-х годов, когда фирма IBM (США) разработала систему машин IBM-360. Машины третьего поколения ЕС ЭВМ и СМ ЭВМ (1970 – 1980 гг.) были разработаны на интегральных схемах и применялись для управления предприятиями. Эта система оказала влияние на логическую организацию машин общего назначения третьего поколения, разработанных в других странах.

В СССР и странах СЭВ в начале 70-х годов совместно разработали и организовали серийное производство Единой Системы ЭВМ (ЕС ЭВМ) и Системы Малых ЭВМ (СМ ЭВМ) – машин третьего поколения на интегральных микросхемах.

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

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

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

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

Примерами крупных вычислительных систем, которые следует отнести к четвертому поколению, являются многопроцессорные комплексы "Эльбрус-2" и "Эльбрус-3" с суммарным быстордействием соответственно 100 млн. и порядка 1 мрд. операций/с и многопроцессорная вычислительная система ПС-2000, содержащая до 64 процессоров, управляемых общим потоком команд, в которой при распараллеливании процесса вычислений может быть достигнуто быстродействие до 200 млн. операций/с.

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

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

Лекция 2. Классы ЭВМ

Общие принципы

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

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

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

Сообщения могут быть непрерывными и дискретными (цифровыми).

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

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

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

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

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

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

В силу универсальности цифровой формы представления информации цифровые ЭВМ представляют собой наиболее универсальный тип устройства обработки информации.

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

СуперЭВМ

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

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

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

ЭВМ общего назначения

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

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

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

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

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

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

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

Малые ЭВМ

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

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

Развитие технологии интегральных микросхем позволило создать машины, удовлетворяющие указанным выше требованиям. Уменьшение объема аппаратуры и стоимости машин достигнуто, в первую очередь, за счет короткого машинного слова (16 разрядов вместо 32-64 в машинах общего назначения), уменьшения по сравнению с ЭВМ общего назначения количества типов обрабатываемых данных, ограниченного набора команд, сравнительно небольшой емкости оперативной памяти к небольшого набора периферийных устройств. Подобные машины за свои небольшие размеры получили название малых или мини-ЭВМ.

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

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

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

Универсальность применения при ограниченном наборе команд может быть обеспечена лишь при сравнительно высоком быстродействии машины - около 400-800 тыс. операций/с, что превышает скорость работы многих ЭВМ общего назначения.

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

Микропроцессоры и микроЭВМ

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

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

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

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

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

К микроЭВМ можно отнести такие широко распостраненные вычислительные средства, как персональные компьютеры.

МинисуперЭВМ и суперминиЭВМ

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

  • минисуперЭВМ и

  • супермини-ЭВМ (супермикроЭВМ).

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

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

Специализированные ЭВМ

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

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

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

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

Персональные компьютеры

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

Рис. 1. Общий вид персонального компьютера

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

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

Среди множества моделей ПК можно выделить следующие группы:

  • ПК для пользования в быту (бытовые ПК) со сравнительно небольшими вычислительными ресурсами;

  • ПК для учебных классов с умеренными вычислительными возможностями;

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

Классификация вычислительных систем

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

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

По режиму работы ВС делятся на однопрограммные и мульпрограммные.

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

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

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

Классификация систем по режиму обслуживания.

Процесс-решения задачи может рассматриваться как обслуживание пользователя ВС. Рассмотрим основные режимы обслуживания.

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

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

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

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

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

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

В наиболее простых ВСКП обработка всех запросов занимает примерно одно и то же время (системы типа "запрос - ответ").

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

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

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

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

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

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

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

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

Вычислительные системы различаются по назначению следующим образом:

  • информационно-справочные;

  • сбора и обработки данных в автоматизированных системах, в частности информационно-планирующие,;

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

  • автоматизации обработки данных при сложных экспериментах;

  • автоматизации проектирования и др.

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

Мейнфреймы

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

Основными поставщиками мейнфреймов являются известные компьютерные компании IBM, Amdahl, ICL, Siemens Nixdorf и некоторые другие, но ведущая роль принадлежит безусловно компании IBM. Именно архитектура системы IBM/360, выпущенной в 1964 году, и ее последующие поколения стали образцом для подражания. В нашей стране в течение многих лет выпускались машины ряда ЕС ЭВМ, являвшиеся отечественным аналогом этой системы.

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

Первоначально мейнфреймы ориентировались на централизованную модель вычислений, работали под управлением патентованных операционных систем и имели ограниченные возможности для объединения в единую систему оборудования различных фирм-поставщиков. Однако повышенный интерес потребителей к открытым системам, построенным на базе международных стандартов и позволяющим достаточно эффективно использовать все преимущества такого подхода, заставил поставщиков мейнфреймов существенно расширить возможности своих операционных систем в направлении совместимости. В настоящее время они демонстрирует свою "открытость", обеспечивая соответствие со спецификациями POSIX 1003.3, возможность использования протоколов межсоединений OSI и TCP/IP или предоставляя возможность работы на своих компьютерах под управлением операционной системы UNIX собственной разработки.

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

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

Главным недостатком мейнфреймов в настоящее время остается относительно низкое соотношение производительность/стоимость. Однако фирмами-поставщиками мейнфреймов предпринимаются значительные усилия по улучшению этого показателя.

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

Кластерные архитектуры

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

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

В последние годы в литературе по вычислительной технике все чаще употребляется термин "системы высокой готовности" (High Availability Systems). Все типы систем высокой готовности имеют общую цель - минимизацию времени простоя. Имеется два типа времени простоя компьютера: плановое и неплановое. Минимизация каждого из них требует различной стратегии и технологии. Плановое время простоя обычно включает время, принятое руководством, для проведения работ по модернизации системы и для ее обслуживания. Неплановое время простоя является результатом отказа системы или компонента. Хотя системы высокой готовности возможно больше ассоциируются с минимизацией неплановых простоев, они оказываются также полезными для уменьшения планового времени простоя.

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

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

VAX-кластер обладает следующими свойствами:

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

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

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

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

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

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

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

  • Симметричная многопроцессорная архитектура с общей памятью (Shared Memory SMP Architecture). Эта архитектура поддерживает единую базу данных, работающую на многопроцессорном сервере под управлением одной операционной системы. Увеличение производительности таких систем обеспечивается наращиванием числа процессоров, устройств оперативной и внешней памяти.

  • Архитектура с общими (разделяемыми) дисками (Shared Disk Architecture). Это типичный случай построения кластерной системы. Эта архитектура поддерживает единую базу данных при работе с несколькими компьютерами, объединенными в кластер (обычно такие компьютеры называются узлами кластера), каждый из которых работает под управлением своей копии операционной системы. В таких системах все узлы разделяют доступ к общим дискам, на которых собственно и располагается единая база данных. Производительность таких систем может увеличиваться как путем наращивания числа процессоров и объемов оперативной памяти в каждом узле кластера, так и посредством увеличения количества самих узлов.

  • Архитектура без разделения ресурсов (Shared Nothing Architecture). Как и в архитектуре с общими дисками, в этой архитектуре поддерживается единый образ базы данных при работе с несколькими компьютерами, работающими под управлением своих копий операционной системы. Однако в этой архитектуре каждый узел системы имеет собственную оперативную память и собственные диски, которые не разделяются между отдельными узлами системы. Практически в таких системах разделяется только общий коммуникационный канал между узлами системы. Производительность таких систем может увеличиваться путем добавления процессоров, объемов оперативной и внешней (дисковой) памяти в каждом узле, а также путем наращивания количества таких узлов.

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

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

Лекция 3. Организация вычислений в ЭВМ

Позиционные системы счисления

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

Х = (x m km + xm-1km-1 + + x1k1 + x0k0 + x-1k-1 + + x-n k-n),

где k – основание системы счисления (k  2, целое положительное число); xi – цифры (xi  {0, 1, …, k-1}); i – номер позиции (разряд) числа, ki – вес цифры. Так как в вычислениях часто используется одинаковое основание, то оно не присутствует в записи числа, а число без весовых коэффициентов ki представляется в виде

X = xmxm-1 x1x0, x-1 x-n ,

где целая часть числа отделяется от дробной запятой. С целью упрощения записи числа в нем опускают запятую для целых чисел и индексы i, определяющие вес цифры в представлении числа. Для того чтобы отличить числа различных СС, их в конце помечают цифрами или символами основания, например, 506(8), 506, Аh – числа восьмеричной и шестнадцатеричной систем счисления.

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

Xmax = .

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

.

Подставляя это значение в выражение Xmax, получим

Xmax = km+1k-n,

где (m+1) – число разрядов целой части числа без знака, а n – дробной. Тогда с учетом знака диапазон представления чисел X будет определяться выражением

- (km+1k-n)  X  + (km+1k-n).

В этом диапазоне может быть размещено наименьшее отличное от нуля число без знака

Xmin = k-n.

Число различных цифр, которое можно разместить в (m+n+1)-разрядной сетке без знака, включая и нуль, можно определить из выражения

.

Для представления М различных цифр в k-й СС потребуется следующее число разрядов

L =] log k M [,

где скобки   указывают на округление до большего целого.

Затраты оборудования (число элементов) для представления любого (m+n+1)-разрядного числа без знака в k-й СС могут быть определены по формуле

Nk = k (m+n+1).

Подставляя вместо (m+n+1) значение, определенное путем логарифмирования выражения для М, получим

Nk = k log k M.

Для определения наилучшей СС для ЭВМ по затратам оборудования воспользуемся функцией F = Nk / N2, вид которой показан на рис. 2.

Можно показать, что минимальные затраты оборудования при непрерывном k будут соответствовать системе с основанием е  2,72 натурального логарифма и F = N3 / N2 = 0,946.

Рис. 2. Зависимость затрат оборудования в k-й СС

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

Для обозначения цифр восьмеричной СС 0, 1, …, 7 пользуются двоичными кодами: <000>, <001>, …, <111>. Цифры и символы шестнадцатеричной СС 0, 1, …, 9, А(10), B(11), C(12), D(13), E(14), F(15) кодируются тетрадами: <0000>, <0001>, …, <1001>, <1010>, <1011>, <1100>, <1101>, <1110>, <1111> с использованием всех комбинации в тетраде нулей и единиц с весами <23, 22, 21, 20>, т.е. код <8, 4, 2, 1>.

Так, если в тетраде имеется код <1011>, то легко определить цифру 16 СС путем сложения значащих весовых коэффициентов <123 + 022 + 121 + 120>(2) = 11(10) = В(16) = Bh.

Алгоритмы перевода чисел из одной системы счисления в другую

Наиболее общий алгоритм перевода числа X(k1) с основанием k1 в число X(k2) с основанием k2 выполняется в следующей последовательности:

- число X(k1) представляют в виде степенного ряда;

- заменяют цифры хi с основанием k1 их k2-ми представлениями;

- выполняют все операции сложения, умножения, возведение в степень в k2-й СС;

- с учетом точности определяют число целых и дробных цифр в числе X(k2), округляют и представляют по необходимости X(k2) в виде степенного ряда.

Рассмотрим общий алгоритм перевода чисел на примере числа X(2)= 1001,101, которое переведем в Х(10) .

1001,101 = 123 + 022 + 021 + 120 + 12-1 + 02-2 + 12-3 =

=8 +1 + 1/2 + 1/8 = 9,625(10) .

Однако применение этого алгоритма в случае k1 > k2 связано с громоздкими вычислениями, например, Х(10) = 36 переведем в Х(2) .

36(10) = 3101 + 6100 = (0011)(1010)1 + (0110)(1010)0 = 100100(2) .

Поэтому для перевода числа из 10 СС в 2 СС при k1 > k2 целую и дробную часть переводят отдельно по упрощенным алгоритмам. Для перевода це­лой части числа X(k1) отделяют у него целую часть Хц (k1) и делят его на основание k2 в k1-ой СС. В результате деления получают остаток О0 и частное Ч1. Если частное Ч1k2, его делят вновь Ч1/k2. Получают остаток О1 и частное Ч2. Деление частного продолжают до тех пор, пока на i-ом шаге не будет получен остаток Оi-1 и частное Чi < k2. Последнее частное принимается за цифру хi, а цифры xi-1, …, x0 определяются соответствующими остатками Оi-1, …, О1, О0. Располагая цифры в порядке Чi Оi-1 … О0, получают целую часть числа Х(k2).

Для определения дробной части числа Х(k2) берут дробную часть Хд (k1) числа Х(k1) и умножают ее на основание k2 по правилам k1 СС. В результате первого умножения получают целую часть произведения Ц1 и дробную часть D1. На втором шаге вновь берут дробную часть 0, D1 и умножают на основание k2. Умножение дробных частей продолжают до n-го шага Цn, Dn, пока не будет достигнута необходимая точность представления дроби. Приравнивая x-i = Цi получают значение дроби Хд (k2) =, x-1 x-2x-n. Рассмотрим алгоритм раздельного перевода целой и дробной части числа на примере. Пусть Х(10) = 20,4 необходимо перевести в двоичную СС. Тогда процесс перевода числа можно показать как деление (слева) и умножение (справа) по шагам:

1)

20

2

20

10 = Ч1

0,4  2 = 0,8 (Ц 1 = 0);

О0 = 0

2)

10/2 = 5 (Ч2 = 5, О1 = 0)

0,8  2 = 1,6 (Ц 2 = 1);

3)

5/2 = 2 (Ч3 = 2, О2 = 1)

0,6  2 = 1,2 (Ц 3 = 1);

4)

2/2 = 1 (Ч4 = 1, О3 = 0)

0,2  2 = 0,4 (Ц 4 = 0).

При переводе дробной части числа 20,4 умножение может быть продол­жено на любое число шагов, т. к. величину 0,4(10) нельзя точно представить в 2 СС. Ограничиваясь числом шагов, получим

Хц (k2)= х4 х3 х2 х1 х0, = Ч4 О3 О2 О1 О0, = 10100,

Хд (k2)=, х -1 х -2 х -3 х -4 =, Ц 1 Ц 2 Ц 3 Ц 4 =, 0110 …

20,4(10)  10100,0110(2)

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

123,02(4) =

1

2

3,

0

2(4)

= 11011,001 (2)

01

10

11,

00

10(2)

621,34(8) =

6

2

1,

3

4

= 110010001,0111(2)

110

010

001,

011

100

9Е,1D(16) =

9

E,

1

D

= 10011110,00011101(2).

1001

1110,

0001

1101


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

3

1

2

2

3,

3

= 31223,3(4);

11

01

10

10

11,

11

1

5

5

3,

6

= 1553,6(8);

001

101

101

011,

110

3

6

В,

С

0

= 36В,С(16).

0011

0110

1011,

1100

0000

Формы представления чисел в двоичной системе счисления

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

2m

2m-1

2m-2

21

20

S

xm-1

xm-2

. . .

x1

x0

.

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

63

62

1

0

. . .

.

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

Современные процессоры фирмы Intel ориентированы на систему арифметических команд для работы с фиксиро­ванной запятой после младшего разряда для m+1 = 8/16/32/64. Увеличение разрядности чисел с 8 до 64 бит способствует повышению точности и диапазона представления чисел новых типов ЭВМ. Пусть m+1 = 64, тогда целые числа без знака могут быть представлены от нуля до 264-1 (все единицы в разрядной сетке). С учетом знака число Х целое может лежать в диапазоне

- (263-1)  Х  (263-1).

Все числа  Х  1 и Х  263, а также результаты вычислений не могут быть представлены в принятой разрядной сетке и способствуют появле­нию особых случаев и прерываний в вычислениях. Для исключения подобных случаев осуществляют масштабирование массива чисел, т.е. ум­ножают все числа (или часть) на соответствующий коэффициент фиксации. Например, требуется числа Х1 = - 10101,1111 и Х2 = + 101,111110 разместить в разрядной сетке 8 бит с фиксированной запятой со знаком как целые. Тогда определяют наибольшее число  Хi; его масштабируют (сдвигают) 2P таким образом, чтобы наибольшее число значащих старших цифр разместилось в разрядной сетке; младшие цифры, которые не размещаются в разрядной сетке, отбрасывают или иногда используют для округления; все другие числа умножают на полученный коэффициент фиксации и размещают в соответствующие разряды.

Так как Х1  Х2, то используем Х1 для определения коэффициента фиксации Х1 = 1.1010111,2-2. Заметим, что в Х1 за знаком располагается единица и что точка, отделяющая знак числа от мантиссы, не включается в разрядную сетку ЭВМ. Тогда число Х1 будет представлено с наибольшей точностью в виде

1101 0111,

где слева старший разряд, а справа младший. С учетом знака и коэффициента фиксации 2-2 число Х2 будет представлено как 00010111. Причем младшие цифры 11 в Х1 и 1110 в Х2 невозможно разместить в этой разряд­ной сетке. Они отброшены, и точность представления этих чисел уменьшается.

Если использовать масштабный коэффициент 2+5, то числа Х1 и Х2 будут представлены в ЭВМ как дробные с фиксированной запятой перед старшим разрядом 1101 0111(Х1), 0001 0111 (Х2). Запятая в них предполагается слева после знака, старшая цифра имеет вес 2-1, младшая - 2-7.

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

Для повышения точности и диапазона представления чисел в ЭВМ используется форма с плавающей запятой вида

Х = 2P М, 1/2   М  1,

где М – нормализованная мантисса числа, 2P – характеристика числа Х, р –порядок, 2 – основание.

В этой форме порядок представлен целым числом р со знаком (Sp), ман­тисса – правильная дробь, т.е. представлена с фиксированной запятой перед старшим разрядом со знаком (S). Так как мантисса нормали­зована 1/2  М  1, старшая цифра мантиссы числа всегда равна 1, и любое число размещается в разрядной сетке ЭВМ с наибольшей возможной точностью.

Так число

Х1 = - 2+5  0,1010111110…0.

Тогда в разрядной сетке Х1(2) будет представлено с плавающей запятой значениями порядка и мантиссы со знаками в виде

Sp

p

S

M

0

0 … 0101

1

1 0 1 0 1 1 1 1 1 0 … 0

m

0

-1 -n

Для упрощения действий над порядками их сводят к микрооперациям над целыми положительными числами путем искусственного смещения значения р на величину +pmax. Смещенный порядок определяется по формуле

E = p +  pmax.

В смещенном порядке знак отсутствует. Для представления Е необходимо столько же разрядов, как и для представления модуля порядка и знака. Так, если порядок будет занимать один байт в числе, то 7 разрядов в обычном представлении в нем отводится под модуль порядка, и pmax = 27-1. Теперь, прибавляя к любому порядку число pmax (+127), получим смещенный поря­док. Например, если p = + 5, то E(10) = 5 + 127 = 132. Размещая Е(2) без знака, получим представление смещенного порядка 1000 0100 в разрядной сетке 1 байт. Смещенный порядок 0…0 соответствует наибольшему отрицатель­ному порядку, а 1…1 - наибольшему положительному порядку. Величина E = pmax указывает на нулевой порядок. Смещенный порядок намного упрощает операции сравнения и сдвига чисел.

Если при сложении мантисс появляется цифра с весом 20, то есть ман­тисса вида 1, …, то считается, что произошло левое нарушение нормализации числа, когда  М  1. А если в микрооперациях получена мантисса  М  1/2, то это соответствует правому нарушению нормализации числа, ко­гда в старшем разряде мантиссы с весом 2-1 появляется нуль.

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

Рис. 3

Наибольшее отличное от нуля по модулю число, которое может быть представлено в формате ОТ, будет равно Xmax = 2+127  (1 - 2-23), а наименьшее Xmin = 2-127  1/2 = 2-128. В зависимости от целей программирования в ЭВМ используются различные форматы данных.

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

Для выполнения арифметических операций над двоичными числами в ЭВМ могут использоваться прямой, обратный или дополнительный код. Прямой код Хпр числа Х = хm xm-1... x0 x-1 x-n с учетом знака S можно опре­делить из выражения

[Х]пр = S.X.

Если в ЭВМ модуль числа представлен с фиксированной запятой, то Хпр или целое, или дробное. Так, число Х = 1101101,11 в прямом коде может иметь два вида: как целое или дробное (с масштабным коэффициентом 2+7) в разрядной сетке 1 байт 0.1101101 или 1.1101101 (число отрицательное). В зависимости от масштабного коэффициента и разрядности сетки часть разрядов мантиссы любого числа может теряться. Нуль в прямом коде допускается двух видов: 0.0...0 или 1.0...0. В прямом коде легко выполнять операции ввода чисел, умножения и сложения с одинаковыми знаками слагаемых. Однако операции вычитание и деление без изменения схемы сумматора проще реализуются с использованием обратных [Х]0 или дополнительных [X]Д кодов. Обратный и дополнительный коды можно получить по формулам

пр

пр

и ,

где m и n -номера позиций старшего и младшего разряда. В зависимости от положения запятой, если числа целые, то n = 0, а если дробные, то m = 0.

Из формул получения [Х]0 и [Х]Д видно, что прямой, обратный и дополнительный коды положительного числа совпадают. Обратный код отрицательного числа можно получить путем инверсии разрядов мантиссы

так как равенство подтверждается сложением

.

Отсюда справедливо также равенство

пр

.

Если к обратному коду отрицательного числа прибавить единицу в младший разряд (+2-n), получим дополнительный код

Д

.

Справедливо также равенство

Д

Д

пр

.

Представим числа Х1 = +125(10), Х2 = -5,5(10) с фиксированной запятой после младшего разряда в разрядной сетке 1 байт в двоичной СС в прямом, обратном и дополнительном кодах:

пр

Д

;

пр

.

Д

.

Сложим числа Х1 иХ2 в 2СС с фиксированной запятой в прямом (а), обратном (б) и дополнительном (в) кодах:

а)

+

.1111101

б)

+

0.1111101

в)

+

0.1111101

.0000101

1.1111010

1.1111011

1

.0000010

0.1110111

1

0.1111000

1

0.1111000

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

Недостатком обратного кода является двоякое представление нуля 0.0... 0 и 1.1... 1, а также увеличение времени сложения за счет распространения циклического переноса. В дополнительном коде нуль представлен только 0.0... 0, отсутствует циклический перенос и корректировка результата сложения заключается в простом отбрасывании переноса из знакового разряда. Однако для получения дополнительного кода отрицательного числа требуется не только инвертирование разрядов числа, которое заменяется в АЛУ передачей с обратных выходов триггеров регистра, но и прибавление единицы к младшему разряду в сумматоре. Недостатком сложения в обратном и дополнительном кодах является трудность определения переполне­ния разрядной сетки (ПП), которое определяется вычислением функции

ПП ,

где x3,y3,z3 - знаки слагаемых и результата соответственно. Знаки слагаемых x3,y3 могут стираться после выполнения операции в одно- или двухадресных командах. Для устранения этого недостатка при сложении чисел с одинаковыми знаками могут использоваться модифицированные обратный и дополнительный коды. В них для представления числа используют два одинаковых знаковых раз­ряда 00.(+) или 11.(-). Если после сложения по тем же правилам в знаковых разрядах окажется 00. или 11., то результат правильный, соответственно, положительный или отрицательный, а если 10. или 01., то необходимо фиксировать переполнение разрядной сетки. Эти результаты при сложе­нии в модифицированном дополнительном коде можно пояснить примерами

00.111110

11.110011

00.000111

00.100010

01.000101

(ПП)

1

00.010101

(нет ПП).

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

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

Ч

пр

пр

пр

пр

аще всего для исключения потери старших разрядов из-за переполнения разрядной сетки умножение выполняют в прямых кодах с числами, представленными с фиксированной запятой перед старшим разрядом (с отрицательными индексами). Для чисел [Х]пр = x3. x-1,...,x-n, [Y]пр = y3. y-1, ..., y-n ([Х]пр , [Y]пр <1) требуется получить произведение

[

пр

пр

пр

Z]пр = [Х]п р [Y]пр = z3. z-1 , z-2, ... z-n.

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

Операция выполняется в два этапа. Отдельно определяется знак произведения z3 с учетом знаков сомножителей x3 и y3 в соответствии с выражением:

z3 = x3 y3.

Затем определяется цифровая часть произведения мантисс сомножителей. С этой целью процесс умножения можно представить в следующем виде

Z = ХY = Х (y1 2-1 + y2 2-2 + ...+ y(n-1) 2-n+1+ y(n) 2-n) =

(1)

= Х 2-1 y1 + Х 2-2 y2 + ... + Х 2-n+1 y(n-1) + X 2-n y(n).

Это выражение после преобразования можно представить в виде:

Z = ((...(( 0 + Xy(n) ) 2-1 + Xy(n-1) ) 2-1 +... + Xy2) 2-1 + Xy1) 2-1

(2)

Полученные выражения (1, 2) являются аналитическими записями двух основных способов умножения: со старших разрядов множителя (1) и младших разрядов множителя (2).

Согласно выражению (2) при умножении с младших разрядов должна выполняться следующая последовательность микроопераций:

- анализируется младшая цифра множителя. Если yn = 1, то множимое Х участвует в формировании цифровой части произведения; если yn = 0, то Х не участвует в формировании произведения;

- полученное первое частичное произведение, равное 0+Xyn, сдвигается на один разряд вправо, то есть умножается на 2-1. Указанная последовательность действий справедлива при умножении на все последующие разряды. Так, при умножении на разряд y(n-1):

- анализируется цифра множителя yn-1. Если yn-1 = 1, то множимое прибавляется к сдвинутому первому частичному произведению, т.е. A2 = (0 + Xyn) 2-1 + X 1. Если yn-1=0, то множимое не участвует в формировании произведения, т.е.

A2 = (0 + Xyn)·2-1 + X 0.

Полученное второе частичное произведение сдвигается на один разряд вправо. Указанную процедуру умножения можно описать следующей рекуррентной формулой:

A(i) = A(i-1) · 2-1 + y(n+1-i) · Х

(3)

Для выполнения умножения необходимо повторить n тактов (i=1,2,..,n) в соответствии с формулой (3) и в заключение осуществить последний n-й сдвиг A(n)2-1 = XY = Z. Отметим, что при перемножении n-разрядных чисел получается 2n-разрядное произведение (n старших разрядов и n младших). При этом получение только n старших разрядов произведения или всех 2n разрядов обеспечивается суммированием в n-разрядном сумматоре. Время умножения равно:

Тх = (tSM+ tСД) · n, где tSM - время суммирования; tСД - время сдвига.

Согласно выражению (1) умножение со старших разрядов множителя должно выполняться в следующей последовательности:

- множимое сдвигается на 1 разряд вправо, т.е. X·2-1;

- анализируется старшая цифра множителя y1. Если y1 = 1, то X·2-1 участвует в формировании произведения, при y1 = 0, X·2-1 - не участвует в формировании произведения.

Выполнение такой последовательности соответствует умножению на старший разряд множителя и справедливо при умножении на все последующие разряды. Так, при умножении на второй разряд:

- производится второй сдвиг множимого, т.е. (X·2-1)·2-1;

- анализируется значение y2 и осуществляется или не осуществляется передача X·2-1 на суммирование.

Процесс умножения повторяется до просмотра всех y(i), i = 1,2,...,n.