Главная страница Микропроцессоры [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [ 49 ] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] в качестве накопительных регистров, регистров адресации могут использоваться 16-разрядные РОН. Регистры общего назначения используются для выборки операндов и записи результатов, полученных при выполнении арифметическо-логических операций, аналогично ячейкам памяти и регистрам внещних устройств. Два из восьми регистров общего назначения, обозначаемых R0, R1, R7, кроме того, имеют специальное назначение: регистр R6 используется как указатель стека и содержит адрес последней заполненной ячейки стека; регистр R7 служит счетчиком команд и содержит адрес очередной выполняемой команды. Весь обмен информацией и управляющими сигналами между различными устройствами микроЭВМ осуществляется через единый канал передачи информации; 16-разрядный код адреса позволяет обращаться к 32К 16-разрядных ячеек (64Кбайт). Адреса с О по 177778 обычно предназначены для памяти, непосредственно размещенной в модуле центрального процессора. Адреса с 20000 по 30000 (в восьмеричной системе счисления) отведены под регистры внешних устройств. Адреса с О по 376 зарезервированы в качестве векторов при обработке внутренних и внещних прерываний программы. Для выполнения каждой команды требуется один или несколько циклов обращения к каналу. Первым из них является цикл ВВОД, во время которого команда извлекается из ячейки памяти с адресом, определяемым содержимым счетчика команд (регистр R7). Если при исполнении команды не нужно обращаться к памяти или к регистрам внешних устройств, дополнительных циклов обращения к каналу не требуется. В противном случае для выборки операндов и записи результата выполняется один или несколько дополнительных циклов обращения к каналу. Следует отметить различие между операциями по прерыванию программы и операциями по прямому доступу к памяти. В первом случае содержимое регистров процессора может быть нарушено, поэтому прерывание программы происходит только после окончания выполнения текущей команды. Операции по прямому доступу к памяти могут происходить в промежутках между циклами обращения к каналу, поскольку они не связаны с нарушением состояния процессора. Изучая программное обеспечение микроЭВМ «Электроника-60», будем рассматривать только системное про- граммное обеспечение. Это обеспечение для «Электро-ники-60» представлено в виде различных операционных систем (ОС). Рассмотрим одну из них - перфоленточ-ную операционную систему. Эта ОС не является самой эффективной, однако она является базовой для этой модели ЭВМ и содержит минимальный набор системных программ, которые позволяют загружать, выводить, отлаживать и транслировать прикладные программы. Входящие в состав рассматриваемой ОС программы «Ассемблер» и «Перемещающий ассемблер» используются для написания прикладных программ на мащинно-ориентированном языке. В результате работы этих программ формируется перфолента с объектным кодом программы и распечатка исходного текста программы, а также выдаются сообщения об ошибках в программе. «Ассемблер» создает объектный код (модуль) в абсолютном формате, т. е. указывает абсолютные адреса операндов, такой модуль готов к выполнению программы, если не было ощибок. «Перемещающий ассемблер» создает объектный код исходной программы в перемещающемся формате, причем он позволяет создавать несколько программ, в которых имеются ссылки и обращения друг к другу. Для получения исполнительной программы на основе созданных «Перемещающим ассемблером» объектных модулей используется следующая программа перфолен-точной ОС - «Компоновщика, результатом работы которой является загрузочный модуль. Этот модуль является той формой представления исходной программы, в которой она может быть выполнена на микроЭВМ «Электроника-60». «Компоновщик» осуществляет перемещение объектных модулей в соответствующие места памяти и присвоение абсолютных адресов элементам программы пользователя; организацию связывания объектных модулей в случае наличия у них ссылок друг на друга; распечатку распределения адресов оперативной памяти (так называемой карты памяти); вывод на перфоленту загрузочного модуля. Использование программы «Компоновщик» дает ряд преимуществ. Так, программу на исходном языке можно разбивать на модули (обычно это подпрограммы), которые транслируются раздельно. Если в модуле обнаружена ошибка, то вновь транслируется только этот мо- дуль. Затем «Компоновщик» связывает раздельно транслированные модули в один. программа «Редактор текста», входящая в состав рассматриваемой ОС, системная, предназначенная для редактирования исходного текста программы, внесения в него изменений и дополнений и вывода всего или части текста на перфоленту и печать. Редактирование исходного текста происходит в режиме диалога пользователя с микроэвм. Программа «Отладчик», являющаяся составной частью ОС, предназначена для отладки программы пользователя, представленной в виде загрузочного модуля. Отладка происходит путем выполнения программы определенными участками и проверки результатов в различных точках программы. Отладка программы осуществляется в режиме диалога пользователя с микроЭВМ, при этом необходимо иметь распечатку отлаживаемой программы. Небольшие изменения можно вносить в программу в процессе отладки. Значительные изменения, например такие, как введение пропущенной подпрограммы, должны быть внесены в исходный текст перед новой трансляцией. Программа «Загрузка», входящая в перфоленточную операционную систему, позволяет загружать в любое место памяти двоичные данные, зафиксированные на перфоленте. С ее помощью загружаются программные модули, сформированные программами «Ассемблер» и «Компоновщик». После загрузки происходит запуск программы на выполнение без дополнительных действий оператора. Программа «Вывод» обеспечивает вывод выбранных участков памяти либо на перфоленту, либо на устройство печати. В перфоленточную операционную систему входит программа «Супервизор ввода-вывода». Эта программа предназначена для организации обмена данными между программой пользователя и периферийными устройствами (электрифицированной пишущей машинкой, перфо-ленточным устройством ввода-вывода, печатающим устройством). Следует отметить, что в качестве основного носителя исходных, объектных и загрузочных кодов программ используется перфолента, и это обстоятельство значительно ограничивает возможности рассматриваемой ОС. В качестве периферийного устройства можно использо- [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [ 49 ] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] 0.0137 |