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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.4. Понятие о системе программного (математического)
обеспечения ЭВМ

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

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

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

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

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

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

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

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

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

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

 

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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