Вопрос 1. Программный принцип управления компьютером
Компьютер является универсальным инструментом для решения разнообразных задач по преобразованию информации, но его универсальность определяется не столько аппаратным обеспечением, сколько установленными программными средствами, другими словами, все «знания» компьютера сосредоточены в программах, которые представляют собой точную и подробную последовательность инструкций, представленных на понятном для компьютера языке, по обработке информации. Меняя программы на компьютере можно превратить его в рабочее место дизайнера, бухгалтера или конструктора, статистика или агронома, использовать его для прослушивания музыки, просмотра кинофильмов и других развлечений.
Джоном фон Нейманом в 1945 г. были описаны основные принципы построения компьютеров, которые до сих пор являются стандартом практически для всех компьютеров. Одним из них является программное управление.
В основе принципа программного управления лежит представление алгоритма решения любой задачи в виде программы вычислений.
Алгоритм[2][1] – точное предписание, определяющее процесс преобразования исходных данных в конечный результат. При решении задачи применим общий алгоритм: 1) получить исходные данные; 2) найти решение; 3) сообщить ответ.
Программа(для компьютера)[3][2] – это упорядоченная последовательность команд, подлежащая обработке. Программа описывает операции, которые нужно выполнить процессору компьютера для решения поставленной задачи.
Команда – это инструкция машине на выполнение элементарной операции. Набор операций, которые может выполнять компьютер, и правил их записи образуют машинный язык.
Структура команды в общем случае имеет вид:
КОП Код операции | А1 Адрес 1-го операнда | А2 Адрес 2-го операнда | А3 Адрес помещения результата | А4 Адрес следующей команды |
Исторически сложилась тенденция к увеличению количества команд в машинном языке. Разработчики считали, что чем больше в нем команд, тем шире возможности по обработке данных. В настоящее время совершается переход на RISC-процессоры, основной характеристикой которых является сокращение набора команд и упрощение их структуры.
Суть принципа программного управления заключается в следующем:
· все вычисления, предписанные алгоритмом решения задачи, должны быть представлены в виде программы, состоящей из последовательности управляющих слов-команд;
· каждая команда содержит указания на конкретную выполняемую операцию, место нахождения (адрес) операндов и ряд служебных признаков. Операнды –это переменные, значения которых участвуют в операциях преобразования данных. Список всех переменных (входных и данных, промежуточных значений и результатов вычислений) является неотъемлемым элементом любой программы;
· для доступа к программам, командам и операндам используются их адреса, в качестве которых выступают номера ячеек памяти компьютера, предназначенных для хранения объектов;
· команды программы расположены в памяти друг за другом, что позволяет микропроцессору организовывать выборку цепочки команд из последовательно расположенных ячеек памяти и выполнять команду за командой.
· для перехода к выполнению не следующей по порядку команды, а к какой-то другой, используются команды условного или безусловного переходов. Выборка команд из памяти прекращается после достижения и выполнения команды «стоп». Таким образом, процессор исполняет программу автоматически, без вмешательства человека.
Обычно программы хранятся во внешней памяти ПЭВМ и для выполнения передаются в оперативную память. Некоторые программы постоянно размещаются в памяти (ядро операционной системы, архиватор Zip Magic, монитор антивирусной программы Касперский АнтиВирус и др.) и называются резидентными, а другие – загружаются только на время выполнения, а затем удаляются из памяти, и называются транзитными.
Часть машинных программ, обеспечивающих автоматическое управление вычислениями и используемых наиболее часто, может размещаться в постоянном запоминающем устройстве – реализовываться аппаратно. Программы, записанные в ПЗУ, составляют базовую систему ввода/вывода (BIOS), которая является промежуточным звеном между программным обеспечением компьютера и его электронными компонентами. Ее компоненты обеспечивают выполнение всех операций ввода/вывода в соответствии со специфическими особенностями работы каждого из периферийных устройств данного компьютера (драйверы стандартных устройств), тестируют работу памяти и устройств компьютера при включении электропитания (тест), а также выполняют загрузку операционной системы.