Принципы действия ЭВМ

ЧАСТЬ 1. ОРГАНИЗАЦИЯ ОДНОПРОЦЕССОРНЫХ ЭВМ

ОБЩИЕ ВОПРОСЫ ИСТОРИИ РАЗВИТИЯ И ПОСТРОЕНИЯ ЭВМ

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

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

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

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

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

- системного программирования;

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

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

ДВА КЛАССА ЭВМ

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

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

Пример.

- Статистические данные о работе предприятий и потребности производства в материалах.

-  Данные переписи населения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рис. 1.1. Классическая структура ЭВМ

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: