Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВССиТК-Лекция01.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
104.96 Кб
Скачать

Программное управление работой ВС.

Режимы работы ВС

(Слайд 1)

1. Программное управление — основа автоматизации вычислительного процесса

2. Алгоритмические языки.

3. Ко­манды.

4. Состав машинных команд.

5. Режимы работы компьютеров.

5.1. Однопрограммный режим.

5.2.Многопрограммный режим.

6. Система прерываний программ в ПК.

1. Программное управление — основа автоматизации вычислительного процесса

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

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

Основными свойствами правильно построенного алгоритма являются (Слайд 2):

  • результативностьалгоритм дает конкретное конструктивное ре­шение, а не указывает на возможность решения вообще;

  • достоверностьалгоритм соответствует сущности задачи и форми­рует верные, не допускающие неоднозначного толкования решения;

  • реалистичность — возможность реализации алгоритма при заданных ограни­чениях: временных, программных, аппаратных;

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

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

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

  • экономичность — алгоритм обеспечивает необходимую и достаточную точность решения задачи.

  • доступ­ность - алгоритм должен быть понятен (доступен) пользователю и / или ВС.

Доступ­ность означает, что алгоритм должен отображаться посредством конкретных формализованных изобразительных средств, понятных пользователю - способов записи (Слайд 3):

  • словесный способ - содержание последовательных этапов алгоритма описывается в произвольной форме на естественном языке;

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

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

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

  • графическое отображение - блок-схемы — самый распростра­ненный способ. Графические символы, отображающие выполняемые процеду­ры, стандартизованы. Наряду с основными символами используются и вспо­могательные, поясняющие процедуры и связи между ними;

  • алгоритмы могут быть записаны и в виде команд какого-либо языка програм­мирования. Если это макрокоманды, то алгоритм читаем и пользователем-про­граммистом, и вычислительной машиной, имеющей транслятор с соответству­ющего языка.

2. Алгоритмические языки.

Алгоритмические язы­ки, представляющие алгоритмы в виде последовательности читаемых програм­мистом (не двоично-кодированных) команд, подразделяются (Слайд 4):

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

  2. Процедурно-ориентированные и проблемно-ориентированные языки относятся к языкам высокого уровня, использующим макрокоманды, которые при трансляции генерируют:

  • процедурно-ориентирован­ная макрокоманда - десятки машинных ко­манд,

  • проблемно-ориентированная макрокоманда - сотни машинных команд.

Процедурно-ориентированные языки программирования — самые ис­пользуемые (Basic, Pascal, C++, PL, ALGOL, COBOL и др.). При их использовании программист должен описывать всю процедуру решения задачи, тогда как проблемно-ориентированные языки (их называют так­же непроцедурными) позволяют лишь формально идентифицировать проблему и указать состав, структуры представления и форматы входной и выходной ин­формации для задачи. В настоящее время значение такие языки потеряли актуальность. Доминируют пакеты прикладных программ и специальные приложения.

Все языки программирования (машинно-ориентированные и вы­сокого уровня), для их восприятия компьютером требуют наличия программ пере­вода — трансляторов на машинный язык (Слайд 5).

Транслятор (translator) — програм­ма, преобразующая программу, написанную на одном языке, в программу, представлен­ную на другом языке. Транслятор воспринимает предложения (операторы) одного языка и вырабатывает соответствующие предложения (операторы) другого языка. Если вторым является язык процессора, то транслятор именуют компи­лятором. Например, компилятор берет про­грамму, написанную на языке С, и преобра­зует ее в программу на языке ассемблера

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

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

3. Ко­манды.

Алгоритм решения задачи, заданный в виде последовательности команд на языке ЭВМ (в кодах машины), называется машинной программой.

Адреса

КОП

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

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

Адресная часть команды (адреса) - это группа разрядов в команде, в которых за­писываются коды адреса (адресов) ячеек памяти машины предназначенных для оперативного хранения информации, или иных объектов, задействованных при выполнении команды. Часто эти адреса называются адресами операндов, то есть чисел, участвующих в операции. По количеству адресов (Аl, А2, АЗ,...), записываемых в команде, команды делятся на безадресные, одно-, двух- и трехадресные.

КОП

А1

А2

А3

Типовая структура трехадресной команды:

Аl и А2 — адреса ячеек (регистров), где расположены соответственно первое и второе числа, участвующие в операции, АЗ — адрес ячейки (регистра), куда следует поместить число, полученное в результате выполнения операции.

КОП

А1

А2

Типовая структура двухадресной команды:

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

КОП

Т

А1

иповая структура одноадресной команды:

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

Безадресная команда содержит только код операции, а информация для нее долж­на быть заранее помещена в определенные регистры машины (безадресные коман­ды могут использоваться только совместно с командами другой адресности).