- •Санкт-Петербург
- •1. Принципы построения и функционирования компьютеров
- •1.1. Назначение компьютеров и принцип программного управления
- •1.2. Неймановский принцип программного управления
- •1.3. Структура компьютеров
- •1.4. Запоминающие устройства и организация памяти
- •1.5. Организация ввода-вывода данных
- •Аппаратура компьютера
- •1.6. Принцип многоуровневой реализации функций
- •Программа
- •2. Характеристики и классификация компьютеров
- •2.1. Характеристики компьютеров
- •2.2. Программно-аппаратный интерфейс и интерфейс прикладных программ
- •2.3. Быстродействие и производительность компьютеров
- •2.4. Емкость памяти
- •2.5. Надежность компьютеров
- •2.6. Стоимость компьютеров
- •2.7. Классификация компьютеров
- •Оглавление Предисловие 3
- •Принципы построения и функционирования компьютеров 7
- •Характеристики и классификация компьютеров 25
1.6. Принцип многоуровневой реализации функций
Функция (назначение) компьютера – реализация программ. Программы исполняются аппаратурой компьютера: процессором, запоминающими устройствами (ЗУ) и устройствами ввода-вывода (УВВ) (рис.1.14), которые взаимодействуют между собой в соответствии с рис.1.2 и 1.7. Возможности аппаратуры компьютера по вводу-выводу, хранению и обработке
Процессор
Память
Устройства
ввода-вывода
ЗУ … ЗУ
УВВ …
УВВПрограмма
Программно-аппаратный
интерфейс


Аппаратура компьютера




