Принципы программного управления. Краткие пояснения принципов
Используемый в современных компьютерах принцип программного управления был предложен в 1945 году Дж. фон Нейманом. Этот принцип включает следующие положения.
Принципы программного управления. Краткие пояснения принципов обновлено: 22 ноября, 2019 автором: Научные Статьи.Ру
- Информация кодируется в двоичной форме и разделяется на единицы информации, называемые словами.
- Разнотипные слова информации различаются по способу использования, но не способами кодирования.
- Слова информации размещаются в ячейках памяти машины и идентифицируются номерами ячеек, называемыми адресами слов.
- Алгоритм представляется в форме последовательности управляющих слов, называется командами. Алгоритм, представленный в терминах машинных команд, называется программой.
- Выполнение вычислений, предписанных алгоритмом, сводится к последовательному выполнению команд в порядке, однозначно определяемом алгоритмом.
Использование в ЭВМ двоичных кодов обусловлено спецификой электронных схем, применяемых для передачи, хранения и преобразования информации.
Согласно второму положению, все слова в ЭВМ выглядят совершенно одинаково и сами по себе неразличимы. Только порядок использования слов в программе вносит в них различия.
Третье положение фиксирует специфику хранения и идентификации (обозначения) информации, порождаемую свойствами машинной памяти.
В четвертом положении утверждается, что программа представляется в ЭВМ в виде упорядоченной линейной последовательности команд .
Согласно пятому положению, память неймановской машины сугубо линейна. Это выражается в том, что процесс вычислений, выполняемых ЭВМ по заданной программе, начинается с команды, заданной пусковым адресом программы. За ней выполняется следующая в памяти команда.
Принципы хранения информации в программе и выполнения обработки данных. Специфику хранения и идентификации (обозначения) информации, порождаемую свойствами машинной памяти. Машинная память – совокупность ячеек, каждая из которых служит местом для хранения слова информации, и наиболее подходящий синоним этого термина – ‘склад информации’. Ячейка памяти выделяется для хранения значения величины, в частности, константы или команды. Чтобы записать слово в память, необходимо указать адрес ячейки, отведенной для хранения соответствующей величины. Чтобы выбрать слово из памяти (прочитать его), следует опять же указать адрес ячейки памяти. Таким образом, адрес ячейки становится машинным идентификатором (именем) величины и команды. Для обозначения величин и команд в ЭВМ нет никаких других средств, кроме адресов, присваиваемых величинам и командам в процессе составления программы вычислений. Кроме того, отметим, что выборка (чтение) слова из памяти не разрушает информацию, хранимую в ячейке. Это позволяет любое слово, записанное однажды, читать какое угодно число раз, т.е. из памяти выбираются не слова, а копии слов. Дополнительно к сказанному следует заметить, что адрес ячейки может быть представлен в ЭВМ как и любое другое слово информации, что используется в операциях индексирования и базирования.
Согласно пятому положению, память неймановской машины сугубо линейна. Это выражается в том, что процесс вычислений, выполняемых ЭВМ по заданной программе, начинается с команды, заданной пусковым адресом программы. За ней выполняется следующая в памяти команда. Последовательность нарушается только в том случае, если выполняется команда условного или безусловного перехода, в которой непосредственно указывается адрес следующей команды. Процесс вычислений продолжается до тех пор, пока не будет выполнена команда, предписывающая прекращение вычислений.
Принципы программного управления. Краткие пояснения принципов обновлено: 22 ноября, 2019 автором: Научные Статьи.Ру
1. Принципы программного управления
На предыдущей лекции мы рассмотрели аппаратную конфигурацию вычислительных систем. Сегодня рассмотрим программную конфигурацию. Для того, чтобы персональный компьютер был универсальным устройством для обработки информации, необходимо составить для компьютера на понятном ему языке (т.е. состоящую из 0 и 1) точную и подробную последовательность инструкций как надо обрабатывать информацию – программу. Сам по себе компьютер не обладает знаниями ни в одной области своего применения, все эти знания сосредоточены в выполняемых на компьютере программах. Часто употребляемое выражение «компьютер подсчитал» (, нарисовал) означает, что на компьютере была выполнена программа, которая позволила совершить соответствующее действие.
В основу построения подавляющего большинства компьютеров положены следующие общие принципы, сформулированные в 1945 г. американским ученым Джоном фон Нейманом.
Принцип двоичного кодирования
Согласно этому принципу, вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов. То есть при хранении информации в машине используется двоичная система счисления.
Принцип однородности памяти
Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.
Это открывает целый ряд возможностей. Например, программа в процессе своего выполнения также может подвергаться переработке, что позволяет задавать в самой программе правила получения некоторых ее частей (так в программе организуется выполнение циклов и подпрограмм).
Более того, команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции — перевода текста программы с языка программирования высокого уровня на язык конкретной машины.
Принцип адресности
Структурно основная память состоит из перенумерованных ячеек; процессору в произвольный момент времени доступна любая ячейка.
Отсюда следует возможность давать имена областям памяти, так, чтобы к запомненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен.
Первый компьютер, в котором были воплощены принципы фон Неймана, был построен в 1949 году английским исследователем Морисом Уилксом. С той поры компьютеры стали гораздо более мощными, но подавляющее большинство из них сделано в соответствии с теми принципами, которые изложил в своем докладе в 1945 году Джон фон Нейман, и называются они ФОН-НЕЙМАНОВСКИМИ
Команда — это описание элементарной операции, которую должен выполнить компьютер.
В общем случае, команда содержит следующую информацию:
указания по определению операндов (или их адресов);
указания по размещению получаемого результата
Команды хранятся в ячейках памяти в двоичном коде
Принцип программного управления
Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной команды на длину команды.
А так как команды программы расположены в памяти друг за другом, то тем самым организуется выборка цепочки команд из последовательно расположенных ячеек памяти.
Если же нужно после выполнения команды перейти не к следующей, а к какой-то другой, используются команды условного или безусловного переходов, которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды “стоп”.
Таким образом, процессор исполняет программу автоматически, без вмешательства человека.
Меняя программы на компьютере, можно превратить его в рабочее место бухгалтера или конструктора, статиста или агронома, редактировать на нем документы или играть. Поэтому для эффективного использования компьютера необходимо знать назначение и свойства необходимых при работе с ним программ.
Программа – упорядоченная последовательность команд компьютера для решения задач.
Программное обеспечение (software)– совокупность программ обработки данных и необходимых для их эксплуатации документов.
Программа на машинном языке состоит из машинных команд — элементарных инструкций машине, выполняемых ею автоматически без каких либо дополнительных указаний. Машинная команда состоит из двух частей – операционной и адресной. Операционная часть – это группа разрядов в команде, предназначенная для представления кода операции машины. Адресная часть – это группа разрядов в команде, в которой записываются коды адреса ячеек памяти машины, предназначенных для оперативного хранения информации, т.е. которые задействованы во время выполнения команды.
— например, так выглядит машинная команда для нахождения суммы двух чисел.
Классификация языков программирования.
Первым программистом в мире называют Аду Лавлейс, современницу Чарльза Беббиджа, которая по достоинству оценила достоинства вычислительной машины и разработала некоторые приемы управления последовательностью вычислений, например описала конструкцию цикл. На заре компьютерной эры машинный код (программа, написанная с помощью лишь двух символов 0 и 1) был единственным средством общения человека с компьютером. Революционным моментом в истории языков программирования стало появление системы кодирования машинных команд с помощью специальных символов, предложенной Джоном Моучли, сотрудником Пенсильванского университета в середине прошлого века. Так зародились языки программирования. Система кодирования, предложенная Моучли, увлекла одну из сотрудниц его компании – Грейс Хоппер, которая по праву считала себя третьим программистом и посвятила всю свою жизнь компьютерам и программированию.. Огромным достижением создателей языков программирования было то, что они сумели заставить сам компьютер работать переводчиком с этих языков на машинный код. Т.е. были созданы компиляторы с созданных ими пока еще примитивных языков высокого уровня в машинные коды. В этих программах содержатся все правила и конструкции соответствующего языка программирования, а также способы преобразований этих конструкций на машинный язык.
Хоппер объясняла необходимость появления такой системы тем, что существует большое множество людей, которые хотят решать различные задачи, но нет смысла превращать их всех в математиков. Стали появляться новые языки со своими компиляторами:
50-е – КОБОЛ (для обработки коммерческих данных),
54 г. — Фортран (FORmula TRANslator) – фирма IBM
середина 60-х – BASIC (из простых английских слов)
Языки программирования служат разным целям и их выбор определяется удобностью пользователя, пригодностью для данного компьютера и данной задачи. Период с конца 60-х до начала 80-х характеризовался бурным ростом числа различных языков, который завершился победой нескольких языков: Паскаль, Си, Бейсик, которые легко приспособились к персональным компьютерам.
Классическое операционное или процедурное программирование требует от программиста детального описания того, как решать задачу, т.е. формулировки алгоритма и его специальной записи. Основные понятия этих групп – оператор и данные. Принципиально иное направление в программировании связано с методологиями непроцедурного программирования. К нему относится объектно-ориентированное программирование, наиболее предпочтительными из них являются Си++, Delphi (на основе Паскаля) и Visual Basic. Каждый язык программирования высокого уровня имеет свой алфавит и синтаксис.