WWW.KNIGA.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА - Книги, пособия, учебники, издания, публикации

 

Pages:   || 2 |

«ОРГАНИЗАЦИЯ ЭВМ И СИСТЕМ ОДНОПРОЦЕССОРНЫЕ ЭВМ ЧАСТЬ 1 Федеральное агентство по образованию ГОУ ВПО Уральский государственный технический университет-УПИ И.В. Хмелевский, ...»

-- [ Страница 1 ] --

И.В. Хмелевский, В.П. Битюцкий

ОРГАНИЗАЦИЯ ЭВМ И СИСТЕМ

ОДНОПРОЦЕССОРНЫЕ ЭВМ

ЧАСТЬ 1

Федеральное агентство по образованию

ГОУ ВПО «Уральский государственный технический университет-УПИ»

И.В. Хмелевский, В.П. Битюцкий

ОРГАНИЗАЦИЯ ЭВМ И СИСТЕМ

ОДНОПРОЦЕССОРНЫЕ ЭВМ

ЧАСТЬ 1 Конспект лекций Издание второе, исправленное и дополненное Научный редактор проф., д-р техн.наук Л.Г. Доросинский Екатеринбург 2005 УДК 681.3 ББК 32.973.202я73 Х-6 Рецензенты:

кафедра информатики УГГУ (зав. кафедрой доц. канд.техн.наук А.В.Дружинин);

доц., канд. техн. наук Г.Б.Захарова (УрО РАН) Авторы: И.В.Хмелевский, В.П.Битюцкий Х-65 Организация ЭВМ и систем. Однопроцессорные ЭВМ. Часть 1.:

Конспект лекций / И.В. Хмелевский, В.П. Битюцкий. 2-е изд., испр. и допол. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2005. 87 с.

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

Конспект предназначен для студентов всех форм обучения направления 230100 – Информатика и вычислительная техника Табл. 11, Рис. 30.

Подготовлено кафедрой "Автоматика и информационные технологии".

УДК 681. ББК 32.973.202я ©ГОУ ВПО «Уральский государственный ISBN 5-321-00516- технический университет-УПИ», (испр. и доп.)

ОГЛАВЛЕНИЕ

1. ОБЩИЕ ВОПРОСЫ ИСТОРИИ РАЗВИТИЯ И ПОСТРОЕНИЯ ЭВМ..... 1.1. ДВА КЛАССА ЭВМ

1.2. НЕМНОГО ИСТОРИИ

1.3. ПРИНЦИПЫ ДЕЙСТВИЯ ЭВМ

1.4. ПОНЯТИЕ О СИСТЕМЕ ПРОГРАММНОГО (МАТЕМАТИЧЕСКОГО)

ОБЕСПЕЧЕНИЯ ЭВМ

1.5. ПОКОЛЕНИЯ ЭВМ

1.6. БОЛЬШИЕ ЭВМ ОБЩЕГО НАЗНАЧЕНИЯ

1.6.1. КАНАЛЫ

1.6.2. ИНТЕРФЕЙС

1.7. МАЛЫЕ ЭВМ

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ




2. ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В ЭВМ

2.1. ПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ

2.2. ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ

2.2.1. ПРЕОБРАЗОВАНИЕ ДВОИЧНЫХ ЧИСЕЛ В ДЕСЯТИЧНЫЕ

2.2.2. ПРЕОБРАЗОВАНИЕ ДЕСЯТИЧНЫХ ЧИСЕЛ В ДВОИЧНЫЕ

2.2.3. ДВОИЧНО-ДЕСЯТИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ

2.3. ВОСЬМЕРИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ

2.4. ШЕСТНАДЦАТЕРИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ

2.5. ДВОИЧНАЯ АРИФМЕТИКА

2.5.1. СЛОЖЕНИЕ

2.5.2. ВЫЧИТАНИЕ

2.5.3. УМНОЖЕНИЕ

2.5.4. ДЕЛЕНИЕ

2.6. ПРЯМОЙ, ОБРАТНЫЙ И ДОПОЛНИТЕЛЬНЫЙ КОДЫ

2.6.1. ПРЯМОЙ КОД

2.6.2. ОБРАТНЫЙ КОД

2.6.3. ДОПОЛНИТЕЛЬНЫЙ КОД

2.6.4. СЛОЖЕНИЕ И ВЫЧИТАНИЕ В ДОПОЛНИТЕЛЬНОМ КОДЕ

2.6.5. ПРИЗНАК ПЕРЕПОЛНЕНИЯ РАЗРЯДНОЙ СЕТКИ

2.6.6. ДЕЛЕНИЕ В ДОПОЛНИТЕЛЬНОМ КОДЕ

2.6.7. ПРАВИЛО ПЕРЕВОДА ИЗ ДОПОЛНИТЕЛЬНОГО КОДА В ДЕСЯТИЧНУЮ СИСТЕМУ

2.6.8. МОДИФИЦИРОВАННЫЕ КОДЫ

2.6.9. АРИФМЕТИКА ПОВЫШЕННОЙ ТОЧНОСТИ

2.7. ПРЕДСТАВЛЕНИЕ ДРОБНЫХ ЧИСЕЛ В ЭВМ. ЧИСЛА С ФИКСИРОВАННОЙ И ПЛАВАЮЩЕЙ ЗАПЯТОЙ

2.7.1. ЧИСЛА С ФИКСИРОВАННОЙ ЗАПЯТОЙ

2.7.2. ЧИСЛА С ПЛАВАЮЩЕЙ ЗАПЯТОЙ

2.7.3. СЛОЖЕНИЕ (ВЫЧИТАНИЕ) ЧПЗ

2.7.4. УМНОЖЕНИЕ ЧПЗ

