Что представляет собой машинная программа какая информация содержится
КАТЕГОРИИ:
Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)
Машинная программа, как уже говорилось, представляет собой последовательность машинных команд. Эти машинные команды последовательно записываются в оперативной памяти компьютера, начиная с определенного адреса. Для того чтобы компьютер начал выполнять программу, необходимо указать этот адрес. После этого машинные команды начинают поочередно переписываться в командный регистр процессора и выполняться. При выполнении команд безусловного и условного перехода порядок выполнения команд будет меняться. Когда выполнение программы дойдет до специальной команды конца программы, программа закончит свою работу.
На первом этапе развития вычислительной техники на компьютере могла работать только одна программа, которая всегда размещалась в памяти, начиная с нулевого адреса. Поэтому адреса, используемые в командах программы, всегда были одни и те же. Программисты составляли программы сразу на машинном языке, используя цифровую запись команд. Этот процесс был очень трудоемок, а программа, написанная на машинном языке, имела ряд недостатков. Во-первых, исторически сложилось так, что в мире существовало очень много типов компьютеров и, соответственно, много вариантов машинных языков. В результате программа на машинном языке годилась только для своего компьютера. Во-вторых, программу на машинном языке трудно читать даже профессионалу. В-третьих, в такой программе очень трудно находить ошибки и описки. Если объем программы превышает критический, программу практически невозможно полностью отладить. В-четвертых, даже если программа доведена до уровня, при котором она полностью отвечает поставленной задаче, малейшие изменения в целях программы могут вызвать трудно преодолимые трудности в модификации программы.
Увеличение мощности компьютеров в сочетании с их дороговизной имело много следствий. Во-первых, системой стала работа на компьютере нескольких пользователей одновременно. Соответственно в оперативной памяти стали размещаться несколько программ, и поэтому начальный адрес программы мог меняться от запуска к запуску. При этом сбиваются рабочие адреса данных в памяти в командах программы. С этой проблемой оказалось справиться несложно. Программы стали строиться таким образом, что для вычисления адреса теперь использовались две характеристики: базовый начальный адрес размещения программы в памяти, который менялся от запуска к запуску, и смещение фактического адреса относительно базового начального адреса, которое зафиксировано в готовой программе. В современных компьютерах эта идея реализуется уже на уровне устройства процессора: в специальном регистре процессора запоминается базовый адрес размещения программы. В машинных командах для указания адреса информации записаны только смещения. Фактический адрес, который используется для извлечения данных в регистры процессора, получается сложением базового адреса со значением смещения адреса. Регистр базового адреса заполняется в момент размещения программы в памяти и в процессе выполнения программы не меняется (однако при переходе к подпрограмме (см. ниже) базовый адрес может измениться). От команды к команде меняется только адресный регистр смещения.
Вторым следствием увеличения мощности компьютера стало увеличение объема программ. Эта, а также некоторые другие причины, привели к усложнению структуры программы, то есть разбиение их на более простые блоки с указанием логики использования этих блоков. Результатом явилось появление концепции подпрограммы. Подпрограммой принято называть законченную программу, которая выполняет не самостоятельную, а служебную функцию. Эта функция обычно носит стандартный, повторяющийся характер и может использоваться не в одной, а во многих программах. С точки зрения использующих ее программ от подпрограммы требуется правильное выполнение возложенной на нее функции, а ее внутреннее строение роли не играет. Наличие определенной подпрограммы позволяет программисту в определенных случаях вместо самостоятельного программирования какой-то части программы просто обратиться к услугам специально созданной для этого подпрограммы, пусть даже она создана другим программистом.
Концепция подпрограмм привела к появлению и распространению библиотек подпрограмм, что привело к колоссальному увеличению производительности труда программиста. Одновременно прогресс в технологии сохранения данных на внешних носителях привел к необходимости создания специальных служебных подпрограмм, которые бы обеспечивали эффективную работу с этими внешними устройствами. В результате появились целые комплексы служебных подпрограмм, называемых операционными системами, которые предназначены освободить программистов от программирования стандартных, рутинных операций. Это привело к настоящей революции в технологиях функционирования компьютера. Современные компьютеры даже не начнут работать, если в них нет операционной системы.
В каждом работающем современном компьютере одновременно сосуществует множество программ, которые образуют несколько слоев, или уровней. На самом высшем уровне расположена одна программа, которая называется ядром операционной системы (другое ее название – диспетчер операционной системы). В некотором смысле она является единственной настоящей программой в компьютере. Ядро запускает в качестве своих подпрограмм программы, обеспечивающие различные режимы операционной системы. Те, в свою очередь, в качестве подпрограмм запускают служебные программы операционной системы – утилиты. Если пользователь компьютера хочет выполнить какую-то пользовательскую программу, то она также запускается как подпрограмма ядра операционной системы.
Пользовательские программы могут в качестве подпрограмм запускать другие подпрограммы, которые будут образовывать более низкий слой, и т.д. Однако использование подпрограмм приводит к некоторым проблемам непосредственно на машинном уровне. Дело в том, что современная технология работы процессора подразумевает, что для правильного функционирования каждой работающей программы кроме самой программы, расположенной где-то в оперативной памяти, необходимо задать некоторое окружение программы. Окружение включает стандартные параметры, которые нужны операционной системе для правильного функционирования программы. В качестве примера можно привести базовый начальный адрес текущего размещения программы в памяти. (На самом деле программы состоят из трех сегментов: собственно программы (программного кода), сегмента данных и служебного сегмента, называемого стеком; поэтому окружение программы содержит три базовых адреса.). Сама программа не меняется от запуска к запуску, а меняется ее окружение. Окружение хранится в оперативной памяти, а его адрес – в одном из регистров процессора. Кроме того, элементы окружения текущей программы также размещаются в регистрах процессора. Если одна программа для выполнения какого-то действия должна обратиться к подпрограмме (говорят – вызвать подпрограмму), то это происходит следующим образом:
¨ текущая программа задерживается на очередной команде и переходит в пассивное состояние;
¨ окружение текущей программы, включая значения всех регистров процессора, временно сохраняются где-нибудь в оперативной памяти;
¨ в оперативной памяти отыскивается незанятый участок, достаточный для размещения подпрограммы, и нужная подпрограмма переписывается на этот участок;
¨ создается окружение подпрограммы, оно становится текущим для процессора, заполняются необходимыми данными регистры процессора;
¨ управление передается подпрограмме, для чего в адресный регистр просто записывается адрес первой команды программы;
¨ когда подпрограмма заканчивает свою работу, восстанавливается окружение и значения регистров программы, вызвавшей данную подпрограмму;
¨ место подпрограммы в оперативной памяти освобождается, то есть считается впредь незанятым;
¨ программа продолжает работать с той команды, на которой она остановилась.
Все эти действия, весьма нетривиальные, выполняет операционная система. Это одна из ее функций, которая называется управлением выполнением программ. Если подпрограмма, в свою очередь, вызовет третью программу, то мы будем иметь две программы, застывших в состоянии вызова, и два сохраненных окружения программ. На самом деле такая цепочка вызовов может быть достаточно длинной.
Когда программа вызывает некоторую подпрограмму, может потребоваться передать подпрограмме некоторую информацию, а затем получить обратно данные, образующие результат работы подпрограммы. Эти данные называются параметрами (соответственно входными и выходными). Передача параметров производится операционной системой тогда же, когда происходит передача управления подпрограмме и обратно. Каждая программа дополняется стандартными блоками в начале и конце подпрограммы, которые должны выполнять необходимые действия перед началом и после окончания работы программы. В частности, в них выделяется специальное место для параметров (то есть буфер для обмена данными между программой и подпрограммой). Также вставляется в вызывающую программу стандартный блок, выполняющий все операции по обращению к подпрограмме, включая передачу и получение данных в буфере обмена в подпрограмме.
Важным элементом управления процесса вычисления в компьютере являются прерывания. Прерывание является средством обеспечения независимой параллельной работы различных устройств компьютера. С этой целью всегда, когда необходимо выполнить некоторую независимую операцию (например, ввод с клавиатуры), соответствующее устройство посылает процессору прерывание. По этому прерыванию процессор должен приостановить нормальный ход выполнения текущей программы и произвести некоторые промежуточные вспомогательные действия. Прерывание также возникает в случае появления ошибочных вычислений (например, в случае деления на ноль) или в случае сбоев при взаимодействии с устройствами компьютера. Во всех этих случаях процессор вместо выполнения очередной команды текущей программы начинает выполнять программу обработки прерывания, соответствующую номеру полученного прерывания (естественно, что все такие программы должны быть предусмотрены в операционной системе компьютера). После обработки прерывания процессор возвращается к выполнению текущей команды (если другое действие не предусмотрено программой обработки прерывания).
Прежде, чем выполнить очередную команду, процессор проверяет, не поступило ли какое-то прерывание. Если поступило, то сначала запрашивается подтверждение прерывания, после чего определяется тип прерывания. Затем процессор приступает к выполнению программы обработки поступившего прерывания. При этом, как при вызове обычной подпрограммы, запоминается состояние регистров процессора и некоторых других параметров текущей программы, После окончания работы программы обработки прерывания состояние регистров процессора восстанавливается.
Прерывание работы процессора по запросу внешних устройств устраняет необходимость выполнения им неэффективных операций по проверке готовности внешних устройств к обмену данными и снижает затраты времени на ожидание готовности периферийного устройства к обмену. Прерывания необходимы при обмене данными с большим числом параллельно работающих внешних устройств.
Запросы на прерывание бывают немаскируемыми и маскируемыми. Немаскируемые запросы реализуются аппаратно и поступают в процессор по специально выделенным для этого линиям шины управления. Немаскируемые запросы обладают наивысшим приоритетом. К ним относятся запросы от схем питания и аппаратуры контроля правильности передачи данных. Маскируемые запросы поступают от внешних устройств и означают запросы на внеочередное выполнение каких-либо штатных действий, например, операций ввода-вывода. В блоке управления процессора есть разряд, содержащий флаг разрешения прерывания. Специальная машинная команда устанавливает этот флаг в такое состояние, которое запрещает прерывание. Другая команда разрешает прерывания.
Размещение программ, подпрограмм и данных может быть статическим и динамическим. При статическом размещении оно происходит в момент запуска программы и сохраняется на все время работы программы. При динамическом размещении память подпрограмме выделяется в момент обращения к ней, и освобождается после окончания работы подпрограммы. Выделение и освобождение памяти – это еще одна функция операционной системы, которая называется управлением памятью. Память для данных выделяется и освобождается по специальным командам, адресованным операционной системе. Фактически это обращение к специальным подпрограммам операционной системы.
Современные операционные системы ориентированы на мультизадачный режим выполнения программ. В этом режиме для пользователей создается иллюзия одновременного выполнения нескольких программ. Однако следует помнить, что в однопроцессорных компьютерах в каждый момент времени может работать только одна программа, и эффект параллельной работы программ создается за счет быстрой смены моментов времени работы каждой программы.
Контрольные вопросы по теме.
1. Какие функции выполняет оперативная память?
2. Что такое адрес оперативной памяти?
3. Какие функции выполняет процессор?
4. Какую роль в компьютере выполняют порты ввода-вывода?
5. Для чего нужна шина адреса?
6. Как процессор выполняет машинную команду?
7. Как процессор узнает очередность выполнения команд?
8. Каковы причины разбиения программ на подпрограммы?
9. Для чего нужны прерывания?
10. Что такое мультизадачность?
11. Что означает функция управления памятью?
Дата добавления: 2014-10-17; Просмотров: 1666; Нарушение авторских прав?
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
Рекомендуемые страницы:
Источник
Алгоритм – точное описание действий над заданными объектами, приводящих к заданной цели за ограниченное число шагов. Машинная команда – элементарная инструкция машине, выполняемая без каких-либо дополнительных указаний и пояснений. Машинная программа – алгоритм решения задач, заданный в виде последних команд на языке машины, коде машины.
Машинная команда состоит из 2-ух частей : операционная и адресная
Операционная часть- это группа разрядов в команде, предназначенная для представления кода операции машины
Адресная часть- это группа разрядов в команде, в которой записываются коды адреса или адресов ячеек памяти машины, предназначенных для оперативного хранения инф-ции или иных объектов, задействованных при выполнении команды.
Эти адреса называют адресами операндов, т.е. чисел, участвующих в операции.
12. Какие основные блоки входят в состав ПК? Микропроцессор и его функции.
Математический сопроцессор, основная память, внешняя память, микропроцессор, система шин, интерфейсная система, видео монитор, печатающее устройство и т.д.
Микропроцессор, иначе, центральный процессор – функционально законченное программно-управляемое устройство обработки информации, выполненное в виде одной или нескольких больших (БИС (большая интегральная схема)) или сверхбольших (СБИС) интегральных схем. Микропроцессор выполняет следующие функции: чтение и дешифрацию команд из основной памяти; чтение данных из ОП и регистров адаптеров внешних устройств; прием и обработку запросов и команд от адаптеров на обслуживание ВУ; обработку данных и их запись в ОП и регистры адаптеров ВУ; выработку управляющих сигналов для всех прочих узлов и блоков ПК.
В чем различие между тактовой частотой ПК и внутренней частотой микропроцессора? Каковы назначение и основные характеристики КЕШ-памяти?
Это буферная, не доступная для пользователя быстродействующая память, автоматически используемая компьютером для ускорения операций с информацией, хранящейся в более медленно действующих запоминающих устройствах. Например, для ускорения операций с основной памятью организуется регистровая КЭШ-память внутри микропроцессора (КЭШ-память первого уровня) или вне микропроцессора на материнской плате (КЭШ-память второго уровня); для ускорения операций с дисковой памятью организуется КЭШ-память на ячейках электронной памяти.
Каковы назначение и основные характеристики оперативной, постоянной и внешней памяти?
Внешняя относится к внешним устройствам ПК и используется для долговременного хранения любой информации, которая может когда-либо потребоваться для решения задач. В частности, во внешней памяти хранится все программное обеспечение компьютера. Внешняя память содержит разнообразные виды запоминающих устройств, но наиболее распространенными, имеющимися практически на любом компьютере, являются накопители на жестких (НЖМД) и гибких (НГМД) магнитных дисках.
Назначение этих накопителей – хранение больших объемов информации, запись и выдача хранимой информации по запросу в оперативное запоминающее устройство. Различаются НЖМД и НГМД лишь конструктивно, объемами хранимой информации и временем поиска, записи и считывания информации.
В качестве устройств внешней памяти используются также запоминающие устройства на кассетной магнитной ленте (стримеры), накопители на оптических дисках (CD-ROM – Compact Disk Read Only Memory – компакт-диск с памятью, только читаемой) и др.
Постоянная – также строится на основе установленных на материнской плате модулей (кассет) и используется для хранения неизменяемой информации: загрузочных программ операционной системы, программ тестирования устройств компьютера и некоторых драйверов базовой системы ввода-вывода (BIOS – Base Input-Output System) и др. Из ПЗУ можно только считывать информацию, запись информации в ПЗУ выполняется вне ЭВМ в лабораторных условиях. Модули и кассеты ПЗУ имеют емкость, как правило, не превышающую нескольких сот килобайт. ПЗУ – энергонезависимое запоминающее устройство.
Оперативная- в информатике — память, предназначенная для временного хранения данных и команд, необходимых процессору для выполнения им операций. Оперативная память передаёт процессору команды и данные непосредственно, либо через кэш-память. Каждая ячейка оперативной памяти имеет свой индивидуальный адрес.
Основные блоки персонального компьютера и их значение. Последовательность работы блоков ПК при выполнении программы.
Блоки : процесс-обработка данных; принятие решения – логический блок проверка условия; передача данных – ввод-вывод данных; пуск, остановка – начало, конец программы; модификация-начало цикла.
Какова классификация вычислительных машин? Что такое цифровая вычислительная машина, аналоговая, гибридная?
АВМ-аналоговые; ГВМ-гибридные; ЦВМ-цифровые
Критерием деления являются формы представления инфы, с которой они работают.
Цифровые ВМ- машины дискретного действия. Работают с инфой, представленной в дискретной, а точнее в цифровой форме.
Аналоговые-машины непрерывного действия работают с информацией, представленной в аналоговой форме, т.е. непрерывного значения какой-либо физической величины. Эл-кое напряжение
Гибридные-машины комбинированного действия. .
Что представляют собой сервер, рабочая станция, распределенная обработка данных?
сервер – интенсивно развивающаяся группа микро ЭВМ развивающихся в сети. Это компьютер выделенный для обработки запросов со всех станций сети, а также представляющий этим станциям доступ к общим системным ресурсам. На серевер возложены функции распределения ресурсов
Рабочая страница – однопользовательская микро ЭВМ специализированная на выполнении определенного вида работ.
Обработка данных – каждая рабочая станция специализирующаяся на определенном виде работ, согласуя их между собой.
Понятия «многомашинный вычислительный комплекс» и «компьютерная сеть». Пояснить отличие компьютерной сети от многомашинного вычислительного комплекса.
Могомашинный вычислительный комплекс – совокупность технических средств, включающих в себя несколько ЭВМ или процессоров, и общесистемного (базового) программного обеспечении.
компьютерная сеть (вычислительная сеть, сеть передачи данных) — система связи между двумя или более компьютерами. Для передачи информации могут быть использованы различные физические явления, как правило — различные виды электрических сигналов или электромагнитного излучения.
Отличие весьма простое, на мой взгляд, вычислительный комплекс основан на какой-либо одной деятельности или виде работы в то время как компьютерная сеть позволяет меняться данными в разных сферах деятельности компьютера.
Классификация компьютерных сетей. Глобальная, региональная, локальная вычислительная сети. Основные элементы компьютерной сети.
Глобальная, региональная, локальная.
Глобальная – совокупность двух или более географически распределенных сетей, то есть, сеть которая связывает страны и всё такое. Региональная – сеть связывающая регионы страны. Локальная – сеть одного данного провайдера, которым вы пользуетесь, то есть сколько провайдеров, столько и лок. Сетей.
Основные элементы компьютерной сети. – модем, кабель, абонентская система.
Понятие абонентской системы. Основные компоненты коммуникационной сети.
абонентская система-это и есть рабочая станция.
Коммуникационная сеть — сеть, основной задачей которой является передача данных без ошибок и искажения. Коммуникационная сеть является ядром информационной сети, обеспечивающим передачу и некоторые виды обработки данных.
Что представляют собой симплексная, полудуплексная, дуплексная передача данных? Как передаются данные в асинхронном и синхронном режиме?
Симплексная передача – передача данных по физическому соединению только в одном заранее выбранном направлении. Дуплексная передача (duplex) – передача данных в двух направлениях по одному каналу. Различается полный дуплекс (full-duplex, FDX) и полудуплекс (half-duplex, HDX). Полудуплексная передача – метод двунаправленной передачи данных, при котором в каждый момент времени информация может передаваться только в одну сторону.
Синхронная – передача данных идет блоками которые обрамляются специальными управляющими символами. Асинхронная-данные передаются в канал связи как последовательность битов из которой при приеме необходимо выделить байты для последующей их обработки.
Рекомендуемые страницы:
Источник