2.48 Mb.Название страница11/16Дата конвертации21.07.2012Размер2.48 Mb.Тип 11 1. Н. И. Лобачевского нии прикладной математики и кибернетики Факультет вычислительной математики и кибернетики С. Г. Кузин логические основы автоматической обработки данных учебное пособие 4Совершенствование адресации оперативной памяти 4.1Операции, данные и команды По своему существу алгоритм представляет собой совокупность действий, исполнение которых преобразует исходные данные в результирующие данные. Действия служат дополнением к данным: данные представляют пассивную компоненту, а действия представляют активную компоненту, которая позволяет создавать, уничтожать и преобразовывать данные. Имеется два типа действий: действия над данными, определяемыми программистом и действия над данными, определяемыми системой. К первому типу относятся действия обработки данных сложение, вычитание, пересылка, проверка на равенство и т.д. Ко второму типу относятся действия , которые обычно считаются частью управляющей структуры языка программирования: переходы условные и безусловные, вызовы подпрограмм, присваивание имен структурам данных и т.д. Естественно рассматривать действие обработки данных в языке программирования как математическую функцию: для данного множества операндов она выдает вполне определенные и единственный результат. Общее число операндов + результат будем называть числом параметров действия. Например, арифметические действия являются трехпараметрическим (два операнда и результат), действие пересылки двухпараметрические (операнд источник и результат приемник), действие передачи управления однопараметрические (результат определяет адрес перехода), операция останова нульпараметрическое действие. Программа являет собой совокупность команд некоторой вычислительной машины и представляет собой один из возможных способов записи алгоритма. Команда вычислительной машины связывает данные и машинные операции таким образом, что каждая операция применяется к соответствующим данным в соответствующее время. Говоря другими словами, команда предписание (императив) вычислительной машине выполнить определенную машинную операцию с определенными данными. Таким образом, мы различаем понятия: действие алгоритма (действие) и машинная операция (операция). Также очевидно, что при программировании (записи алгоритма на алгоритмическом языке) возникает проблема проекции действий алгоритма на команды вычислительной машины. В общем случае команда состоит из операционной и адресной частей, каждая из которых, в свою очередь, может состоять из нескольких полей. Операционная часть содержит код операции (КОП), который задает вид машинной операции. Адресная часть содержит информацию об адресах исходных данных и адресах результирующих данных, а в некоторых случаях также информацию об адресе следующей команды (команды передачи управления). Команда, имеющая в адресной части n полей называется n адресной командой (Рисунок II -35). Рисунок IIP35. Формат n адресной команды Замечание. Обращаем внимание, что адресная часть, в общем случае, содержит не адреса данных, но информацию, на основании которой эти адреса могут быть вычислены в процессе выполнения команды. Способы задания и использования такой информации обуславливает различные способы адресации данных. Состав, назначение и расположение полей в команде с разметкой номеров разрядов (бит), определяющих границы отдельных полей, называется форматом команды. Выбор формата команды является одной из важнейших проблем проектирования компьютера. Команда, как правило, согласуется с длиной обрабатываемых данных (ячеек хранения данных), что позволяет эффективно использовать одни и те же память, шины передачи данных и прочие аппаратные средства, как для данных, так и для команд. Хотя наиболее простым способом указания адреса является включение его в состав команды (точнее, в поле адреса команды), манипуляции адресом, в которых обычно возникает необходимость, предполагают дополнительные более удобные и\ или более эффективные способы адресации. Способ указания местоположения данных (операндов) в поле адреса команды принято называть способом адресации. Различные способы адресации имеют следующее назначение: указывать полный адрес памяти наименьшим количеством разрядов в поле адреса, следовательно, делать команду короче; разрешать команде осуществлять доступ к ячейке памяти, адрес которой вычисляется во время исполнения программы, обеспечивая при этом эффективный доступ к массивам и спискам; вычислять адреса относительно местоположения команды, чтобы обеспечить загрузку программы в любую область памяти без изменения программы. 4.2Трехадресная система команд. Первые вычислительные машины не имели байтовой структуры памяти структуры памяти, т.е. ячейки вычислительной машины состояли из фиксированного числа разрядов. В каждой такой ячейке могла храниться либо команда, либо единица данных. В силу этого, все команды вычислительной машины были одинаковой длины. Число адресов команды в значительной степени определяет архитектуру компьютера. Первые вычислительные машины использовали трехадресные команды следующего формата: КОП А1 А2 А3, где КОП поле кода машинной операции; А1, А2, А3 поля адресов. Причем, в поле адреса записывается физический адрес оперативной памяти. Способ адресации, когда в поле адреса записывается физический адрес памяти, называется прямой адресацией. В данном случае мы имеем дело с прямой адресацией оперативной памяти. Для примера, любая команда вычислительной машины типа М-20 (М-222, М-222, БЭСМ-3, БЭСМ-4) имела длину в 48 бит и 12-ти разрядное поле адреса (Рисунок II -36): Рисунок IIP36. Трехадресная команда Проекция трехпараметрических действий (арифметические и логические) на трехадресную систему команд происходит естественным образом: первые два поля адреса содержат адреса исходных данных, третье поле адреса адрес результ
4Совершенствование адресации оперативной памяти - Н. И. Лобачевского нии прикладной математики и кибернетики Факультет...
Комментариев нет:
Отправить комментарий