2.7.5. МЕТОДЫ УСКОРЕНИЯ УМНОЖЕНИЯ

2.7.6. ДЕЛЕНИЕ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ

2.8. ДЕСЯТИЧНАЯ АРИФМЕТИКА

2.8.1. СЛОЖЕНИЕ ДВОИЧНО-ДЕСЯТИЧНЫХ ЧИСЕЛ

2.8.2. ВЫЧИТАНИЕ МОДУЛЕЙ ДВОИЧНО-ДЕСЯТИЧНЫХ ЧИСЕЛ.................. 2.8.3. УМНОЖЕНИЕ МОДУЛЕЙ ДВОИЧНО-ДЕСЯТИЧНЫХ ЧИСЕЛ................. 2.8.4. ДЕЛЕНИЕ МОДУЛЕЙ ДВОИЧНО-ДЕСЯТИЧНЫХ ЧИСЕЛ

2.9. НАРУШЕНИЕ ОГРАНИЧЕНИЙ ЭВМ

2.10. ПРЕДСТАВЛЕНИЕ БУКВЕННО-ЦИФРОВОЙ ИНФОРМАЦИИ

2.11. ЗАКЛЮЧИТЕЛЬНЫЕ ЗАМЕЧАНИЯ

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

КОНТРОЛЬНЫЕ ЗАДАНИЯ К ГЛАВЕ 2

ФОРМА 1. ОТВЕТЫ НА ВОПРОСЫ

ФОРМА 2. ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ НАД ЧИСЛАМИ

ПРИМЕР ВЫПОЛНЕНИЯ КОНТРОЛЬНОГО ЗАДАНИЯ (ФОРМА 2).................. 3. ПРИНЦИПЫ ПОСТРОЕНИЯ ЭЛЕМЕНТАРНОГО ПРОЦЕССОРА...... 3.1. ОПЕРАЦИОННЫЕ УСТРОЙСТВА (АЛУ)

3.2. УПРАВЛЯЮЩИЕ УСТРОЙСТВА

3.2.1. УУ С ЖЕСТКОЙ ЛОГИКОЙ

3.2.2. УУ С ХРАНИМОЙ В ПАМЯТИ ЛОГИКОЙ

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

КОНТРОЛЬНЫЕ ЗАДАНИЯ К ГЛАВЕ 3

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

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





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

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

- пользовательский (т.е. ЭВМ является инструментом решения прикладных задач);

- программный (т.е. ЭВМ является объектом системного программирования);

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

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

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

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

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

• данные переписи населения;

• данные для диспетчера аэропорта о перемещении самолетов в воздухе;

• данные о толщине прокатываемого листа.

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

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

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

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

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

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

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

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

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

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

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

Подобные устройства встречаются в разных вариантах в различных странах древнего мира.

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

Первые эскизы счетной машины создал Леонардо да Винчи (около 1500 года).

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

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

В 1834 году Ч. Бэббидж разработал проект счетной машины, позволяющей реализовать вычисления любой сложности. Машина была задумана как механическая. Но Ч. Бэббиджа можно назвать пророком, поскольку его "аналитическая" машина стала прообразом ЭВМ, появившейся 100 лет спустя. Его машина содержала механический эквивалент практически всех основных устройств простейшей ЭВМ:

память ("склад" на 1000 чисел по 50 десятичных знаков), арифметическое устройство ("мельница"), устройство управления, устройства ввода и вывода информации.

Последовательность выполнения операций и пересылки чисел между устройствами задавалась программой на перфокартах Жаккарда (1804), которые использовались для управления работой ткацких станков. Кроме того, в машине Бэббиджа предусматривалась возможность изменения программы в зависимости от результата вычислений. Говоря современным языком, имелись команды условных переходов. Интересно отметить, что Бэббидж изобрел наиболее эффективный способ сложения чисел – сложение по схеме со сквозным переносом. Эту машину Бэббидж строил всю оставшуюся жизнь (до 1871 года), но создал только ее отдельные узлы. В то же время (50-е годы прошлого столетия) благодаря трудам английского математика Ады Лавлейс зародилось машинное программирование. Ада Лавлейс пыталась написать программы к еще не созданной счетной машине Бэббиджа.

В конце XIX –начале XX века начали появляться электромеханические счетноаналитические машины для выполнения расчетно-бухгалтерских и статистических операций. Сильным толчком к развитию таких устройств стал конкурс, объявленный в США при проведении переписи 1888 года. В нем победил табулятор Холлерита, который явился родоначальником целого семейства электронно-механических машин для обработки статистических данных. В 1898 году Холлерит организовал фирму, которая поставляла такие машины всему миру. Эти машины непрерывно совершенствовались: в 1913 году создан табулятор, печатающий результаты; в 1921 году к нему добавлена коммутационная доска, на которой хранилась программа обработки данных, считываемых с различных позиций перфокарты.

Первые вычислительные машины в современном смысле появились в конце 30-х – начале 40-х годов. В 1936 -1937 году К. Цузе (Германия) спроектировал машину с программным управлением. В 1941 году она была создана (машина на электромагнитных реле). Это первая в мире ЭВМ с программным управлением. Программа наносилась на перфоленту и целиком вводилась в машину. После этого оператор уже не мог влиять на последовательность выполнения команд программы. Поскольку перфолента двигалась в одну сторону, все циклы записывались в развернутом виде, т.е. в виде последовательности групп команд.

В 1937 году Г. Айкин (США) разработал проект электромеханической универсальной ЭВМ с программным управлением. Она была построена в 1944 году фирмой IBM и названа "Марк-1". В 1947 году под руководством Айкина построена более мощная машина "Марк-2". В ней для хранения чисел и выполнения операций использовано 16000 электромеханических реле. В этот период был разработан целый ряд подобных релейных вычислительных машин, одна из которых практически полностью повторяла "аналитическую" машину Бебиджа.

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

