Здавалка
Главная | Обратная связь

Функция память в МПС



Память микропроцессорной системы выполняет функцию временного или постоянного хранения данных и команд. Объем памяти определяет допустимую сложность выполняемых системой алгоритмов, а также в некоторой степени и скорость работы системы в целом. Все чаще в составе микропроцессорных систем используется флэш-память

Для организации памяти микропроцессорных систем применяются постоянные запоминающие устройства ( ПЗУ)

Память проги начального запуска программы boot является машинно-зависимой операцией. На большинстве машин эта операция поддерживается базовой системой ввода/вывода (Basic Input/ Output System - BIOS). BIOS является резидентным в энергонезависимой памяти и вызывается автоматически при запуске процессора. Ожидается, что средства, предоставляемые BIOS, должны поддерживать начальную загрузку автономных программ.

Большинство систем BIOS при перезагрузке выполняет также диагностические операции, чтобы убедиться, что аппаратное обеспечение функционирует правильно.

BIOS не понимает формат файловой системы FreeBSD. Вместо этого процедура начальной загрузки считывает из зарезервированной области загрузочного диска программу. Эта программа сразу же выполняет в FreeBSD программу boot. Последняя является автономной программой общего назначения, которую система может использовать для начальной загрузки и исполнения других автономных программ. Автономной (standalone) является такая программа, boot которая может работать без помощи ядра FreeBSD.

Автономные программы обычно компонуются с автономной библиотекой ввода/вывода, библиотекой, поддерживающей FreeBSD-подобный интерфейс ввода/вывода для различных аппаратных устройств. Автономная библиотека ввода/вывода предоставляет эти возможности через набор автономных драйверов устройств и библиотечных процедур, поддерживающих чтение файлов из файловых систем FreeBSD, которые находятся на устройствах. Программа boot хранится в месте, доступном BIOS, которое представляет собой несколько первых секторов системного диска.

После начальной загрузки и запуска программы boot она должна загрузить файл, содержащий исполняемый образ загружаемой программы, а затем должна запустить загруженную программу. Чтобы загрузить соответствующий файл, boot должна знать имя пути загружаемого файла и аппаратное устройство, на котором файл находится

Стековой называют память, доступ к которой организован по принципу: "последним записан - первым считан" (Last Input First Output - LIFO). Использование принципа доступа к памяти на основе механизма LIFO началось с больших ЭВМ. Применение стековой памяти оказалось очень эффективным при построении компилирующих и интерпретирующих программ, при вычислении арифметических выражений с использованием польской инверсной записи. В малых ЭВМ она стала широко использоваться в связи с удобствами реализации процедур вызова подпрограмм и при обработке прерываний.

Принцип работы стековой памяти состоит в следующем Когда слово А помещается в стек, оно располагается в первой свободной ячейке памяти. Следующее записываемое слово перемещает предыдущее на одну ячейку вверх и занимает его место и т.д. Запись 8-го кода, после H, приводит к переполнению стека и потере кода A. Считывание слов из стека осуществляется в обратном порядке, начиная с кода H, который был записан последним. Заметим, что выборка, например, кода E невозможна до выборки кода F, что определяется механизмом обращения при записи и чтении типа LIFO. Для фиксации переполнения стека желательно формировать признак переполнения.

Перемещение данных при записи и считывании информации в стековой памяти подобно тому, как это имеет место в сдвигающих регистрах. С точки зрения реализации механизма доступа к стековой памяти выделяют аппаратный и аппаратно-программный (внешний) стеки.

ОЗУ и ПЗУ

По назначению микросхемы памяти делят на две группы: для оперативной запоминающих устройств (ОЗУ)и для постоянных запоминающих устройств (ПЗУ).Оперативные запоминающих устройства предназначены для хранения переменной информации: программ и чисел, необходимых для текущих вычислений. Такие ЗУ позволяют в ходе выполнения программы заменять старую информацию новой. По способу хранения информации ОЗУ разделяют на статические и динамические. Статические ОЗУ, элементами памяти в которых являются триггеры, способны хранить информация неограпичеппое время (при условии, что имеется напряжение питания)

Постоянные ЗУ предназначены для хранения постоянной информации: подпрограмм, микропрограмм, констант и т.п. Такие ЗУработают только в режиме многократного: считывания. По способу прогрвммирования, т.е. занесения информации, пзУ разделяет на масочные (заказные), программируемые пользователем (ППЗУ) и репрограммнруемые (РПЗУ). Первые две разновидности ПЗУ программируют однократно и они не допускают последующего изменения занесенной информации. По устройству накопителя ПЗУ существенно отличаются от ОЗУ, прежде всего тем, что место ЭП в накопителе Пзу занимают перемычки между шинами в вида пленочных проводников, диодов или транзисторов. Наличие перемычки соответствует 1, ее отсутствие 0, либо наоборот, если выходы ИС инверсные.

специальная область памяти — это таблица векторов прерываний.

