Теоретические основы информатики. Учебное пособие
.pdf
Непосредственная адресация (рис. 8.1) предполагает, что входной операнд находится в памяти непосредственно за кодом команды.
Рис. 8.1. Непосредственная адресация
Операнд обычно представляет собой константу, над которой необходимо совершить какое-либо действие. Например, требуется выполнить команду сложения заданного числа с содержимым некоторого внутреннего регистра процессора. Это число будет располагаться в ячейке фрагмента памяти, содержащей программу, имеющей адрес, следующий за кодом команды сложения.
Прямая (абсолютная) адресация (рис. 8.2) предполагает, что входной или выходной операнд находится в части памяти, отведенной под программу, по адресу, код которого находится в программе сразу же за кодом команды.
Рис. 8.2. Прямая адресация
Например, требуется выполнить команду очистки содержимого ячейки памяти с заданным адресом. Код этого адреса будет располагаться в следующем адресе за кодом команды очистки в части памяти, где хранится программа.
Регистровая адресация (рис. 8.3) предполагает, что входной или выходной операнд находится во внутреннем регистре процессора.
Рис. 8.3. Регистровая адресация
71
Например, выполняется команда пересылки числа из нулевого регистра в первый. Номера обоих регистров (0 и 1) будут определяться кодом команды пересылки.
Косвенно-регистровая (косвенная) адресация предполагает, что во внутреннем регистре процессора находится не сам операнд, а его адрес в памяти (рис. 8.4).
Рис. 8.4. Косвенная адресация
Например, команда требует очистки ячейки памяти с адресом, находящимся в нулевом регистре. Номер этого регистра (0) будет определяться кодом команды очистки.
Реже встречаются еще два метода адресации.
Автоинкрементная адресация близка к косвенной адресации, но отличается от нее тем, что после выполнения команды содержимое используемого регистра увеличивается на одну или две единицы. Данный вид адресации удобен, например, при последовательной обработке кодов из массива данных, находящегося в памяти. После обработки како- го-либо кода адрес в регистре будет указывать на следующий код из массива. При использовании косвенной адресации в данном случае пришлось бы увеличивать содержимое этого регистра отдельной командой.
Автодекрементная адресацияработает аналогично автоинкрементному способу, но в отличие от нее содержимое выбранного регистра уменьшается на одну или две единицы перед выполнением команды. Эта адресация также удобна при обработке массивов данных. Совместное использование автоинкрементной и автодекрементной адресаций позволяет организовать память стекового типа. Стек – это часть оперативной памяти, предназначенная для временного хранения данных в режиме LIFO (Last In – First Out). Стековая память применяется в случае многократно вложенных подпрограмм.
Также распространены индексные методы адресации, которые предполагают для вычисления адреса операнда прибавление к содержимому регистра заданной константы (индекса). Код этой константы располагается в памяти непосредственно за кодом команды.
72
9.ПРОГРАММНОЕ УПРАВЛЕНИЕ И АРХИТЕКТУРА ЭВМ
9.1.Принципы программного управления
Компьютерная программа – последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины. Эти инструкции представляют собой машинные коды. Независимо от принципа действия, компьютер предполагает возможность изменения выполняемой программы (перепрограммирования).
Управление техническим устройством по заранее заданной программе называется программным управлением.
Сущность программного управления заключается в том, что сигналы управления работой отдельных частей цифровой ЭВМ вырабатываются внутри машины в процессе вычислений. Источниками информации о требуемых типах сигналов на каждом шаге вычислений является код команды, считываемый из памяти машины. Программа вычислений в виде последовательности команд, закодированных в цифровой форме, записывается в память ЭВМ до начала вычислений. Поскольку команды программы ЭВМ неотличимы от других цифровых кодов, то в процессе выполнения программы их можно изменять. В силу этого порядок вычислений может изменяться без участия пользователя в зависимости от знака результата, абсолютной величины и т. п.
Отсюда следуютпринципы программного управления фон Неймана.
1.Исходные данные и результаты кодируются обычно в двоичной форме и разделяются на единицы информации – слова.
2.Правила вычисления используют операторы-преобразователи и операторы-распознаватели. Первые обеспечивают выполнение операций над элементами информации, вторые – управление порядком выполнения операторов посредством анализа элементов информации.
3.Каждый оператор кодируется командой.
4.Слова информации размещаются в ячейках памяти и определяются адресами – номерами ячеек.
На приведенных принципах основана архитектура ЭВМ фон Неймана.
9.2. Архитектура ЭВМ
Под архитектурой ЭВМ понимается совокупность общих принципов организации аппаратно-программных устройств и их основных характеристик, определяющая функциональные возможности компьютера
73
при решении соответствующих типов задач. Она охватывает проблемы, связанные с созданием комплекса аппаратных и программных средств и учитывающих большое количество определяющих факторов. Среди них основными являются: назначение, функциональные возможности, стоимость и др.
Архитектура вычислительного устройства отличается от его структуры. Структура ЭВМ определяет ее текущий состав на некотором уровне детализации и описывает связи внутри устройства. Архитектура ЭВМ в свою очередь определяет основные правила взаимодействия компонентов вычислительного устройства, описание которых выполняется в той мере, в какой необходимо для формирования правил взаимодействия. Она устанавливает не все связи, а только наиболее необходимые, которые должны быть известны для более грамотного использования применяемого средства. Таким образом, архитектура ЭВМ включает в себя как структуру, отражающую состав компьютера, так и математическое и программное обеспечение, тогда как структура ЭВМ – это совокупность элементов и связей между ними.
Основными устройствами ЭВМ по Нейману являются арифметикологическое устройство (АЛУ) и устройство управления (УУ), объединяемые в центральный процессор. В него также входит набор регистров общего назначения, предназначенных для промежуточного хранения информации в процессе ее обработки, а также оперативная память, внешняя память, устройства ввода и вывода (рис. 9.1).
Рис. 9.1. Архитектура ЭВМ, построенная на принципах фон Неймана
74
Сплошные линии со стрелками указывают направление потоков информации, пунктирные – направление управляющих сигналов. Во внешней памяти в отличие от устройств ввода и вывода, данные хранятся в виде, удобном для обработки компьютером, но недоступном для непосредственного восприятия человеком.
Программы и данные вводятся в память из устройства ввода через арифметико-логическое устройство. Команды программы записываются
всоседние ячейки памяти, а данные для обработки могут содержаться
впроизвольных ячейках. В любой программе последней является команда завершения работы.
Команда состоит из указания, какую операцию следует выполнить, и адресов ячеек памяти, где хранятся операнды и куда следует записать результат. АЛУ выполняет указанные командами операции над искомыми данными. Из него результаты выводятся в память или устройство вывода. Функции АЛУ обычно сводятся к простым арифметическим и логическим операциям и операциям сдвига. Таким образом, АЛУ выполняет арифметическую и логическую обработку двух переменных, в результате которых формируется выходная переменная. Также оно формирует признаки результата (флаги), характеризующие полученный результат и события, произошедшие в результате его получения, такие как, равенство нулю, знак результата, четность, переполнение и др. Флаги могут анализироваться УУ для принятия решения о дальнейшей последовательности выполнения команд.
УУуправляет всеми частями компьютера. От него на другие устройства поступают команды, а от них УУ получает информацию об их состоянии. Оно содержит специальную ячейку (регистр), который называется счетчиком команд. После загрузки программы и данных в память в счетчик команд записывается адрес первой команды программы, а УУ считывает из памяти содержимое ячейки памяти, адрес которой находится
всчетчике команд, и помещает его в специальное устройство – регистр команд. УУ определяет операцию команды, помечает в памятиоперанды, адреса которых указаны в команде, и контролирует выполнение команды. В результате выполнения любой команды счетчик команд изменяется на единицу иуказывает на следующую команду программы.
9.3. Принципы функционирования ЭВМ
Из описанной архитектуры вытекают общие принципы функционирования ЭВМ, называемые принципами фон Неймана:
75
1.Принцип программного управления. Означает, что программа состоит из набора команд, которые автоматически выполняются процессором в определенной последовательности. Выборка программ из памяти производится с помощью счётчика команд, который последовательно увеличивает хранимый в нём адрес очередной команды на длину команды. Таким образом организуется выборка цепочки команд из последовательно расположенных ячеек памяти.
2.Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. В силу этого ЭВМ не различает, что хранится в данной ячейке памяти – число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. В результате программа в процессе выполнения может подвергаться переработке, что позволяет задать в ней правила получения некоторых её частей. Именно таким образом организуется выполнение циклов и подпрограмм. Более того, команды одной программы могут быть получены в результате выполнения другой программы. На этом принципе основаны методы трансляции – перевода текста программы с языка высокого уровня на язык конкретной машины.
3.Принцип адресности. Структурно основная память состоит из пронумерованных ячеек, любая из которых доступна процессору
впроизвольный момент времени. Отсюда следует возможность давать имена областям памяти так, чтобы к хранящимся в них значениям можно было бы впоследствии обращаться или менять их в процессе выполнения программы с использованием присвоенных имен.
4.Принцип двоичного кодирования. Для представления данных и команд используется двоичная система счисления.
Согласно приведенным принципам, ЭВМ должна включать четыре основных блока: процессор, оперативную память, внешнюю память и комплекс устройств ввода/вывода. Эта схема имеет существенный недостаток: управление вводом/выводом и выполнение команд осуществляется одним устройством управления. При такой структуре ЭВМ все виды программной обработки на время выполнения операций ввода/вывода прекращались из-за занятости процессора, что существенно снижало быстродействие машины. Для устранения этого недостатка в схему был включен дополнительный компонент – канал ввода/вывода, т. е. устройство, обеспечивающее прямое взаимодействие процессора и периферийных устройств.
9.4. Классификация компьютеров
Компьютер – техническое устройство, способное выполнять заданную, чётко определённую изменяемую последовательность операций,
76
называемую программой. К ним относятся операции численных расчётов, обработки данных и ввода/вывода. Можно сказать, что компьютер – техническое устройство, предназначенное для приёма, хранения, обработки и передачи информации.
Понятие «компьютер» не тождественно понятию «ЭВМ».
ЭВМ (электронно-вычислительная машина) представляет собой комплекс технических средств, где основные функциональные элементы (логические, запоминающие и др.) выполнены на электронных компонентах, предназначенных для автоматической обработки информации в процессе решения прикладных задач. Таким образом, ЭВМ – это один из способов реализации компьютера. Компьютер может быть устроен и на других принципах: он может быть механическим, биологическим, оптическим, квантовым, работая за счёт перемещения механических частей, движения электронов, фотонов или эффектов других физических явлений. По типу функционирования вычислительная машина может быть цифровой или аналоговой.
Аналоговый компьютер – вычислительная машина, которая представляет числовые данные при помощи аналоговых физических параметров (скорость, длина, напряжение, сила тока, давление). При работе аналоговый компьютер имитирует процесс вычисления, при этом характеристики, представляющие цифровые данные, в ходе времени постоянно меняются. Результатом работы аналогового компьютера являются графики, изображённые на бумаге или на экране осциллографа, или электрический сигнал, который используется для работы механизмов или контроля производственных процессов, так как они моментально реагируют на различные изменения во входных данных. Однако общая скорость их работы невысока из-за технических особенностей подобных устройств. Аналоговые компьютеры широко использовались в экспериментах, где недорогие электрические или механические устройства способны имитировать изучаемые ситуации.
По виду применяемой рабочей среды все компьютерные устройства, помимо электронных, можно разделить на следующие виды.
Пневматические компьютеры. Под пневматическим компьютером понимается устройство, которое для выполнения логических операций применяет воздушные струи, протекающие по каналам, имеющим специальный профиль. Пневматические компьютеры содержат набор элементов, выполняющий основные логические операции, а также набор элементов памяти, не имеющий механических составляющих частей. Эти компоненты очень надёжны, так как практически не имеют перемещаемых частей и поэтому износостойки. Пневматический компьютер применяется в промышленных областях, где необходима нечувствительность к вибрационным воздействиям и радиации, способность
77
работать в расширенном температурном диапазоне или там, где надо управлять силовыми механизмами на базе пневматики. Также он используется там, где использование электрических устройств является опасным: шахты и химические производства.
Оптические компьютеры. Оптическим компьютером называют устройство, работа которого основана на применении оптических процессоров. Если в обычных компьютерах применяются электронные средства обработки информации, то в оптических компьютерах все действия производятся манипуляцией потоков оптических излучений. Это даёт возможность добиваться увеличения производительности вычислительных операций.
Биологические компьютеры. Разработка биологических компьютеров основываются на процессах, протекающих в живых клетках. Известно, что клетки биологического организма способны сохранять информацию, а механизм сохранения информации аналогичен памяти. Поведенческий механизм клеток определяется заложенной в них программой, которая решает, как отвечать на разные воздействия. Также клетки могут осуществлять некоторые операции с очень высоким быстродействием. Живая клетка имеет сложную физическую структуру, которая в теории может сама функционировать как мощный вычислительный комплекс. Важным преимуществом биокомпьютеров является возможность их выращивания, используя естественные механизмы деления клеток. Скорость обработки информации клеткой сравнительно невысока, но так как биокомпьютеры работают не в двоичной логике, а с широким разнообразием «кодовых молекул», скорость обработки для соответствующих задач будет находиться на приемлемом уровне. Главной областью использования биокомпьютеров может стать создание органических биоимплантов, совместимых с организмом человека на 100 %.
Квантовые компьютеры. Под квантовым компьютером понимается устройство для выполнения вычислений, работающее на принципах квантовой механики. Квантовая вычислительная машина имеет ряд принципиальных отличий от традиционного представления о компьютерах. Полноформатный квантовый компьютер пока что представляется только гипотетически вероятным вариантом, потому что для его реализации необходим очень серьёзный прогресс в области теории квантовой физики. Для решения алгоритмических задач квантовые компьютеры используют кубиты, которые при обмене информацией принимают значение 0 или 1, а также могут одновременно находиться в состоянии 0 и 1, благодаря свойству квантовых объектов – суперпозиции. Это способствует ускорению решения задач на десятки порядков по сравнению с другими типами компьютеров.
78
10. ПРИМЕРЫ ТЕСТОВЫХ ВОПРОСОВ С ОТВЕТАМИ
10.1. Информация и информационный процесс
1. Информатика – это +: научно–практический подход к вычислениям и их применениям
+: наука о методах и процессах хранения, обработки и передачи информации
–: способ хранения, обработки и передачи информации –: наука о методах решения практических задач
2.По объектам информационного взаимодействия информация подразделяется на виды:
–: человек – внешняя среда +: человек – человек +: человек – автомат +: автомат – автомат
3.По способу восприятия информация подразделяется на виды: +: визуальная +: аудио +: обонятельная –: текстовая
4.По форме представления информация подразделяется на виды: +: текстовая +: числовая –: тактильная +: графическая
5.По назначению информация подразделяется на виды:
+: массовая +: специальная +: личная –: числовая
6. По значению информация подразделяется на виды: +: полезная +: полная +: достоверная –: личная
79
7.По истинности информация подразделяется на виды: –: правдивая –: верная +: истинная +: ложная
8.Материальным носителем информации называется +: среда, служащая для передачи информации –: среда распространения данных
+: объект, служащий для представления информации –: объект, о котором передается информация
9.Хранение информации связано с характеристикой носителя, ко-
торая –: изменяется в пространстве
–: не меняется в пространстве –: изменяется с течением времени
+: не меняется с течением времени
10.Передача информации связана с характеристикой носителя, ко-
торая –: изменяется в пространстве
–: не меняется в пространстве +: изменяется с течением времени
–: не меняется с течением времени
11.Сигналом называется
–: значение характеристики носителя +: изменение характеристики носителя
–: объект, служащий для представления информации –: объект, о котором передается информация
12.Параметром сигнала называется +: значение характеристики носителя –: изменение характеристики носителя
–: объект, служащий для представления информации –: среда передачи информация
13.Сигнал называется аналоговым, если
–: он распространяется аналогично дискретным сигналам –: он передается по аналоговому носителю
80