В этот же период начали появляться машины, построенные на электронных лампах, причем первоначально лампы стали использоваться в простейших счетчиках импульсов. На них строились схемы с двумя устойчивыми состояниями, впоследствии названные триггерами (впервые подобная схема была разработана в 1918 году Бонч-Бруевичем). Исследуя свойства триггеров, американские ученые Дж. Моучли и Д. Эккер пришли к выводу о целесообразности использования в вычислительных машинах вместо электромеханических реле ламповых триггеров. В 1946 году под их руководством построена вычислительная машина "ЭНИАК" для баллистических расчетов. Она содержала 18000 электронных ламп и 1500 реле. Использование электронных ламп позволило резко (на два порядка) повысить скорость выполнения операций.

Анализируя работу этой машины, математик Дж. Нейман сформулировал основные концепции организации ЭВМ. В соответствии с этими концепциями началась разработка ЭВМ "ЭДВАК" – прообраза современных ЭВМ. Она была построена в 1950 году. А в 1949 году в Англии была введена в эксплуатацию первая в мире ЭВМ с хранимой в памяти программой – "ЭДСАК", созданная под руководством М. Уилкса.

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

На этом закончим рассмотрение истории развития вычислительных машин и перейдем к принципам действия ЭВМ.

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

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

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

Программа, Рассмотрим основные функции устройств, входящих в состав неймановской модели ЭВМ.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Часть свойств ЭВМ приобретает благодаря наличию в ней электронного и электромеханического оборудования, специально предназначенного для реализации этих свойств. Примером такого устройства является АЛУ.

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

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

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

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

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

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

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

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

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

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

ОС в большинстве случаев являются универсальными и не учитывают особенности конкретных аппаратных средств. В современных ЭВМ для адаптации универсальной ОС к конкретным аппаратным средствам используют аппаратноориентированную часть операционной системы, которая в персональных компьютерах называется BIOS (Basic Input / Output System – базовая система ввода/вывода).

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

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

Процедурно-ориентированный – это язык, ориентированный на выполнение общих процедур переработки данных (Фортран, Паскаль, Бейсик и т.д.).

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

