Программа на этапе выполнения это

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

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

Вебинар | Выполнение упражнений обязательной программы вольтижировки на разных этапах подготовки

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

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

В процессе выполнения программы при каждом обращении к памяти по какому-либо виртуальному адресу аппаратура производит подмену номера виртуальной страницы, содержащегося в этом адресе, на номер физической страницы, выбираемый из соответствующего регистра приписки. По адресу, полученному в результате такой подмены номера страницы, и производится фактическое обращение к физической памяти. [5]

В процессе выполнения программы переменная типа метки может получать различные значения, поэтому при выполнении оператора перехода может происходить передача к различным операторам программы. [6]

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

В процессе выполнения программы происходит сушка пробы, отгонка мешающих веществ перед атомизацией, собственно атомизация и при необходимости — очистка кюветы от остатков предшествующей пробы. [8]

В процессе выполнения программы выводится матрица главных сечений в виде (2.3), определяющая полную систему топологических уравнений. [9]

В процессе выполнения программы непрерывно изменяются состояния каналов и УВВ. На некоторый момент времени канал может быть занят выполнением ранее начатой операции или находится в свободном состоянии, позволяющем начать следующую операцию ввода-вывода. При выполнении операции в канале или в УВВ могут возникнуть особые ситуации, которые должны учитываться при организации ввода-вывода. [10]

Neaktor — Основы — Создание задачи и этапы ее выполнения

В процессе выполнения программы выполнение процедуры ввода производится обращением к накопителю, быстродействие которого значительно превышает быстродействие устройств ввода. Благодаря уменьшению времени на передачу данных в програму уменьшается время Тъ приходящееся на ввод-вывод данных. Вывод данных в процессе выполнения программы также организуется через накопитель по принципу программа — накопитель — устройство вывода. Такого рода организация ввода-вывода реализована в машине АТЛАС. Использование накопителей для промежуточного хранения вводимой-выводимой информации позволяет обеспечить программу вводом и выводом данных со скоростью, приближающейся к быстродействию вычислителя. [11]

В процессе выполнения программы предполагается широко использовать стандарты на статистическое регулирование технологических процессов, разработанные в СССР. [12]

В процессе выполнения программы с момента входа в блок ( через begin, так как внутренние метки локальны и, следовательно, недостижимы извне) все идентификаторы, О Писан Ные в блоке, приобретают смысл, вытекающий из природы данных описаний. Если идентификаторы уже были определены другими описаниями, находящимися вне блока, то на некоторое время они получают новый смысл. С другой стороны, те идентификаторы, которые не описаны в блоке, сохраняют свой прежний смысл. [13]

В процессе выполнения программы по команде SINTR устройство генерирует запрос прерывания в ЦП. Часто запрос используется для того, чтобы сообщить ЦП о завершении программы канала. [14]

Источник: www.ngpedia.ru

Основные стадии выполнения команд

1 этап: Выбор машинной команды из памяти.

2 этап: Дешифрация кода операции.

3 этап: Формирование исполнительного адреса и выбор операндов.

4 этап: Выполнение операций в АЛУ.

Читайте также:
Программа в которой можно сделать макияж

5 этап: Запись результата.

Конвейеризация

Конвейерная обработка команд:

Конвейерная обработка на уровне команд:

Каждый этап машинной команды обрабатывается на отдельном блоке. На 1-м такте 1-я команда подается на первый блок, то есть реализует 1-й этап (выборка команды из памяти). Во 2-м такте 1-я команда переходит на 2-й этап, а 2-я команда поступает на первый этап. В 3-ем такте, 1-я команда на 3 этапе, 2-я команда на 2-ом этапе, 3-я команда на 1-ом этапе. Т.е. конвейер команд аналогичен технологическому конвейеру.

За 8 тактов при последовательной обработке команд, обрабатывается 2 команды, а при конвейерной – 5 команд.

В случае отсутствия команд перехода и информационных конфликтов – повышение производительности!

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

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

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

Способы адресации

Адресный код команды в полях Аi в большинстве случаев не совпадает с исполнительным адресом.

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

Прямая адресация

1)

В адресном поле Аi хранится непосредственно исполнительный адрес.

адрес операнд АЛУ

Непосредственная адресация

В адресном поле команды хранится операнд.

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

Косвенная адресация

В адресном поле команды хранится адрес ячейки ОП, по которому находится адрес операнда (то есть адрес адреса).

РАП = РК (Аi) – подаём в память адрес адреса операнда.

РЧП = Чт (РАП) – получили адрес операнда.

РЧП = Чт (РАП) – получили операнд.

Регистровая адресация

В адресном поле команды указывается номер РОНа, в котором хранится операнд.

Номер РОНа операнд АЛУ

РОНы используются для сокращения времени доступа за операндами.

Микропрограмма выполнения двухадресной команды формата регистр-регистр (R-R). Структура операционной части ЦП

Запись результата производится на место первого операнда.

РАРП – регистр адреса регистровой памяти

РЧРП – регистр числа регистровой памяти

1 этап. Выбор машинной команды.

РАП = СчК – адрес следующей выполняемой команды помещаем в память.

РЧП = Чт (РАП) – на РЧП прочитали команду.

РК = РЧП – передали команду на РК.