Рис. 1.14. Программно-аппаратный интерфейс
информации ограничены технологиями микроэлектроники и электромеханики, позволяющими сделать по приемлемой цене только ограниченную по реализуемым функциями и быстродействию аппаратуру. Поскольку возможности аппаратуры ограничены, встает вопрос о разумном по стоимости составе операций, реализуемых аппаратурой компьютера. Состав операций определяют операционные возможности аппаратуры компьютера и, следовательно, состав команд, в которых программируются алгоритмы. Таким образом, аппаратура компьютера устанавливает язык программирования задач, определяющий размер слов, систему команд и операций, размер адресуемой памяти, предельное количество запоминающих устройств и устройств ввода-вывода.
Язык программирования компьютера можно рассматривать как программно-аппаратный интерфейс. Существует проблема погружения задач, формулируемых в терминах языка людей, в аппаратуру компьютера, способную выполнять только ограниченный набор операций обработки, хранения и ввода-вывода данных. Эта проблема решается на основе принципа многоуровневой реализации функций.
Ф
ункции
процессора. Рассмотрим
вопрос о том, какой минимальный набор
операций должен выполнять процессор,
чтобы решать любые алгоритмически
разрешимые задачи. Доказано, что любые
алгоритмически разрешимые задачи могут
исполняться в простейших, примитивных
алгоритмических базисах. Так,
алгоритмическая система Поста, состоящая
всего лишь из трех операций: y:=0
(переменной у
присвоить значение 0), y:=1
(переменной у
присвоить
значение 1), y=0?
(проверить, равно ли у
нулю), достаточна, чтобы реализовать
все алгоритмически вычислимое. Такой
же полнотой обладает и алгебра Буля:
у:=
а,
y:=ab,
y:=ab,
y=0?,
или
даже более простой набор из одной
операции y:=ab
и операции следования у=0?.
Однако программирование вычислений в
столь примитивном операционном базисе
приводит к большим издержкам на
программирование и вычисления.
Человечество свои материальные проблемы
связало с численным выражением сущности,
и четыре операции арифметики y:=a+b,
y:=a-b,
y:=ab,
y:=ab
и
операция следования стали основой
математики, финансовой и инженерной
деятельности. При этом в качестве
операндов a
и b
выступают
целые числа 0, 1, 2,.. или действительные
числа, посредством которых отображаются
время, пространство, энергия и т.д.
О
казалось,
что четырех действий арифметики
достаточно для разрешения многих
проблем. Для исчисления высказываний
достаточно только трех операций булевой
алгебры у:=а,
y:=ab,
y:=ab.
Для обработки текстов – символьной
информации, достаточно реализовать
операции над последовательностями
байтов, а обработку графической информации
аналитическая геометрия свела к тем же
известным четырем арифметическим
действиям. Таким образом, операции
арифметики и булевой алгебры стали
самодостаточными для решения всех
алгоритмически разрешимых задач. Однако
существуют и другие алгоритмические
системы со свойствами алгоритмической
полноты, например нормальные алгоритмы
Маркова.
Инженерная мысль выбрала в качестве функций процессора арифметические и логические операции над числами и последовательностями битов (байтов). Кроме этого процессор должен обеспечивать обслуживание операций ввода-вывода (передача команд ввода-вывода в определенные запоминающие устройства и устройства ввода-вывода и установления момента завершения операций ввода-вывода). Таким образом, функции процессора ограничиваются реализацией процедур:
-
Выборки команды из оперативной памяти и операндов, указанных в адресной части команды.
-
Выполнение операции, заданной кодом операции в команде, что сводится к выполнению арифметических или логических операций над операндами, передаче команд на исполнение средствами ввода-вывода, в том числе внешними запоминающими устройствами, и формированию адреса следующей команды.
Программная реализация функций. Программно-аппаратный интерфейс вводит ограниченное количество форм представления данных, элементарных арифметических и логических операций и простейшие операции передачи данных между оперативной памятью и внешними устройствами (в том числе и внешними запоминающими устройствами). Программирование прикладных задач в терминах программно-аппаратного интерфейса, т.е. на языке компьютера, становится возможным, если запрограммировать элементарные функции по вводу-выводу данных, написанию, загрузке и исполнению программ, и предоставить эти функции в качестве интерфейса пользователям компьютера. Только таким образом можно приблизить язык компьютера к естественным для человека формам представления данных и способам их обработки. Комфортный интерфейс “пользователь-компьютер” строится на основе четырехуровневой модели (рис. 1.15).
Для реализации функций по обеспечению согласованной работы устройств служит операционная система. Операционная система (ОС) – комплекс программ, обеспечивающий управление устройствами компьютера и программами. ОС вводит набор макроопераций и макрокоманд, каждая из которых реализует функцию управления устройством или программой. Эта функция реализуется совокупностью команд, исполняемых аппаратурой компьютера. Например, перед началом операции ввода необходимо проверить готовность устройства (включено – выключено, наличие носителя информации и т.д.). Для подготовки к выполнению операции ввода-вывода выполнить операции с целью выделения в оперативной памяти области для размещения вводимых данных, обеспечить посимвольный или посегментный ввод данных в заданную область с использованием команд ввода и завершить операцию в естественном порядке или в особом режиме (например, из-за ошибки в передаваемых данных). Управление программами обеспечивается поиском местоположения программы во внешней памяти, выделением области оперативной памяти для размещения первого блока программы и т.д. Макрокоманды операционной системы определяют набор примитивов, достаточных для создания систем программирования, управления данными и контроля работоспособности компьютера как целостных операций, уровень которых превышает программно-аппаратный интерфейс. Совокупность макрокоманд, реализуемых программно средствами ОС, определяют интерфейс ОС, а через него программируемые возможности компьютера.
Инструментальные системы – это совокупность программных систем, обслуживающих потребности программирования и управления данными безотносительно к аппаратным возможностям компьютера. В состав инструментальной системы (обслуживающих программ) включаются трансляторы, обеспечивающие преобразование программ, написанных на языках высокого уровня на машинный язык, системами управления базами данных и разного рода пакеты программ, обеспечивающие обмен документами, табличную обработку данных и многое другое. Инструментальные системы вводят возможности, на основе которых можно построить с помощью технологий программирования прикладные программы, обеспечивающие функции конкретного должностного лица: продавца, снабженца, инженера, менеджера и т.д. Кроме того инструментальные системы предоставляют пользователю конкретные возможности по подготовке текстов - текстовые редакторы, графической информации – графические редакторы, обмена сообщениями по каналам связи – электронной почте и т.п. Инструментальные средства и обслуживающие программы вводят собой совокупность функций для использования их при программировании прикладных задач и обслуживания конечных пользователей.
Совокупность прикладных программ реализует конечное назначения компьютера –обслуживание пользователей, применяющих программы для обеспечения своей профессиональной деятельности. Прикладные программы устанавливают состав и форму представления исходных данных и результатов, а также порядок управления процессом решения задач и этим определяется интерфейс конечных пользователей, т.е. язык взаимодействия пользователей и компьютера.
Аппаратура компьютера реализует конкретный набор типов данных, над которыми могут выполняться операции, набор операций ввода, хранения, обработки и вывода данных и набор команд, в терминах которых программируется обработка данных. Аппаратура компьютера – физическая машина, возможности которой определяются программно-аппаратным интерфейсом. Таким образом, компьютер – это платформа, на основе которой реализуются функции более высокого ранга исключительно посредством программирования, т.е. с помощью программ.
Операционная система вводит собой операции ввода, вывода, хранения данных, управление аппаратурой компьютера и вычислительными процессами более высокого уровня, чем операции, реализуемые аппаратурой компьютера. При этом общая большая часть операций, реализованная аппаратурой, доступна для использования в программах более высокого уровня: на 2-, 3-, 4-м уровнях (см. рис 1.15). Другая часть операций, называемая привилегированными операциями, становится доступной программистам только при обращении к ним через операционную систему, например с помощью команды CALL target (ВЫЗОВ процедуры), в которой target – номер вызываемой процедуры. В общем случае команда CALL исполняется, если процессор находится в состоянии СУПЕРВИЗОР, в котором разрешается выполнять операции управления устройствами и программами. Если же процессор находится в другом состоянии, команда CALL не может быть исполнена и ее появление в потоке команд вызывает прерывание программы – остановку программы при выборке команды CALL.
Таким образом, интерфейс операционной системы вводит совокупность процедур, управляющих устройствами и программами в состоянии СУПЕРВИЗОР, и одновременно с этим совокупность операций, которые могут исполняться на любом уровне программирования.