Вообще, понятие прерывания довольно многозначно. Под прерыванием в общем случае понимается не только обслуживание запроса внешнего устройства, но и любое нарушение последовательной работы процессора. Например, может быть предусмотрено прерывание по факту некорректного выполнения арифметической операции типа деления на ноль. Или же прерывание может быть программным, когда в программе используется команда перехода на какую-то подпрограмму, из которой затем последует возврат в основную программу. В последнем случае общее с истинным прерыванием только то, как осуществляется переход на подпрограмму и возврат из нее.

Любое прерывание обрабатывается через таблицу векторов (указателей) прерываний. В этой таблице в простейшем случае находятся адреса начала программ обработки прерываний, которые и называются векторами. Длина таблицы может быть довольно большой (до нескольких сот элементов). Обычно таблица векторов прерываний располагается в начале пространства памяти (в ячейках памяти с малыми адресами). Адрес каждого вектора (или адрес начального элемента каждого вектора) представляет собой номер прерывания.

9.Основные методы адресации:

Широко используются следующие методы адресации операнда с различной кратностью обращения (R) в память:

1. Непосредственная (R = 0).

2. Прямая (R = 1).

3. Косвенная (R > 2).

Непосредственная адресация операнда. При этом способе операнд располагается в адресном поле команды. Обращение к регистровой памяти (РП) или оперативной памяти (ОП) не производится. Таким образом, уменьшается время выполнения операции, сокращается объем памяти. Непосредственная адресация удобна для задания констант, длина которых меньше или равна длине адресного поля команды.

 
   


Прямая адресация операндов. При этом способе адресации обращение за операндом в РП или ОП производится по адресному коду в поле команды, т.е. исполнительный адрес операнда совпадает с адресным кодом команды (Аи = Ак).

Обеспечивая простоту программирования, этот метод имеет существенные недостатки, так как для адресации к ячейкам памяти большой емкости (число адресов М велико) требуется «длинное» адресное поле в команде. Прямая адресация используется широко в сочетании с другими способами адресации. В частности, вся адресация к «малой» регистровой памяти ведется только с помощью прямой адресации.

Косвенная адресация операндов.При этом способе адресный код команды указывает адрес ячейки памяти, в которой находится не сам операнд, а лишь адрес операнда, называемый указателем операнда. Адресация к операнду через цепочку указателей (косвенных адресов) называется косвенной.

Адрес указателя, задаваемый программой, остается неизменным, а косвенный адрес может изменяться в процессе выполнения программы. Косвенная адресация, таким образом, обеспечивает переадресацию данных, т.е. упрощает обработку массивов и списковых структур данных, упрощает передачу параметров подпрограммам, но не обеспечивает перемещаемость программ в памяти

Индексная адресация.Для работы программ с массивами, требующими однотипных операций над элементами массива, удобно использовать индексную адресацию. Схема индексной адресации аналогична базированию путем суммирования (см. рис. 3.5).

В этом случае адрес i-гo операнда в массиве определяется как сумма начального адреса массива (задаваемого полем смещения С) и индекса И, записанного в одном из регистров РП, называемом теперь индексным регистром. Адрес индексного регистра задается в команде полем адреса индекса — Аин (аналогично Аб ).

В каждом i-м цикле содержимое индексного регистра изменяется на величину постоянную (часто равную 1). Использование индексной адресации значительно упрощает программирование циклических алгоритмов.

Для эффективной работы при относительной адресации применяется комбинированная индексация с базированием, при которой адрес операнда вычисляется как сумма трех величин (рис. 3.7):

Аи = Б + И + С.

Рис. 3.6.Схема формирования относительного адреса способом совмещения кодов базы и смещения.

Рис. 3.7 Схема формирования дополнительного адреса при индексной адресации и базировании: АИН - адрес индексного регистра.

Стековая адресация

Стековая память (стек) является эффективным элементом современных ЭВМ, реализует неявное задание адреса операнда. Хотя адрес обращения в стек отсутствует в команде, он формируется схемой управления автоматически по специальному правилу.

Автоинкрементная адресация очень близка к косвенной адресации, но отличается от нее тем, что после выполнения команды содержимое используемого регистра увеличивается на единицу или на два. Этот метод адресации очень удобен, например, при последовательной обработке кодов из массива данных, находящегося в памяти. После обработки какого-то кода адрес в регистре будет указывать уже на следующий код из массива. При использовании косвенной адресации в данном случае пришлось бы увеличивать содержимое этого регистра отдельной командой.

Автодекрементная адресация работает похоже на автоинкрементную, но только содержимое выбранного регистра уменьшается на единицу или на два перед выполнением команды. Эта адресация также удобна при обработке массивов данных. Совместное использование автоинкрементной и автодекрементной адресаций позволяет организовать память стекового типа (см. раздел 2.4.2).

Из других распространенных методов адресации можно упомянуть об индексных методах, которые предполагают для вычисления адреса операнда прибавление к содержимому регистра заданной константы (индекса). Код этой константы располагается в памяти непосредственно за кодом команды.

