Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика / Основы теории алгоритмов.doc
Скачиваний:
204
Добавлен:
10.02.2015
Размер:
611.84 Кб
Скачать

Эвм как исполнитель алгоритмов. Принципы программного управления

2.1. Основные понятия и принципы программного управления эвм и исполнением алгоритмов

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

Программа (program, routine) — упорядоченная последовательность команд (инструкций) компьютера для решения задачи.

Программное обеспечение (software) — совокупность программ обработки данных и необходимых для их эксплуатации документов.

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

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

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

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

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

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

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

Машинная команда — символьный оператор, опознаваемый и выполняемый техническими средствами машины.

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

Формат команды — это структура команды, позволяющая распознавать ее составные части.

По структуре каждая машинная команда содержит операционную, адресную и служебную части.

Операционная часть команды — группа разрядов в команде, предназначенная для представления цифрового кода операции машины.

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

Адрес — это номер ячейки памяти, в которой записано участвующее в данной операции число (операнд).

Операнд — обобщенное понятие участвующих в операциях данных (слагаемых, вычитаемых, сомножителей, делителей и т.д.).

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

Типовая трехадресная команда включает:

  • код операции;

  • два адреса (а1, а2) ячеек (регистров), где расположено первое и второе числа, участвующие в операции;

  • один адрес (а3) ячейки (регистра) для размещения числа, полученного при выполнении операции.

Типовая двухадресная команда включает:

  • код операции;

  • адрес (а1) ячейки (регистра), где расположено первое из чисел, участвующих в операции, и в которую после окончания операции должен быть записан результат операции;

  • один адрес (а2) ячейки (регистра) для хранения второго, участвующего в операции числа.

Типовая одноадресная команда включает:

  • код операции;

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

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

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

Независимо от классов современных ЭВМ все множество автоматически выполняемых ими команд можно сгруппировать по выдам выполняемых операций:

  • операции пересылки данных ЭВМ;

  • арифметические операции надданными;

  • логические операции над данными;

  • операции обращения к внешним запоминающим устройствам ЭВМ;

  • операции передачи управления (безусловной, условной);

  • обслуживающие и вспомогательные операции.

Операции передачи управления (ветвления программы) служат для изменения естественного порядка выполнения команд.

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

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

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

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

Программное управление обеспечивает:

  • надежную и эффективную работу компьютера и вычислительной сети;

  • проведение диагностики и профилактики аппаратуры компьютера и вычислительной сети;

  • создание среды функционирования других программ;

  • выполнение вспомогательных технологических процессов.

Программы предназначены для машинной реализации задач.

Понятия задачи и приложения имеют очень широкое употребление в контексте информатики и программного обеспечения.

Задача (problem, task) — проблема, подлежащая решению.

Приложение (application) — программная реализация на компьютере решения задачи.

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

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

Технологические задачи ставятся и решаются при организации технологического процесса обработки информации на компьютере.

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

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

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

Процесс создания программ можно представить как последовательность действий, представленных на рис. 2.1.

Рис. 2.1. Схема процесса создания программ

Постановка задачи (problem definition) — это точная формулировка решения задачи на компьютере с описанием входной и выходной информации.

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

К основным характеристикам функциональных задач, уточняемым в процессе ее формализованной постановки, относятся:

  • цель или назначение задачи, ее место и связи с другими задачами;

  • условия решения задачи с использованием средств вычислительной техники;

  • содержание функций обработки входной информации при решении задачи;

  • требования к периодичности решения задачи;

  • ограничения по срокам и точности выходной информации;

  • состав и форма представления выходной информации;

  • источники входной информации для решения задачи;

  • пользователи задачи (кто осуществляет ее решение и пользуется результатами решения).

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

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

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

Программирование (programming) — теоретическая и практическая деятельность, связанная с созданием программ.

Соседние файлы в папке Информатика