Бройдо В.Л., Ильина О.П. Архитектура ЭВМ и систем (2006) (1186249), страница 75
Текст из файла (страница 75)
3. Более подробно поясните характеристики микропроцессора ПК, важность зтих характеристик и рассмотрите современные типы микропроцессоров и их характеристики. 4. Назовите и поясните характеристики видеосистемы, определяемые программой его тестирования. Для каждого параметра укажите, почему он важен и какие значения он имеет у современных компьютеров. 340 Глава 16. Тестирование компьютера и его основных устройств 5. Назовите и поясните характеристики основной памяти, определяемые программой ее тестирования.
Для каждого параметра укажите, почему он важен и какие значения он имеет у современных компьютеров. 6. Назовите и поясните характеристики принтера, определяемые программой его тестирования. Для каждого параметра укажите, почему он важен и какие значения он имеет у современных принтеров. 7.
Назовите и поясните характеристики дисковой памяти, определяемые программой ее тестирования. Для каждого параметра укажите, почему он важен и какие значения он имеет у современных продвинутых компьютеров. 8. Назовите и поясните характеристики клавиатуры и манипулятора мышь, определяемые программой их тестирования.
9. Назовите и поясните характеристики мультимедийных компонентов ПК, определяемые программой его тестирования. 10. Назовите и поясните сведения о сетевом окружении ПК, определяемые программой его тестирования. ГЛАВА 17 Программное управление— основа автоматизации вычислительного процесса Решение задач на компьютере реализуется программным способом, то есть путем выполнения последовательно во времени отдельных операций над информацией, предусмотренных алгоритмом решения задачи. Алгоритм — это точно определенная последовательность действий, которые необходимо выполнить с исходной информацией, чтобы получить решение задачи.
Понятие алгоритма — одно из важнейших понятий математики, так как назначением математики и является разработка рациональных алгоритмов решения задач. Существует раздел математики — теория алгоритмов, занимающаяся разработкой методов и форм построения алгоритмов решения задач. Алгоритм решения задачи на вычислительной машине — это частный случай математического алгоритма.
Основными свойствами правильно построенного алгоритма являются: С3 результативность — алгоритм должен давать конкретное конструктивное решение, а не указывать на возможность решения вообще; а дастпаверность — алгоритм должен соответствовать сущности задачи и формировать верные, не допускающие неоднозначного толкования решения; О реалистичность — возможность реализации алгоритма при заданных ограничениях: временных, программных, аппаратных; 0 массовость — алгоритм должен быть воспроизводимым, пригодным для решения всех задач определенного класса на всем множестве допустимых значений исходных данных; с2 детерминированность (определенность) — алгоритм должен содержать набор точных и понятных указаний, не допускающих неоднозначного толкования; 343 0 дискретность — допустимость расчленения алгоритма на отдельные этапы с возможностью последовательной их реализации на машине; а экономичность — алгоритм должен обеспечивать необходимую и достаточную точность решения задачи.
Алгоритм должен быть понятен (доступен) пользователю и/или машине. Доступность пользователю означает, что он обязан отображаться посредством конкретных формализованных изобразительных средств, понятных пользователю. В качестве таких изобразительных средств используются следующие способы их записи: словесный, формульный, табличный, операторный, графический, макроязык программирования: 0 при словесном способе записи содержание последовательных этапов алгоритма описывается в произвольной форме на естественном языке; 0 формульный способ основан на строго формализованном аналитическом задании необходимых для исполнения действий; а табличный способ подразумевает отображение алгоритма в виде таблиц, использующих аппарат реляционного исчисления и алгебру логики для задания подлежащих исполнению взаимных связей между данными, содержащимися в таблице; а операторный способ базируется на использовании для отображения алгоритма условного набора специальных операторов: арифметических, логических, печати, ввода данных и т.
д.; операторы снабжаются индексами, и между ними указываются необходимые переходы, а сами индексированные операторы описываются чаще всего в табличной форме; 0 графическое отображение алгоритмов в виде блок-схем — самый распространенный способ. Графические символы, отображающие выполняемые процедуры, стандартизованы. Наряду с основными символами используются и вспомогательные, поясняющие процедуры и связи между ними; 0 алгоритмы могут быть записаны и в виде команд какого-либо языка программирования. Если зто макрокоманды, то алгоритм может быть прочитан и пользователем-программистом, и вычислительной машиной, имеющей транслятор с соответствующего языка.
Языки, представляющие алгоритмы в виде последовательности читаемых программистом (не двоична-кодированных) команд, называются алгоритмическими языками. Алгоритмические языки подразделяются на машинно-ориентированные,процедурно-ориентированные и проблемно-ориентированные. Машинно-ориентированные языки (МК вЂ” мнемокоды, ЯСК вЂ” языки символического кодирования, АК вЂ” автокоды, ассемблеры) относятся к языкам программирования низкого уровня: при их использовании машинные команды, воспринимаемые компьютером только в виде двоичного кода (совокупностей нулей и единиц), программистом записываются на более удобном языке, а именно в виде сочетаний букв и десятичных цифр.
Имеющаяся в компьютере специальная программа-транслятор переводит все буквенные сочетания и десятичные цифры в двоичный код и формирует таким образом машинную программу или машинный код, как эту программу часто называют. Программирование на этих языках 344 Глава 17. Программное управление — основа автоматизации вычислений наиболее трудоемко, но позволяет создавать оптимальные программы, максимально учитывающие функционально-структурные особенности конкретного компьютера.
Программы на этих языках, при прочих равных условиях, будут более короткими и быстрыми. Кроме того, знание основ программирования на машинно-ориентированном языке позволяет специалисту подробнейшим образом разобраться с архитектурой компьютера. Именно последнее в большей степени и обусловливает целесообразность ознакомления с машинно-ориентированным языком, каковым и является язык ассемблер, при изучении вычислительных систем. Большинство команд машинно-ориентированных языков при трансляции (переводе) на машинный (двоичный) язык генерируют одну машинную команду (уровень языка — «один к одному»).
Процедурно-ориентированные и проблемно-ориентированные языки относятся к языкам высокого уровня, использующим макрокоманды. Макрокоманда при трансляции генерирует много машинных команд: для процедурно-ориентированной макрокоманды это соотношение в среднем «1 к десяткам машинных команд», а для проблемно-ориентированной команды это «1 к сотням машинных команд». Процедурно-ориентированные языки программирования являются самыми используемыми (Ваэ(с, Раэса1, С++, Р1., АЕ001., СОВ01. и еще десятки популярных языков). В этом случае программист должен описывать всю процедуру решения задачи, тогда как проблемно-ориентированные языки (их называют также непроцедурными) позволяют лишь формально идентифицировать проблему и указать состав, структуры представления и форматы входной и выходной информации для задачи.
Все языки программирования, и языки машинно-ориентированные, и языки высокого уровня, для их восприятия компьютером требуют наличия программ перевода — трансляторов на машинный язык. Трансляторы бывают двух типов: трансляторы-компиляторы и трансляторы- интерпретаторы.
Компиляторы при трансляции переводят на машинный язык сразу всю программу и затем хранят ее в памяти машины в двоичных кодах. Интерпретаторы каждый раз при исполнении программы заново преобразуют в машинные коды каждую макрокоманду и передают ее для непосредственного выполнения компьютеру. В памяти интерпретируемые программы хранятся в виде исходных макрокоманд и поэтому в любой момент читаемы человеком.
Откомпилированные двоично-кодированные программы практически человеком не читаемы. Но их можно вызвать в специальную программу-отладчик (1)ЕВ()С и его разновидности), которая переведет эти программы на язык ассемблер, то есть сделает их «человекочитаемыми» (еще один довод в пользу изучения языка ассемблер) Итак, алгоритм непосредственно воспринимается и исполняется компьютером, если он представлен в двоичном коде на машинном языке. Алгоритм решения задачи, заданный в виде последовательности команд на языке вычислительной машины (в кодах машины), называется машинной программой.
Команда машинной программы (иначе машинная команда) — это элементарная инструкция машине, выполняемая ею автоматически без каких либо дополнительных указаний и пояснений. Машинная команда состоит из двух частей; операционной и адресной. Операционная чапль команды (КОП вЂ” код операции) — это группа разрядов в команде, предназначенная для представления кода операции машины. Адресная часть команды (адреса) — это группа разрядов в команде, в которых записываются коды адреса (адресов) ячеек памяти машины, предназначенных для оперативного хранения информации, или иных объектов, задействованных при выполнении команды.
Часто эти адреса называются адресами операндов, то есть чисел, участвующих в операции. По количеству адресов (а1, а2, аЗ, ...), записываемых в команде, команды делятся на безадресные, одно-, двух- и трехадресные. с) Типовая структура трехадресной командьс з2 и аЗ вЂ” адреса ячеек (регистров), где расположены, соответственно, первое и второе числа, участвующие в операции, а1 — адрес ячейки (регистра), куда следует поместить число, полученное в результате выполнения операции. 0 Типовая структура двухадресной команды: а1 — это обычно адрес ячейки (регистра), где хранится первое из чисел, участвующих в операции, и куда после завершения операции должен быть записан результат операции; а2 — обычно адрес ячейки (регистра), где хранится второе участвующее в операции число.
0 Типовая структура одноадресной команды: где а1 в зависимости от модификации команды может обозначать либо адрес ячейки (регистра), в которой хранится одно из чисел, участвующих в операции, либо адрес ячейки (регистра), куда следует поместить число — результат операции. Безадресная команда содержит только код операции, а информация для нее должна быть заранее помещена в определенные регистры машины. Наиболее широкое применение в ПК нашли двухадресные команды. 346 Глава 17. Программное управление — основа автоматизации вычислений Пример двухадресной команды, записанной на языке символического кодирования: Эту команду следует расшифровать так: сложить число, записанное в ячейке 0103 памяти, с числом, записанным в ячейке 5102, а затем результат (то есть сумму) поместить в ячейку 0103.