авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:   || 2 | 3 |
-- [ Страница 1 ] --

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

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

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

ЧАСТЬ 1

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

ГОУ

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

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

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

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

ЧАСТЬ 1

Конспект лекций

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

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

доц., канд. техн. наук Г.Б.Захарова (УрО РАН) Авторы: И.В.Хмелевский, В.П.Битюцкий Х-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-е годы разнообразие проблем теории и методов проектирова ния объектов вычислительной техники, сложность ее элементов, устройств, машин и систем закономерно привели к тому, что из дисциплины "Теория и принципы проек тирования ЭВМ", еще недавно охватывающей все основные аспекты этой области науки и техники, выделились самостоятельные курсы: схемотехника ЭВМ, методы оптимизации, периферийные устройства, операционные системы, теория програм мирования и т.д. Современная ЭВМ – настолько сложное устройство, что в одном курсе физически невозможно охватить подробно все проблемы проектирования, создания и эксплуатации ЭВМ, которые в общем случае имеют три аспекта:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Первые эскизы счетной машины создал Леонардо да Винчи (около 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.3. Принципы действия ЭВМ Рассмотрим вначале вычисления с помощью калькулятора. Предварительно на листе бумаги выписываются формулы и исходные данные, а часто и таблицы для занесения промежуточных и конечных результатов. В процессе вычисления числа с листа заносятся в регистр микрокалькулятора, а затем включается нужная по фор муле операция. Полученные результаты переписываются с регистра (индикатора микрокалькулятора) на лист бумаги (в таблицу).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.5. Поколения ЭВМ Выше рассматривались три понятия: аппаратные средства, программное обес печение и архитектура ЭВМ. Рассмотрим коротко этапы развития ЭВМ за последние 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-х годов.

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


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

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

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

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

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

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

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

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

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

УПУ УПУ ЦП УПУ УПУ Интерфейс Интерфейс Сел.

БТМ и БМ канал канал ОП УПУ УПУ Центральная часть "Быстрая" "Медленная" периферия периферия Сел. и БМ канал – селекторный и блок-мультиплексорпый канал;

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример.:

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

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

X = r S r + r 1S r 1 +... + 1S 1 + 0 S 0 + 1S 1 + 2 S 2 +....

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

X = r r 1... 1 0 1 2...

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

Пример.

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

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

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

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

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

X = r 2 r + r 1 2 r 1 +... + 1 21 + 0 2 0 + 1 2 1 + 2 2 2 +..., где i = 0,1.

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

Пример.

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

32 16 8 4 2 2 0 = 45 (10 ), 5 4 3 2 2 2 2 2 Веса 1 0 1 1 0 т.е. 1 2 5 + 0 2 4 + 1 2 3 + 1 2 2 + 0 21 + 1 2 0 = 45 (10 ).

Как и в десятичной, в двоичной системе счисления для отделения целой части от дробной используется точка. Значение веса разрядов справа от точки равно ос нованию двоичной системы (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) в десятичное.

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

101. 2-3 0. 2-2 0. 2-1 21 22 5.375(10) Если преобразуемое число большое, то операцию перевода удобнее делать отдельно для целой и дробной частей.

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

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

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

Пример.

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

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

10 10(10)=1010(2) 10 5 МЗР0 4 2 1 2 0 1 СЗР Пример.

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

57 2 57(10)=111001(2) 56 28 МЗР1 28 14 0 14 7 0 1 СЗР Для перевода дробных чисел (или дробных частей вещественных чисел) тре буется другая процедура преобразования. Рассмотрим ее на примере.

Пример.

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

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

2. Если результат умножения меньше единицы, то СЗР присваивают значе ние 0. Если больше единицы, то присваивают значение 1. Поскольку 0.751, то СЗР=0.

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) преобразовать в двоичное число.

2 * 0.34375 = 0.6875 0 (СЗР) 2 * 0.6875 = 1.375 2 * 0.375 = 0.75 2 * 0.75 = 1.5 2 * 0.5 = 1.0 2*0 Таким образом, 0.34375(10) = 0.01011(2).

