Cтраница 3
Команды перехода и вызова подпрограмм позволяют изменять последовательность выполнения команд программы. Существуют два способа изменения этой последовательности. Согласно этому способу, последовательность выполнения программы подвергается изменению всякий раз, когда реализуется определенная команда. В соответствии со вторым способом последовательность выполнения программы определяется некоторыми условиями, т.е. изменяется в том и только в том случае, когда значение указанного условия совпадает с заданным. [31]
Такой способ организации оказывается веевма эффективным, но если какая-то последовательность команд часто повторяется, то доступная для работы пймять быстро исчерпывается. С введением команд, которые могут модифицировать счетчик команд, появляется возможность прерывать линейную последовательность выполнения программы и передавать управление в любое другое место программы. Такими командами, автоматически изменяющими последовательность выполнения программы путем передачи управления в другое место программы, являются команды безусловных переходов, команды условных переходов и команды вызова подпрограмм. Один или два байта, следующие в программе за командой перехода, используются микро - ЭВМ для замены содержимого счетчика команд и представляют собой адрес в памяти новой последовательности команд. [32]
Для грубой оценки повышения производительности, имеющего место в результате использования конвейера, можно принять, что самым медленным участком конвейера является блок, в котором происходит собственно выполнение операции, предписываемой командой. Увеличение производительности благодаря применению конвейеризации определяется в первом приближении как сумма средних значений времени работы всех блоков конвейера, деленная на среднюю величину времени работы самого медленного участка конвейера, для заданной комбинации команд. Нарушение строго последовательного вьь полнения команд программы вызывает необходимость опорожнения конвейера от команд, выполнение которых началось по еле команды, нарушившей эту последовательность, и повтор ного заполнения конвейера. Доля команд, на которых есте - - ственная последовательность выполнения программы нару шается, обычно составляет 15 - 30 % их общего количества, а вызываемое процентное снижение производительности превышает вероятность их появления в программе. [33]
К командам перехода относятся команды ВС, BCR, EX. Команды ВС и BCR значения признака результата не меняют. По команде ЕХ выполняется другая команда, которая может изменить признак результата. При выполнении этой команды может возникнуть также и прерывание, по которому последовательность выполнения программы может быть нарушена. [34]
![]() |
Распределение времени. [35] |
Короче говоря, фактически анализ методом ядер заключается в выписывании и хронометрировании команд, необходимых для выполнения некоторой функции. Анализ этого типа устраняет некоторые недостатки, присущие анализу методом смеси команд. Он определяет теряемую там контекстуальную информацию, причем при этом он определяет и использование функций управляющей программы, и любой требуемой компиляции. Он определяет также межкомандные связи, включая такую важную часть, как информация о последовательности выполнения программы. Он может определить зависящую от данных часть внутрпкомандной информации в зависимости от того, какой тип данных доступен для анализа методом ядер. [36]
При испытаниях малых систем инспектор отдела технического обслуживания обычно руководит группой поддержки оборудования и системы программного обеспечения и может получать некоторую помощь со стороны пользователя. В приемке больших систем вместе с инспектором и ассистентами, проводящими экспертизу по системе в целом, либо по программному обеспечению, либо по оборудованию, участвуют также два ( или больше) руководителя технической поддержки отдела технического обслуживания. Другие специалисты отдела технического обслуживания либо находятся на месте установки системы, либо при необходимости могут быть вызваны. Роль инспектора состоит в том, чтобы обеспечить ведение адекватных записей, наблюдать за соблюдением точности при проверке результатов, за функционированием системы и действиями представителя поставщика по техническому обслуживанию, принимать на себя руководство при тестировании отдельных неисправностей, а также определять любые изменения последовательностей выполнения программ. Можно считать, что действия инспектора во всех случаях могли бы быть согласованы до начала испытаний, однако, к сожалению, вычислительные системы слишком сложны, чтобы все возможные случаи могли быть проанализированы. [37]
Команды перехода и вызова подпрограмм позволяют изменять последовательность выполнения команд программы. Существуют два способа изменения этой последовательности. Согласно этому способу, последовательность выполнения программы подвергается изменению всякий раз, когда реализуется определенная команда. В соответствии со вторым способом последовательность выполнения программы определяется некоторыми условиями, т.е. изменяется в том и только в том случае, когда значение указанного условия совпадает с заданным. [38]