Скачиваний:
100
Добавлен:
09.05.2014
Размер:
481.28 Кб
Скачать

Программа

Процессор

Память Устройства

ввода-вывода

ЗУ ЗУ УВВУВВ

Программно-аппаратный интерфейс

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

Рис. 1.6.1. Программно-аппаратный интерфейс

Функции процессора.

Рассмотрим вопрос о том, какой минимальный набор операций должен выполнять процессор, чтобы решать любые алгоритмически разрешимые задачи. Доказано, что любые алгоритмически разрешаемые задачи могут исполняться в простейших, примитивных алгоритмических базисах. Так, алгоритмическая система Поста, состоящая всего лишь из трех операций: y:=0 (переменной у присвоить значение 0), y:=1 (переменной у присвоить значение 1), y=0? (проверить, равно ли у нулю), достаточна, чтобы реализовать все алгоритмически вычисленное. Такой же полнотой обладает и алгебра Буля: у:=а, y:=ab, y:=ab, y=0, или даже более простой набор из одной операции y:=ab и операции следования у=0?. Однако программирование вычислений в столь примитивном операционном базисе приводит к большим издержкам на программирование и вычисления. Человечество свои материальные проблемы связало с численным выражением сущности, и четыре операции арифметики y:=a+b, y:=a-b, y:=ab, y:=ab и операция следования стали основой математики, финансовой и инженерной деятельности. При этом в качестве операндов a и b выступают целые числа +/- 0,1,2,.. или действительные числа, посредством которых отображаются время, пространство, энергия и т.д.

Оказалось, что четырех действий арифметики достаточно для разрешения многих проблем. Для исчисления высказываний достаточно только трех операций булевой алгебры у:=а, y:=ab, y:=ab. Для обработки текстов - символьной информации - достаточно реализовать операции над последовательностями байтов, а обработку графической информации аналитическая геометрия свела к тем же известным четырем арифметическим действиям. Таким образом, операции арифметики и булевой алгебры стали самодостаточными для решения всех алгоритмически разрешимых задач. Однако существуют и другие алгоритмические системы со свойствами алгоритмической полноты, например нормальные алгоритмы Маркова. Инженерная мысль выбрала в качестве функций процессора арифметические и логические операции над числами и последовательностями битов (байтов). Кроме этого процессор должен обеспечивать обслуживание операций ввода-вывода(передача команд ввода-вывода в определенные запоминающие устройства и устройства ввода-вывода и установления момента завершения операций ввода-вывода). Таким образом, функции процессора ограничиваются реализацией процедур:

  1. Выборки команды из оперативной памяти и операндов, указанных в адресной части команды;

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

Программная реализация функций.

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

Уровни ПОЛЬЗОВАТЕЛИ интерфейс пользователей

Прикладные программы

Инструментальные системы

Операционная система

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

(процессор и другие устройства)

4 интерфейс программирования

и пользования

3 интерфейс операционной

системы

2

программно-аппаратный

1 интерфейс

Рис.1.6.2. Четырехуровневая модель реализации функций

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

Инструментальные системы (ИС).

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

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

Операционная система вводит собой операции ввода, вывода, хранения данных, управление аппаратурой компьютера и вычислительными процессами более высокого уровня, чем операции, реализуемые аппаратурой компьютера. При этом общая большая часть операций, реализованная аппаратурой, доступна для использования в программах более высокого уровня: на 2-, 3-, 4-м уровнях (см. рис 1.6.3). Другая часть операций, называемая привелегированными операциями, становится доступной программистам только при обращении к ним через операционную систему, например с помощью командыCALLtarget(ВЫЗОВ процедуры), в которойtarget– номер вызыаемой процедуры. В общем случае командаCALLисполняется, если процессор находится в состоянии СУПЕРВИЗОР, в котором разрешается выполнять операции управления устройствами и программами. Если же процессор находится в другом состоянии, командаCALLне может быть исполнена и ее появление в потоке команд вызываетпрерывание программы– остановку программы при выборке командыCALL.

Таким образом, интерфейс операционной системы вводит совокупность процедур, управляющих устройствами и программами в состоянии СУПЕРВИЗОР, и одновременно с этим совокупность операций, которые могут исполняться на любом уровне программирования.