Пример.

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

2 * 0.3 = 0.6 0 (СЗР) 2 * 0.6 = 1.2 2 * 0. 2 = 0. 4 2 * 0.4 = 0.8 2 * 0.8 = 1.6 2 * 0.6 = 1.2 2 * 0. 2 = 0. 4 2 * 0.4 = 0.8 Далее будут следовать повторяющиеся группы операций и результатов, поэто му ограничимся восемью разрядами, т.е. 0.3(10) = 0.01001100(2).

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

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

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

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

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

Пример.

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

8 (10 ) = 010101110010.00111000( 210 ) 5 7 2. 0101 0111 0010 0011 Обратный перевод также прост: необходимо двоично-десятичное число раз бить на тетрады от точки влево (для целой части) и вправо (для дробной), дописать необходимое число незначащих нулей, а затем каждую тетраду записать в виде де сятичной цифры.

Пример.

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

0001 0010. 0101 0100 ( 2 10 ) = 12.54 (10 ) 1 2 5 Перевод чисел из двоично-десятичной в двоичную систему осуществляется по общим правилам, описанным выше.

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

X = r 8 r + r 1 8 r 1 +... + 1 81 + 0 8 0 + 1 8 1 + 2 8 2 +..., где j = 0,7.

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

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

Пример.

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

010 101 011 111 101( 2 ) = 25375 ( 8 ) 2 5 3 7 Пример.

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

= 13.24 (8 ) 001 011. 010 100 (2 ) 1 3 2 Перевод из восьмеричной системы счисления в двоичную осуществляется пу тем представления каждой цифры восьмеричного числа трехразрядным двоичным числом (триадой).

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

X = r 16 r + r 116 r 1 +... + 1161 + 0 16 0 + 116 1 + 2 16 2 +..., где i = 0,9, A, B,C, D, E, F.

A(16 ) = 10(10 ) B(16 ) = 11(10) C(16) = 12(10) D(16 ) = 13(10 ) E(16 ) = 14(10 ) F(16 ) = 15(10).

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

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

Пример.

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

0010 1010 1111 1101( 2 ) = 2 AED(16 ) 2 A E D Пример.

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

0001 1101. 0111 1000 ( 2 ) = 1D.78 (16 ) 1 D 7 Для перевода числа из шестнадцатеричной системы счисления в двоичную, необходимо, наоборот, каждую цифру этого числа заменить тетрадой.

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

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

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

Сложение Вычитание Умножение 0+0 =0 00 =0 0*0 = 0 +1= 1 1 0 = 0 1* 0 = 1+ 0 = 1 1 1 = 0 0 *1= 1 + 1 = 10 10 1 = 1 1* 1 = перенос в старший разряд Правила выполнения арифметических действий во всех позиционных системах счисления аналогичны.

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

Пример.

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

Перенос (единицы) 11 Слагаемое 1 099(10) 01100011(2) Слагаемое 2 095(10) 01011111(2) Сумма 194(10) 11000010(2) Операция получается громоздкая со многими переносами, но удобная для ЭВМ.

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

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

Пример.

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

Заем (единица) 1 Уменьшаемое 109(10) 01101101(2) Вычитаемое 049(10) 00110001(2) Разность 060(10) 00111100(2) Второй вариант операции вычитания – когда уменьшаемое меньше вычитаемо го – приведен в разделе представления двоичных чисел в дополнительном коде.

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

Пример.

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

17 (10)=00010001 (2);

12 (10)=00001100 (2) * + 10001 - сдвинуто на 2 разряда 10001 - сдвинуто на 3 разряда 11001100 = 204 (10) Естественно, что при сложении частичных произведений в общем случае воз никают переносы.

Теперь рассмотрим машинный вариант операции перемножения. Общий алго ритм перемножения имеет вид Z = X * Y = sign(Z) * X * Y, +, sign(X) = sign(Y) sign(Z) =, sign(X) sign(Y).



Pages:   || 2 | 3 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

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