Отметим, что выбор того или иного метода адресации в значительной степени определяет время выполнения команды. Самая быстрая адресация — это регистровая, так как она не требует дополнительных циклов обмена по магистрали. Если же адресация требует обращения к памяти, то время выполнения команды будет увеличиваться за счет длительности необходимых циклов обращения к памяти. Понятно, что чем больше внутренних регистров у процессора, тем чаще и свободнее можно применять регистровую адресацию, и тем быстрее будет работать система в целом.

РЕГИСТЫ МПС

Регистр - блок памяти малого объема, встроенный в микропроцессор, к которому он адресуется независимо от шины адреса. Емкость регистра определяется длиной машинного слова, а время доступа к регистру значительно меньше, чем к ОЗУ.

Регистры могут иметь много различных назначений; некоторые ЭВМ даже позволяют программисту присваивать регистрам разнообразные частные функции. Большинство ЭВМ, однако, содержит несколько основных регистров: счетчик команд, регистр команд, регистр адреса памяти, аккумулятор, регистры общего назначения. индексные регистры, регистр условий, указатель стека.

Счетчик команд (СК) содержит адрес ячейки памяти, в которой находится очередная команда. Цикл выполнения команды начинается с того, что ЦП посылает содержимое счетчика команд в шину адреса; таким образом ЦП извлекает из памяти первое слово команды. При этом увеличивается на единицу содержимое счетчика команд и, таким образом, в следующем цикле команды из памяти будет извлечена следующая из последовательности команд. Если команда многобайтная, то ЦП увеличивает на 1 содержимое счетчика команд (инкрементирует) столько раз, сколько это нужно. Таким образом, ЦП извлекает из памяти и реализует команды последовательно, если только команда передача управления или условный переход не изменит содержимое счетчика команд.

Регистр команд сохраняет код команды до тех пор, пока она не будет дешифрирована.

Регистр адреса памяти содержит адрес данных в памяти. Адреса могут представлять собой часть команд или данные. Многие ЭВМ имеют по несколько регистров.

 

Аккумуляторы- это регистры временного хранения, которые используются в процессе вычисления. В большинстве ЭВМ, таких как калькуляторы, в аккумуляторе всегда содержится один из операндов арифметических операций. Электронно-вычислительная машина может также использовать аккумуляторы при выполнении логических операций. Таким образом, аккумуляторы ЭВМ - это в основном наиболее часто используемые регистры. Многие из широко используемых ЭВМ имеют по одному аккумулятору; программы для таких ЭВМ затрачивают много команд и времени на пересылку данных в аккумулятор и из него. Большинство более совершенных ЭВМ имеет по несколько аккумуляторов; поэтому у программы нет необходимости многократно пересылать данные.

Регистры общего назначения выполняют различные функции. Они могут служить в качестве регистров временного хранения данных или адресов. Программисту предоставляется возможность определять их как аккумуляторы или как счетчики команд.

Индексные регистры используются для адресации данных. Содержимое индексного регистра складывается с адресом ячейки памяти, который содержится в команде. Затем сумма образует действительный адрес данных и исполнительный адрес. Если содержимое индексного регистра изменяется, одна и та же команда может быть использована для обработки данных из ячеек памяти с различными адресами. Можно пересылать данные из одной области памяти в другую подобно тому, как если бы использовались индексные регистры. Некоторые ЭВМ имеют автоиндексацию, при помощи которой индексный регистр каждый раз, когда используется, автоматически увеличивает (автоинкрементация) или уменьшает (автодекрементация) содержимое на 1. Каждая команда в ЭВМ с индексными регистрами должна содержать признаки, указывающие используется ли в данной команде индексация. Если ЭВМ имеет более чем один регистр, команда должна также содержать указание, какой из регистров в данной команде используется.

Регистр кода условий или регистр состояния содержит набор одноразрядных признаков, которые отображают состояние ЦП или нескольких внешних входов или выходов. Эти признаки - основа для работы ЭВМ, принимающей решение. Различные ЭВМ имеют различное число и назначение признаков. Большинство устаревших ЭВМ имеет один или два признака, так как это связано, прежде всего, со стоимостью аппаратных средств. Новейшие ЭВМ имеют по несколько признаков. ЦП может иметь признаки, которые могут быть изменены или сохранены извне при операциях ввода или вывода.

Указатель стека

Регистр указателя стека SP - это 16-битовый регистр, который определяет смещение текущей вершины стека.

Он реализован в виде двух 8-битных регистров, доступных в пространстве памяти ввода-вывода.

По функциональному назначению, определяемому системой команд, МП делятся на универсальные и специализированные.

Универсальные МП способны реализовать любой алгоритм, который предварительно кодируется в системе команд данного МП. Они используются в качестве основных процессоров микроЭВМ. Следует отметить, что большинство универсальных МП аппаратно поддерживает только целочисленную арифметику. Арифметика же с плавающей точкой реализуется на них программно.

Специализированные МП служат для решения задач определенного класса. Приборы этого типа используются в качестве сопроцессоров, дополняющих основные процессоры, и выполняют роль акселераторов. Сопроцессор расширяет набор команд ЭВМ. Когда основной процессор получает команду, которая не входит в его рабочий набор, он передает управление сопроцессору с целью ее выполнения.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.