Ассемблер – это язык более высокого уровня, использующий мнемокоды (т.е.

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

Язык ОС – это язык, на котором оператор может выдавать директивы ОС, вмешиваться в ход вычислительного процесса.

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

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

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

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

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

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

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

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

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

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

Возросли также быстродействие (приблизительно 500 тысяч оп/с) и объем оперативной памяти (16-32К слов). Это сразу расширило круг пользователей, а следовательно, и решаемых задач. Появились языки высокого уровня (Фортран, Алгол, Кобол) и соответствующие им трансляторы. Были разработаны служебные программы для автоматизации профилактики и контроля работы ЭВМ, а также для лучшего распределения ресурсов при решении пользовательских задач. (Задача экономии времени процессора и ОП осталась, как и в первом поколении).

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

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

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

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

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

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

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

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

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

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

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

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

В 1976 г. была зарегистрирована компания Apple Comp (Стив Джекоб и Стефан Возняк), которая и начала серийный выпуск первых в мире персональных компьютеров "Макинтош".

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

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

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

Примером вычислительной системы 4-го поколения является многопроцессорный комплекс "Эльбрус-2" с суммарным быстродействием 100106 оп/с или вычислительная система ПС-2000, содержащая до 64 процессоров, управляемых общим потоком команд. При распараллеливании вычислительного процесса суммарная скорость достигает 200106 оп/с. Подобные суперЭВМ развивают максимальную производительность только при решении определенных типов задач (под которые они и строились). Это, прежде всего, задачи сплошных сред, связанные с аэродинамическими расчетами, прогнозами погоды, силовыми энергетическими полями и т.д. Производство суперЭВМ во всем мире составляет в настоящее время десятки штук в год, и строятся они, как правило, "под заказ".

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

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

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

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

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

На первых этапах внедрения ЭВМ в деятельность человека решаемые задачи, в основном, можно было разделить на два больших класса:

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

- планово-экономические расчеты, статистика носят совсем иной характер.

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

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

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

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

Для того чтобы понять радикальные отличия структуры первых микро- и миниЭВМ, появившихся в начале 70 годов, от структур основных типов ЭВМ, существовавших в то время – ЭВМ общего назначения, необходимо рассмотреть структуру типичных представителей этих ЭВМ (например, ЕС–ЭВМ), прототипами которых были машины IBM 360/370. Их быстродействие составляло от 200 тысяч оп/с (ЕС 1030) до 5000 тысяч оп/с (ЕС 1065) и более для старших моделей машин этого семейства.

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

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

УПУ УПУ

УПУ УПУ

УПУ УПУ

Сел. и БМ канал – селекторный и блок-мультиплексорпый канал;

ЦП – центральный процессор;

БТМ канал – байт-мультиплексорный канал Поскольку каналы предназначались для освобождения центрального процессора от вспомогательных операций, не связанных с вычислениями, они имели непосредственный доступ к ОП параллельно ЦП, естественно со своими приоритетами.

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

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

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

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

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

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

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

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

В заключение следует отметить, что все вышесказанное относится к серийно выпускаемым в свое время крупным ЭВМ общего назначения серии ЕС (IBM 360/370). Однако в этот же период были разработаны и серийно производились суперЭВМ типа Крэй1, Крэй2, Кибер-205, "Эльбрус", ПС-2000, и т.д. Их колоссальная производительность достигалась за счет уникальных структур аппаратного и программного обеспечения. Эти ЭВМ выпускались в незначительных количествах, как правило, под конкретный заказ. Более подробно о многопроцессорных ЭВМ речь пойдет в отдельном разделе данного курса.

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

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

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

Типичная структура такой микроЭВМ изображена на рис. 1.4.

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

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

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

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

1. Укажите, чем АВМ отличается от ЦВМ.

2. Назовите основные этапы эволюции ЭВМ.

3. Опишите классическую структуру ЭВМ по Нейману и укажите свойства каждого блока.

4. В чем заключается принцип оптимального соотношения аппаратных и программных средств при построении вычислительной техники?

5. Опишите способ обращения пользователя ЭВМ к ее аппаратным средствам.

6. Что нового появилось в каждом поколении по отношению к предыдущему.

7. Чем различается принцип построения малых ЭВМ и больших ЭВМ общего пользования?

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

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

Пример.:

• Десятичная система счисления – позиционная, • Римская система счисления – непозиционная.

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

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

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

Пример.

Для десятичной системы счисления (основание S = 10) имеем число 6321.564.

Веса разряда и коэффициенты для этого числа будут следующими:

В ЭВМ применяют двоичную, восьмеричную и шестнадцатеричную системы счисления. В дальнейшем систему счисления, в которой записано число, будем обозначать подстрочным индексом, заключенным в круглые скобки. Например: 1101(2), 369(10), BF(16) и т.д.

В двоичной системе счисления основание S = 2, т.е. используются всего два символа: 0 и 1. Двоичная система счисления проще десятичной. Однако двоичное изображение числа требует большего (для многоразрядного числа примерно в 3, раза) числа разрядов, чем его десятичное представление. Тем не менее применение двоичной системы создает большие удобства для проектирования ЭВМ, так как для представления в машине разряда двоичного числа может быть использован любой простой элемент, имеющий всего два устойчивых состояния. Также достоинством двоичной системы счисления является простота двоичной арифметики.

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

Вес каждого разряда в двоичной системе счисления кратен 2 или 1/2.

Пример.

Двоичное число – 101101(2).

Как и в десятичной, в двоичной системе счисления для отделения целой части от дробной используется точка. Значение веса разрядов справа от точки равно основанию двоичной системы (2), возведенному в отрицательную степень. Такие веса – это дроби вида: 1/2, 1/22, 1/23, 1/24, 1/25 или 1/2, 1/4, 1/8, 1/16. Их можно выразить через десятичные дроби: 2-1 = 0.5, 2-2 = 0.25, 2-3 = 0.125, 2-4 = 0,0625.

В общем случае двоичное число имеет целую и дробную части, например 1101101.10111.

Каждая позиция, занятая двоичной цифрой, называется битом. Бит является наименьшей единицей информации в ЭВМ. Наименьшим значащим битом (МЗР) называют самый младший двоичный разряд, а самым старшим двоичным разрядом – наибольший значащий бит (СЗР). В двоичном числе эти биты имеют соответственно наименьший и наибольший вес. Обычно двоичное число записывают так, что старший значащий бит является крайним слева.

2.2.1. Преобразование двоичных чисел в десятичные Для преобразования двоичных чисел в десятичные необходимо сложить десятичные веса всех разрядов двоичного числа, в которых содержатся единицы.

Пример.

Преобразовать целое двоичное число 11001100(2) в десятичное.

Преобразование вещественного двоичного числа 101.011(2) будет выглядеть следующим образом:

Если преобразуемое число большое, то операцию перевода удобнее делать отдельно для целой и дробной частей.

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

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

Проиллюстрируем преобразование на примере.

Пример.

Перевести целое десятичное число 10(10) в двоичное число.

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

Пример.

Десятичное число 57(10) преобразовать в двоичное число.

Для перевода дробных чисел (или дробных частей вещественных чисел) требуется другая процедура преобразования. Рассмотрим ее на примере.

Пример.

Десятичное число 0.375(10) преобразовать в двоичное число.

1. Умножим дробь на основание новой системы счисления S = 2: 2*0.375 = 0.75.

2. Если результат умножения меньше единицы, то СЗР присваивают значение 0. Если больше единицы, то присваивают значение 1. Поскольку 0.751, то 3. Результат предыдущей операции вновь умножаем на основание новой системы счисления 2. Если бы он был больше единицы, то в этой операции умножения участвовала бы только его дробная часть. В данном случае: 2*0.75=1.5.

4. Поскольку 1.51, то ближайшему разряду справа от СЗР присваивается значение один, а следующая операция умножения производится только над дробной частью числа 1.5, т.е. над числом 0.5: 2*0.5=1.

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

Таким образом, 0.375(10) = 0.011(2).

Если в результате умножения на основание новой системы счисления S = 2 результат не равен единице, операцию останавливают при достижении необходимой точности, а целую часть результата последней операции умножения используют в качестве значения МЗР.

Пример.

Десятичное число 0.34375(10) преобразовать в двоичное число.

Таким образом, 0.34375(10) = 0.01011(2).

Пример.

Десятичное число 0.3(10) преобразовать в двоичное число.

Далее будут следовать повторяющиеся группы операций и результатов, поэтому ограничимся восемью разрядами, т.е. 0.3(10) = 0.01001100(2).

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

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

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

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

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

Пример.

Записать десятичное число 572.38(10) в двоично-десятичной системе счисления.

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

Пример.

Записать двоично-десятичное число 10010.010101(2-10) в десятичной системе счисления.

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

В восьмеричной системе счисления употребляются всего восемь цифр, т.е. эта система счисления имеет основание S = 8. В общем виде восьмеричное число выглядит следующим образом:

Восьмеричная система счисления не нужна ЭВМ в отличие от двоичной системы. Она удобна как компактная форма записи чисел и используется программистами (например, в текстах программ для более краткой и удобной записи двоичных кодов команд, адресов и операндов). В восьмеричной системе счисления вес каждого разряда кратен восьми или одной восьмой, поэтому восьмиразрядное двоичное число позволяет выразить десятичные величины в пределах 0-255, а восьмеричное охватывает диапазон 0-99999999 (для двоичной это составляет 27 разрядов).

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

Пример.

Двоичное число 10101011111101(2) записать в восьмеричной системе счисления.

Пример.

Двоичное число 1011.0101(2) записать в восьмеричной системе счисления.

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

2.4. Шестнадцатеричная система счисления Эта система счисления имеет основание S = 16. В общем виде шестнадцатеричное число выглядит следующим образом:

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

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

Пример.

Двоичное число 10101011111101(2) записать в шестнадцатеричной системе.

Пример.

Двоичное число 11101.01111(2) записать в шестнадцатеричной системе.

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

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

Кроме того, следует помнить, что шестнадцатеричные и восьмеричные числа – это только способ представления больших двоичных чисел, которыми фактически оперирует процессор. При этом шестнадцатеричная система оказывается предпочтительнее, поскольку в современных ЭВМ процессоры манипулируют словами длиной 4, 8, 16, 32 или 64 бита, т.е. длиной слов, кратной 4. В восьмеричной же системе счисления предпочтительны слова, кратные 3 битам, например слова длиной 12 бит (как в PDP-8 фирмы DEC).

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

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

Как и в десятичной системе счисления, сложение двоичных чисел начинается с правых (младших) разрядов. Если результат сложения цифр МЗР обоих слагаемых не помещается в этом же разряде результата, то происходит перенос. Цифра, переносимая в соседний разряд слева, добавляется к его содержимому. Такая операция выполняется над всеми разрядами слагаемых от МЗР до СЗР.

Пример.

Сложить два числа в десятичном и двоичном представлении (формат – 1 байт).

Операция получается громоздкая со многими переносами, но удобная для ЭВМ.

Операция вычитания двоичных чисел аналогична операции в десятичной системе счисления. Операция вычитания начинается, как и сложение, с МЗР. Если содержимое разряда уменьшаемого меньше содержимого одноименного разряда вычитаемого, то происходит заем 1 из соседнего старшего разряда. Операция повторяется над всеми разрядами операндов от МЗР до СЗР.

Поясним это примером.

Пример.

Вычесть два числа в десятичном и двоичном представлении (формат – 1 байт).

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

Как и в десятичной системе счисления, операция перемножения двоичных многоразрядных чисел производится путем образования частичных произведений и последующего их суммирования. Частичные произведения формируются в результате умножения множимого на каждый разряд множителя, начиная с МЗР. Каждое частичное произведение смещено относительно предыдущего на один разряд. Поскольку умножение идет в двоичной системе счисления, каждое частичное произведение равно либо 0 (если в соответствующем разряде множителя стоит 0), либо является копией множимого, смещенного на соответствующее число разрядов влево (если в разряде множителя стоит 1). Поэтому умножение двоичных чисел идет путем сдвига и сложения. Таким образом, количество частичных произведений определяется количеством единиц в множителе, а их сдвиг – положением единиц (МЗР частичного произведения совпадает с положением соответствующей единицы в множителе). Положение точки в дробном числе определяется так же, как и при умножении десятичных чисел.

Пример.

Вычислить произведение 17(10)*12(10) в двоичной форме.

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

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

Рассмотрим на примере два машинных варианта выполнения умножения целых чисел: начиная со старшего частичного произведения (“старшими разрядами вперед”) и начиная с младшего частичного произведения (“младшими разрядами вперед”).

Пример.

Найти произведение двух чисел X*Y=1101(2)*1011(2)=13(10)*11(10)= 143(10).

Обозначим Pi – i-е частичное произведение.

1. Умножение старшими разрядами вперед:

2. Умножение младшими разрядами вперед:

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

Пример.

Вычислить 204(10) /12(10) в двоичном коде.

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

Пример.

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

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

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

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

Это обычный двоичный код, рассмотренный в разделе двоичной системы счисления. Если двоичное число является положительным, то бит знака равен 0, если двоичное число отрицательное, то бит знака равен 1. Цифровые разряды прямого кода содержат модуль представляемого числа, что обеспечивает наглядность представления чисел в прямом коде (ПК).

Рассмотрим однобайтовое представление двоичного числа. Пусть это будет 28(10). В двоичном формате – 0011100(2) (при однобайтовом формате под величину числа отведено 7 разрядов). Двоичное число со знаком будет выглядеть так, как показано на рис. 2.1.

Рис. 2.1. Формат двоичного числа со знаком в прямом коде:

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

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

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

На рис. 2.2 приведен формат однобайтового двоичного числа в обратном коде.

Рис. 2.2. Формат двоичного числа со знаком в обратном коде:

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

Алгоритм формирования ОК очень прост, при этом ОК позволяет унифицировать операции сложения и вычитания в АЛУ, которые в прямом коде выполняются по-разному. Однако работа с ОК вызывает ряд трудностей. В частности, возникают два нуля: +0 и -0, т.е. в прямом коде (в котором представлены положительные числа) имеет место (+0) = 000...0, а в обратном коде (в котором представлены отрицательные числа): (-0) = 111...1.

Кроме того, в операциях сложения и вычитания требуется дополнительная операция по прибавлению бита переноса в младший разряд суммы. Рассмотрим правила алгебраического сложения в ОК (поскольку А-В=А+(-В)). Алгоритм сложения в ОК содержит:

• сложение кодов, включая знаковый разряд;

• прибавление переноса к МЗР (младшему значащему разряду) суммы.

Пример.

Вычислить выражение -3(10) -2(10).

Пример.

Вычислить 7(10)-3(10).

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

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

ОК ДК ДК

ОК ДК ДК

Рис. 2.3. Два варианта преобразования чисел из ПК в ДК и обратно Пример.

Число -5(10) перевести в ДК и обратно (первый вариант).

Пример.

Число -5(10) перевести в ДК и обратно (второй вариант).

Использование ДК для представления отрицательных чисел устраняет двусмысленное представление нулевого результата (наличие двух нулей: +0 и -0), так как -0 исчезает.

В общем случае использованием ДК для записи отрицательных чисел можно перекрыть диапазон десятичных чисел от -2k-1 до +2k-1-1, где k – число используемых двоичных разрядов, включая знаковый. Так, с помощью одного байта можно представить десятичные числа от -128 до +127 либо только положительные числа от 0 до 255 (здесь под положительными числами понимаются числа без знака). В табл.2. приведены 4-разрядные двоичные числа от 0000 до 1111 и десятичные числа для представления их со знаком и без знака. Из этой таблицы следует, что в формате 4разрядного двоичного числа могут быть представлены десятичные числа со знаком в диапазоне от -8 до +7 или десятичные числа без знака в диапазоне от 0 до +15.

Оба способа представления чисел широко используются в ЭВМ.

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

Пример.

Число -44(10) (10101100 (2)) перевести в ДК и обратно.

Пример.

Перевести в ДК модуль числа -44.

Видно, что результаты преобразований обоими методами совпадают.

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

а – положительное число; б – отрицательное число Общее правило. При алгебраическом сложении двух двоичных чисел, представленных обратным (или дополнительным) кодом, производится арифметическое суммирование этих кодов, включая разряды знаков. При возникновении переноса из разряда знака единица переноса прибавляется к МЗР суммы кодов при использовании ОК и отбрасывается при использовании ДК. В результате получается алгебраическая сумма в обратном (или дополнительном) коде.

Рассмотрим подробнее алгебраическое сложение для случая представления отрицательных чисел в ДК.

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

• знаковый разряд равен нулю: результат – положительное число в ПК;

• знаковый разряд равен единице: результат – отрицательное число в ДК.

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

Пример.

Вычислить алгебраическую сумму 58-23.

-28(10) 1001 0111(2) - ПКЧисло отрицательное - необходимо перевести в ДК (быстрый Пример.

Вычислить алгебраическую сумму 26-34.

.Вычислим результат, преобразовав его из ДК в ПК :

1000 0111 Инверсия всех разрядов, кроме знакового Пример.

Вычислить алгебраическую сумму -5-1.

Запишем результат, преобразовав его из ДК в ПК:

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

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

При положительном переполнении результат операции положительный, а при отрицательном переполнении – отрицательный.

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

Рассмотрим простейшие примеры с трехбитовыми словами. Диапазон чисел, которые они представляют, равен от -4 до +3. В рассматриваемых словах 1 бит знака и 2 информационных бита.

1. Алгебраическое суммирование без переноса.

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

Результат – положительное число в ПК, равное 3.

2. Алгебраическое суммирование с двумя переносами.

Имеются переносы в знаковый разряд и из знакового разряда вычисляемой суммы, поэтому переполнения нет.

Результат – отрицательное число в ДК, равное -4.

3. Алгебраическое суммирование с одним переносом.

(Положительное переполнение).

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

Число 4 нельзя представить в прямом коде. Формальный результат равен -4.

4. Алгебраическое суммирование с одним переносом.

(Отрицательное переполнение).

Число -5 нельзя представить 3-битовой комбинацией. Формальный результат равен +3.

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

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

2.6.7. Правило перевода из дополнительного кода в десятичную систему Перевод чисел из дополнительного кода в десятичную систему можно проводить по схеме, приведенной на рис. 2.5.

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

Рис. 2.5. Схема перевода из ДК в десятичную систему Рассмотрим машинное слово произвольной длины (рис. 2.6). При прямом способе перевода десятичное число со знаком формируется как сумма разрядов со своими весами и знаками (старший N-й разряд имеет отрицательный вес).

Проиллюстрируем перевод чисел из ДК в десятичную систему примерами.

Пример.

Перевести число 1110 из ДК в десятичную систему.

Проверим правильность перевода, используя промежуточный перевод в ПК:

Пример.

Перевести число 101100 из ДК в десятичную систему.

Проверим:

Эти коды отличаются от прямого, обратного и дополнительного кодов тем, что на изображение знака отводится два разряда: если число положительное – 00, если число отрицательное – 11. Такие коды оказались удобны (с точки зрения построения АЛУ) для выявления переполнения разрядной сетки. Если знаковые разряды результата принимают значение 00 и 11, то переполнения разрядной сетки не было, а если 01 или 10 – то было переполнение. Вернемся к примерам в п. 2.6.5.

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

Проблема точности возникает, как правило, при работе с микро- и миниЭВМ, имеющих небольшую длину машинного слова (1-2 байта). Рассмотрим микропроцессор, работающий со словами длины 1 байт. Этот формат позволяет представить целые числа в диапазоне от -128 до 127. Очевидно, что для решения большинства задач такого диапазона чисел недостаточно. Использование двух однобайтовых слов (16 бит) позволяет представить уже числа в диапазоне от -32768 до 32767. Это так называемые числа с двойной точностью. Иногда используются числа тройной точности (1 бит – знак и 23 бита для модуля числа). Это обеспечивает диапазон уже от -8388608 до 8388607, т.е. точность существенно повышается.

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

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



Pages:   || 2 |
Похожие работы:

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное образовательное учреждение высшего профессионального образования КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ УТВЕРЖДАЮ Декан факультета прикладной информатики профессор _ С.А. Курносов 29 06 2012 г. РАБОЧАЯ ПРОГРАММА дисциплины: Информационная безопасность и защита информации для специальности 230201.65 - Информационные системы технологии Факультет Прикладной информатики Ведущая кафедра Компьютерных технологий...»

«ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР ПО ГИДРОМЕТЕОРОЛОГИИ МОЛДАВСКОЕ РЕСПУБЛИКАНСКОЕ УПРАВЛЕНИЕ ПО ГИДРОМЕТЕОРОЛОГИИ Научно-прикладной справочник по климату СССР Серия 3 МНОГОЛЕТНИЕ ДАННЫ Е Части 1— 6 Выпуск 11 Молдавская ССР Л ен и н град Гидрометеоиздат 1990 УДК 551.582(083) (478.9) Справочник состоит из шести частей. В них содержатся следующие климатические характеристики: солнечная радиация и солнечное сияние (часть 1), температура воздуха, и почвы (часть 2), ветер и атмосферное давление (часть 3),...»

«Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования САМАРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПРИКАЗ 19 октября 2009 г. городской округ Самара № 568-01-6 Об обеспечении защиты персональных данных В целях обеспечения защиты персональных данных и выполнения требований Федерального закона О персональных данных ПРИКАЗЫВАЮ 1. Утвердить Положение об организации работы с персональными данными работников и обучающихся в Самарском...»

«Согласовано Утверждаю Директор Федерального государственного Ректор ГОУ ВПО научного учреждения Государственный Кемеровский Государственный научно-исследовательский институт Университет информационных образовательных технологий (ГосИнформОбр) И.А. Свиридова В.П.Кулагин Утверждаю Начальник управления программ развития в сфере образования _ А.В.Карпов ОТЧЕТ О ДЕЯТЕЛЬНОСТИ КЕМЕРОВСКОГО ОБЛАСТНОГО ЦЕНТРА НИТ за 2007 год Руководитель ОЦ НИТ д. ф.-м. н. _К.Е. Афанасьев Кемерово, Кемеровский ОЦ НИТ....»

«В каком виде существует информация? Информация может существовать в виде: текстов, рисунков, чертежей, фотографий; • световых или звуковых сигналов; • радиоволн; • электрических и нервных импульсов; • магнитных записей; • жестов и мимики; • запахов и вкусовых ощущений; • хромосом, посредством которых передаются по наследству признаки и свойства • организмов и т.д. Предметы, процессы, явления материального или нематериального свойства, рассматриваемые с точки зрения их информационных свойств,...»

«1 В. А. АБЧУК ЗАСЛУЖЕННЫЙ ДЕЯТЕЛЬ НАУКИ РОССИИ ПРОФЕССОР МЕНЕДЖМЕНТ Учебник САНКТ-ПЕТЕРБУРГ Издательство Союз 2002 ББК 65.9(2) А17 Абчук В. А. Менеджмент: Учебник. – СПб.: Издательство Союз, 2002. – 463 с. – А17 (Серия Высшая школа). ISBN 5-94033-122-Х Учебник соответствует государственному стандарту для высшего профессионального образования и содержит необходимый объем сведений по направлению Менеджмент. Главной целью учебника является раскрытие содержания современного менеджмента,...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ МОСКОВСКОЙ ОБЛАСТИ АКАДЕМИЯ СОЦИАЛЬНОГО УПРАВЛЕНИЯ АНАЛИЗ РЕЗУЛЬТАТОВ ЕДИНОГО ГОСУДАРСТВЕННОГО ЭКЗАМЕНА ПО ПРЕДМЕТАМ ПО ВЫБОРУ НА ТЕРРИТОРИИ МОСКОВСКОЙ ОБЛАСТИ В 2013 ГОДУ Сборник методических материалов АСОУ 2013 Анализ результатов единого государственного экзамена по предметам по выбору на территории Московской области в 2013 г.: Сборник методических материалов. – М.: АСОУ, 2013. – 178 с. Сборник содержит анализ результатов единого государственного экзамена 2013 г. на...»

«2 Программа разработана на основе ФГОС высшего образования по программе бакалавриата 02.03.03 Математическое обеспечение и администрирование информационных систем. Руководитель программы Информационные технологии (очная форма обучения): Артемов Михаил Анатольевич, д.ф.-м.н., зав. кафедрой ПО и АИС. Описание программы: Целью программы является подготовка высококвалифицированных специалистов в области проблем современной информатики, математического обеспечения и информационных технологий;...»

«НООСФЕРНЫЙ ИМПЕРАТИВ ЭКОЛОГИЧЕСКОГО ОБРАЗОВАНИЯ И ВОСПИТАНИЯ Профессор Сергиенко Любовь Ивановна, доктор сельскохозяйственных наук, Волжский гуманитарный институт Волгоградского госуниверситета Подколзин Михаил Михайлович, кандидат сельскохозяйственных наук, доцент кафедры гражданско-правовых дисциплин Волжского филиала Московского юридического института Я хотел бы вернуться к замечательной мысли К. Маркса о том, что однажды наступит время, когда различные науки начнут сливаться в единую науку...»

«Министерство образования и науки РФ федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Тобольская государственная социально-педагогическая академия им. Д.И. Менделеева Физико-математический факультет Кафедра информатики, теории и методики обучения информатики УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ПО ДИСЦИПЛИНЕ МЕТОДЫ ВЫЧИСЛЕНИЙ Направление 010200.62 – Математика. Прикладная математика Степень (квалификация) – бакалавр математики Составитель: к.п.н.,...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Амурский государственный университет Кафедра общей математики и информатики УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ СОВРЕМЕННЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В СОЦИАЛЬНЫХ НАУКАХ Основной образовательной программы по направлению подготовки 040100.62 – Социология Благовещенск 2012 УМКД разработан доцентом, канд. пед. наук Чалкиной Натальей...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ГЕОЛОГО-ГЕОФИЗИЧЕСКИЙ ФАКУЛЬТЕТ А. К. Манштейн МАЛОГЛУБИННАЯ ГЕОФИЗИКА Пособие по спецкурсу Новосибирск 2002 3 ВВЕДЕНИЕ В пособии представлены основные и широко распространенные геофизические методы изучения подповерхностной части земной коры, объединенные единой целью – возможностью применения их при решении инженерных и археологических проблем. Дано определение, обоснованы типовые задачи и цели нового...»

«ББК 32.81я721 И74 Рекомендовано Министерством образования и науки Украины (приказ МОН Украины № 56 от 02.02.2009 г.) Перевод с украинского И.Я. Ривкинда, Т.И. Лысенко, Л.А. Черниковой, В.В. Шакотько Ответственные за подготовку к изданию: Прокопенко Н.С. - главный специалист МОН Украины; Проценко Т.Г. - начальник отдела Института инновационных технологий и содержания образования. Независимые эксперты: Ляшко С.И. - доктор физ.-мат. наук, профессор, член-корреспондент НАН Украины, заместитель...»

«МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. Р.Е. Алексеева (НГТУ) РЕФЕРАТ по истории и философии науки аспиранта, соискателя Пиманкина Дениса Андреевича (нужное подчеркнуть) (фамилия, имя, отчество) Факультет Факультет подготовки специалистов высшей квалификации Кафедра Компьютерные технологии в проектировании и производстве Специальность 05.13.17 Теоретические...»

«ЭКОНОМИКА УДК 338:502.3 В.Н. Чупис, доктор физико-математических наук, АНО Научноисследовательский институт промышленной экологии, г. Саратов e-mail: v.chupis2112@yandex.ru А.Н. Маликов, кандидат экономических наук, профессор Саратовского института (филиала) РГТЭУ email: filsaratov@rsute.ru В.В. Мартынов, доктор технических наук, профессор Саратовского государственного технического университета им. Гагарина Ю.А. e-mail: filsaratov@rsute.ru П.Л. Бахрах, старший научный сотрудник АНО...»

«Бiологiчний вiсник 64 УДК 631.618:633.2.031 А. В. Жуков, Г. А. Задорожная, Е. В. Андрусевич ОПТИМАЛЬНАЯ СТРАТЕГИЯ ОТБОРА ПОЧВЕННЫХ ОБРАЗЦОВ НА ОСНОВАНИИ ДАННЫХ ОБ ЭЛЕКТРИЧЕСКОЙ ПРОВОДИМОСТИ ТЕХНОЗЕМОВ Днепропетровский государственный аграрный университет Показана возможность оценки пространственной изменчивости эдафических свойств техноземов методом кригинга по 20 точкам, положение которых установлено по алгоритму spatial response surface sampling (SRSS) на основании данных электропроводности...»

«ЭРЖАНОВ МАКСУД ОТАБАЕВИЧ РАЗРАБОТКА АЛГОРИТМОВ И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ПОСТРОЕНИИ ГЕОМЕТРИЧЕСКИЕ ФРАКТАЛОВ НА БАЗЕ R-ФУНКЦИИ Специальность: 5А521902 – Управление и обработка информации. ДИССЕРТАЦИЯ На соискание академической степени магистра Работа рассмотрена Научный руководитель и допускается к защите проф., д.ф.-м.н. Назиров Ш.А. зав. кафедрой ИТ _ Джайлавов А.А. _ _ _ 2012г....»

«http://tdem.info http://tdem.info АКЦИОНЕРНАЯ КОМПАНИЯ АЛРОСА Ботуобинская геологоразведочная экспедиция АЛРОСА-Поморье Вас. В. Стогний, Ю.В. Коротков ПОИСК КИМБЕРЛИТОВЫХ ТЕЛ МЕТОДОМ ПЕРЕХОДНЫХ ПРОЦЕССОВ Научный редактор В.М. Фомин посвящается 50-летию образования Ботуобинской геологоразведочной экспедиции Новосибирск 2010 http://tdem.info УДК 550.837 Рецензенты: д.г.-м.н. Н.О. Кожевников, д.т.н. В.С. Могилатов Стогний Вас.В., Коротков Ю.В. Поиск кимберлитовых тел методом переходных процессов....»

«71:06-5/394 Федеральное агентство связи Московский техиический университет связи и информатики Кафедра радиотехиических систем На правах рукоииси ШОРИН ОЛЕГ АЛЕКСАНДРОВИЧ Методы оптимальпого распределепия частотно-временного ресурса в системах подвижной радиосвязи Диссертация иа соискаиие учеиой стеиени доктора техиических наук по специальности 05.12.13 -Системы, сети и устройства телекоммуникаций Президиум БАК России 1^ (решение от присудил ученую степень Д О К Т О Р А наук чальник...»

«ОБРАЗОВАТЕЛЬНЫЙ КОНСОРЦИУМ ОТКРЫТОЕ ОБРАЗОВАНИЕ Московский международный институт эконометрики, информатики, финансов и права Ю.Б. Рубин Теория и практика предпринимательской конкуренции Москва 2003 УДК 39.137 ББК 67.412.2 Р 823 Р 823 Рубин Ю.Б. Теория и практика предпринимательской конкуренции: Учебник / Московский международный институт эконометрики, информатики, финансов и права. – М., 2003 – 584 с. © Рубин Юрий Борисович, 2003 © Московский международный институт эконометрики, информатики,...»





Загрузка...



 
© 2014 www.kniga.seluk.ru - «Бесплатная электронная библиотека - Книги, пособия, учебники, издания, публикации»

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