СчК = СчК + n – (n – это длина в байтах текущей выполняемой команды).

2 этап. Дешифрация.

3 этап. Формирование исполнительного адреса и выбор операндов.

РАРП = РК (R1) – подали номер РОНа, где хранится первый операнд.

РЧРП = Чт (РАРП) – выбрали первый операнд.

РЧРП = Чт (РАРП) – выбрали второй операнд.

4 этап. Выполнение операций в АЛУ.

5этап. Запись результата.

Зп (РАРП) = РЧРП – записали результат в R1.

Базовая адресация

1.

В адресном поле Аi выделяется 2 подполя: Вi и Di.

Bi – номер базового регистра или адрес ячейки памяти, где хранится база.

(Bi) – база; наиболее часто база хранится в РОНах.

Di – смещени е, выбирается непосредственно из команды.

Исполнительный адрес формируется как сумма базы и смещения:

ИА = (Bi) + Di.

Bi (Bi) ИА операнд

производит только сложение

и вычисляет адрес (индексное АЛУ)

Индексная адресация

Xi – номер индексного регистра.

(Xi) – индекс.

Di – смещение.

Исполнительный адрес формируется как сумма индекса и смещения:

ИА = (Xi) + Di.

Xi (Xi) ИА операнд

Базово-индексная адресация

Xi – номер индексного регистра.

Bi – номер базового регистра.

Di – смещение.

Исполнительный адрес формируется как сумма индекса, базы и смещения:

ИА = (Xi) + (Bi) + Di.

Bi (Bi) ИА операнд

Прокрутить вверх

Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор.

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры.

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем.

Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:

Источник: zdamsam.ru

Этапы решения задач на компьютерах. Трансляция, компиляция и интерпретация

Работа по решению прикладной задачи на компьютере проходит через следующие этапы:

Читайте также:
Как работает программа для лазерного гравера

1. постановка задачи;

2. математическая формализация;

3. построение алгоритма;

4. составление программы на языке программирования;

5. отладка и тестирование программы;

6. проведение расчетов и анализ полученных результатов.

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

1 Постановка задачи

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

2 Математическая формализация (Моделирование).

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

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

Итак, создавая математическую модель для решения задачи, нужно: выделить предположения, на которых будет основываться математическая модель; определить, что считать исходными данными и результатами; записать математические соотношения, связывающие результаты с исходными данными.

3 Построение алгоритма.

Наиболее эффективно математическую модель можно реализовать на компьютере в виде алгоритмической модели. Для этого может быть использован язык блок-схем или какой-нибудь псевдокод, например учебный алгоритмический язык. Разработка алгоритма включает в себя выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование самого алгоритма.

4 Составление программы на языке программирования (Программирование).

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

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

5 Отладка и тестирование программы.

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

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

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

6 Проведение расчетов и анализ полученных результатов .

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

Пример. Пусть тело брошено вертикально вверх с начальной скоростью V0 с некоторой высоты Н0. Определить его местоположение и скорость в заданный момент времени.

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

  • тело мало по сравнению с Землей, поэтому его можно считать материальной точкой;
  • скорость бросания тела мала, поэтому:
  • ускорение свободного падения можно считать постоянной величиной;
  • сопротивлением воздуха можно пренебречь.
Читайте также:
Как понять что на тебе негативная программа

На втором этапе создается формализованная модель, т. е. описательная информационная модель записывается с помощью какого-либо формального языка.

Из курса физики известно, что описанное выше движение является равноускоренным. При заданных начальной скорости (Vo), начальной высоте (Но) и ускорении свободного падения (g = 9,8 м/с 2 ) зависимость скорости (V) и высоты (Н) от времени (t) можно описать следующими математическими формулами:

(1)

(2)

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

  • создание алгоритма решения задачи и его кодирование на одном из языков программирования;
  • формирование компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД и т. д.).

Для реализации первого пути надо построить алгоритм определения Координаты тела в определенный момент времени и записать его на псевдокоде или построить блок-схему алгоритма.

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

Четвертый этап состоит в переводе алгоритма на конкретный язык программирования с учетом специфики выбранного языка.

При переводе на язык Basic (Бейсик) консольная программа может выглядеть так:

Dim V0 As Double, H0 As Double, H As Double, t As Double, g As Double

V0 = InputBox(«Начальная скорость:»)

H0 = InputBox(«Начальная высота:»)

t = InputBox («Время полета:»)

H = H0 + V0 * t — (g * t * t) / 2

MsgBox(«Искомая высота = »

H = H0 + V0 * t — (g * t * t) / 2;

Console.WriteLine((«Искомая высота = «, H);

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

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

Если компьютерная модель исследуется в приложении, например в электронных таблицах, можно провести сортировку или поиск данных, построить диаграмму или график и т. д.

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

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

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

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

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

Интерпретатор анализирует и тут же выполняет программу покомандно, по мере поступления ее исходного кода на вход интерпретатора.
Алгоритм работы простого интерпретатора:
1) прочитать инструкцию;
2) проанализировать инструкцию и определить соответствующие действия;
3) выполнить соответствующие действия;
4) если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2.

Дата добавления: 2016-05-31 ; просмотров: 10610 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Источник: poznayka.org

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru