Принцип работы центрального процессора: назначение стека, варианты его реализации
Принцип работы центрального процессора: назначение стека, варианты его реализации
Внедрение и широкое использование средств вычислительной техники является одним из главных факторов ускорения научно-технического прогресса в нашей стране. Стремительно возрастает роль ЭВМ во всех областях человеческой деятельности. Без использования быстродействующих ЭВМ в настоящее время немыслима работа большинства предприятий. А повышение быстродействия ЭВМ в значительной мере зависит от повышения быстродействия входящего в её состав микропроцессора.
Темпы научно-технического прогресса, усиление роли науки в значительной степени определяются качеством средств вычислительной техники и их программным обеспечением. Именно развитие этих средств обеспечивает успехи в автоматизации производственных процессов, в разработке новых технологий, в повышении эффективности труда и управления, в совершенствовании системы образования и в ускорении подготовки кадров.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Просмотр содержимого документа
«Принцип работы центрального процессора: назначение стека, варианты его реализации »
АВТОНОМНАЯ НЕКОММЕРЧЕСКАЯ ОРГАНИЗАЦИЯ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
ЦЕНТРОСОЮЗА РОССИЙСКОЙ ФЕДЕРАЦИИ
«РОССИЙСКИЙ УНИВЕРСИТЕТ КООПЕРАЦИИ»
СМОЛЕНСКИЙ ФИЛИАЛ
КУРСОВАЯ РАБОТА
по дисциплине Аппаратные средства вычислительной техники на тему:
«Принцип работы центрального процессора: назначение стека, варианты его реализации»
Автор работы: Климова Е.Н.
Группа:ИСТ (БИС)1-3/Бс/СМО13
Вариант задания:11
Руководитель работы:Грубник Е.М.
Смоленск 2015
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
ГЛАВА 1. ПРИНЦИП РАБОТЫ ЦЕНТРАЛЬНОГО ПРОЦЕССОРА
ИСТОРИЯ РАЗВИТИЯ ПРОЦЕССОРОВ
СТРУКТУРА ТИПОВОГО ПРОЦЕССОРА
КАК РАБОТАЕТ ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР
АРХИТЕКТУРА МИКРОПРОЦЕССОРОВ
III. ГЛАВА 2. ОПРЕДЕЛЕНИЕ, НАЗНАЧЕНИЕ, ВАРИАНТЫ РЕАЛИЗАЦИИ СТЕКА
СТЕК И ЕГО НАЗНАЧЕНИЕ
ТЕХНИЧЕСКОЕ ЗАДАНИЕ.
IV.ЗАКЛЮЧЕНИЕ
V.СПИСОК ЛИТЕРАТУРЫ
I. ВВЕДЕНИЕ
Процессор (или центральный процессор, ЦП) - это транзисторная микросхема, которая является главным вычислительным и управляющим элементом компьютера.
Английское название процессора - CPU (Central Processing Unit).
Процессор представляет собой специально выращенный полупроводниковый кристалл, на котором располагаются транзисторы, соединенные напыленными алюминиевыми проводниками. Кристалл помещается в керамический корпус с контактами.
В большинстве процессоров стек (т.е. память со стековым доступом) организован в участке обычной памяти с адресной организацией.
В данной курсовой работе рассматривается назначение, основные функции процессора, принцип его работы, рассматривается организация вычислений с использованием стека на примере теоретико-множественных операций над множествами, описывается структура и функционирование микропроцессоров.
Сформулируем цели и задачи курсовой работы.
Цель: рассмотрение принципа работы центрального процессора и изучение принципов работы стека для организации вычислений на примере теоретико-множественных операций над множествами
Задачи:
Рассмотреть принцип работы процессора, его назначение, функции, историю создания.
Изучить и проанализировать научно-методическую литературу по теме «Варианты реализации стека».
Написать программу, демонстрирующую работу стека на примере теоретико-множественных операций над множествами.
II. ГЛАВА 1. ПРИНЦИП РАБОТЫ ЦЕНТРАЛЬНОГО ПРОЦЕССОРА
ИСТОРИЯ СОЗДАНИЯ ПРОЦЕССОРОВ
История развития производства процессоров полностью соответствует истории развития технологии производства прочих электронных компонентов и схем.
Первым этапом, затронувшим период с 40-х по конец 50-х годов, было создание процессоров с использованием электромеханических реле, ферритовых сердечников (устройств памяти) и вакуумных ламп. Они устанавливались в специальные разъёмы на модулях, собранных в стойки. Большое количество таких стоек, соединённых проводниками, в сумме представляли процессор. Отличительной особенностью была низкая надёжность, низкое быстродействие и большое тепловыделение.
Вторым этапом, с середины 50-х до середины 60-х, стало внедрение транзисторов. Транзисторы монтировались уже на близкие к современным по виду платам, устанавливаемым в стойки. Как и ранее, в среднем процессор состоял из нескольких таких стоек. Возросло быстродействие, повысилась надёжность, уменьшилось энергопотребление.
Третьим этапом, наступившим в середине 60-х годов, стало использование микросхем. Первоначально использовались микросхемы низкой степени интеграции, содержащие простые транзисторные и резисторные сборки, затем по мере развития технологии стали использоваться микросхемы, реализующие отдельные элементы цифровой схемотехники (сначала элементарные ключи и логические элементы, затем более сложные элементы — элементарные регистры, счётчики, сумматоры), позднее появились микросхемы, содержащие функциональные блоки процессора — микропрограммное устройство, арифметико-логическое устройство, регистры, устройства работы с шинами данных и команд.
Четвёртым этапом, в начале 70-х годов, стало создание, благодаря прорыву в технологии создания БИС и СБИС (больших и сверхбольших интегральных схем, соответственно), микропроцессора — микросхемы, на кристалле которой физически были расположены все основные элементы и блоки процессора. Фирма Intel в 1971 году создала первый в мире 4-х разрядный микропроцессор 4004, предназначенный для использования в микрокалькуляторах. Постепенно практически все процессоры стали выпускаться в формате микропроцессоров. «Сейчас слова микропроцессор и процессор практически стали синонимами, но тогда это было не так, потому что обычные (большие) и микропроцессорные ЭВМ мирно сосуществовали ещё по крайней мере 10-15 лет, и только в начале 1980-х годов микропроцессоры вытеснили своих старших собратьев. Переход к микропроцессорам позволил потом создать персональные компьютеры, которые теперь проникли почти в каждый дом.» [1]
СТРУКТУРА ТИПОВОГО МИКРОПРОЦЕССОРА
Центральный процессор несомненно можно назвать сердцем любого современного компьютера, представляющий собой очень маленький кремниевый кристалл, содержащий огромное количество (несколько миллионов) транзисторов, размещённых в нём.
Быстродействие таких процессоров достигает около сотни или более миллионов команд (или инструкций) в секунду. Центральный процессор довольно часто называют чипом (от англ. chip — микросхема, а chipset — это набор микросхем). Такие распространенные слова, как центральный процессор, микропроцессор и чип стали в наше время синонимами.[3]
Архитектура типового микропроцессора содержит 5 основных блоков: устройство ввода информации, управляющее устройство (УУ), арифметико-логическое устройство (АЛУ) (входящие в состав микропроцессора), запоминающие устройства (ЗУ) и устройство вывода информации.
Рис.1. Архитектура типового микропроцессора.
Микропроцессор координирует работу всех устройств цифровой системы с помощью шины управления (ШУ). Помимо ШУ имеется 16-разрядная адресная шина (ША), которая служит для выбора определенной ячейки памяти, порта ввода или порта вывода. По 8-разрядной информационной шине или шине данных (ШД) осуществляется двунаправленная пересылка данных к микропроцессору и от микропроцессора. Важно отметить, что МП может посылать информацию в память процессора или к одному из портов вывода, а также получать информацию из памяти или от одного из портов ввода.
Постоянное запоминающее устройство (ПЗУ) в микроЭВМ содержит некоторую программу (на практике программу инициализации ЭВМ). Программы могут быть загружены в запоминающее устройство с произвольной выборкой (ЗУПВ) и из внешнего запоминающего устройства (ВЗУ). Это программы пользователя.[5]
КАК РАБОТАЕТ ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР
В состав МП (рис. 2) входят арифметическо-логическое устройство, устройство управление и блок внутренних регистров.
Арифметическо-логическое устройство состоит из двоичного сумматора со схемами ускоренного переноса, сдвигающего регистры и регистров для временного хранения операндов. Обычно это устройство выполняет по командам несколько простейших операций: сложение, вычитание, сдвиг, пересылку, логическое сложение (ИЛИ), логическое умножение (И), сложение по модулю 2.
Устройство управления управляет работой АЛУ и внутренних регистров в процессе выполнения команды. Согласно коду операций, содержащемуся в команде, оно формирует внутренние сигналы управления блоками МП. Адресная часть команды совместно с сигналами управления используется для считывания данных из определенной ячейке памяти или для записи данных в ячейку. По сигналам УУ осуществляется выборка каждой новой, очередной команды.
Блок внутренних регистров БВР, расширяющий возможности АЛУ, служит внутренней памятью МП и используется для временного хранения данных и команд. Он также выполняет некоторые процедуры обработки информации.
На рисунке (2) приведена более подробная структурная схема однокристального МП. Здесь блок внутренних регистров содержит регистры общего назначения и специальные регистры: регистр-аккумулятор, буферный регистр адреса, буферный регистр данных, счетчик команд, стека, признаков.
Регистры общего назначения (РОН), число которых может изменятся от 4 до 64, определяют вычислительные возможности МП. Их функция – хранение операндов. Но могут выполнять также и роль регистров. Все РОН доступны программисту, который рассматривает их как сверхоперативное запоминающее устройство.
Регистр – аккумулятор («накопитель»), предназначен для временного хранения операнда или промежуточного результата действий производимой в АЛУ. Разрядность регистра равна разрядности информационного слова.
Буферный регистр адреса служит для приема и хранения адресной части выполняемой команды. Возможное количество адресов, определяется разрядностью регистра.
Буферный регистр данных используется для временного хранения выбранного из памяти слова перед передачей его во внешнюю шину данных. Его разрядность определяется количеством байт информационного слова.
Счетчик команд содержит адрес ячейки памяти, в которой помещены байты выполняемой команды.
Регистр команд принимает и хранит код очередной команды, адрес которой находится в счетчике команд. По сигналу УУ в него передается из регистра хранимая там информация.
Регистры стека делятся на стек и указатель стека. В МП стек – набор регистров, хранящих адреса команд возврата при обращении к подпрограммам или состояние внутренних регистров при обработке прерываний. Стек может быть выполнен не только на внутренних регистрах МП, составляя его часть, но и находиться в ОЗУ, занимая там отведенную для него зону. В последнем случае для обращения к нему необходим специальный регистр – указатель стека.
Указатель стека хранит адреса последней занятой ячейки стека, которую называют вершиной. Содержащее в указателе число указывает, где находится вершина стека. Когда в стек записывается очередное слово, то число в указателе стека соответственно увеличивается. Извлечение слова из стека сопровождается, наоборот, уменьшением числа, заполняющего указатель стека. Кроме такой процедуры предусматривается возможность считывания без разрушений содержимого любой ячейки стека при неизменном числе, хранимом в указателе стека.
Регистр признаков представляет собой набор триггеров – флажков. В зависимости от результатов операций, выполняемых АЛУ, каждый триггер устанавливается в состояние 0 или 1. Флажковые биты, определяющие содержимое регистра, индицируют условные признаки: нулевого результата, знака результата, перевыполнения и т. п. Эта информация, характеризующая состояние процессора, важна для выбора дальнейшего пути вычислений.
Рассмотрим более подробно основные части микропроцессора (рис. 2).
.
Рис.2 Составные части МП
Внутренняя шина данных соединяет собой основные части МП.
Шиной называют группу линий передачи информации, объединенных общим функциональным признаком. В микропроцессорной схеме используется три вида шин: данных, адресов и управления.
Разрядность внутренней шины данных т. е. количество передаваемых по ней одновременно (параллельно) битов числа соответствует разрядности слов, которыми оперирует МП. Очевидно, что разрядность внутренней и внешней шин данных должна быть одной и той же. У восьмиразрядного МП внутренняя шина данных состоит из восьми линий, по которым можно передавать последовательно восьмиразрядные слова – байты. Следует иметь в виду, что по шине данных передаются на только обрабатываемые АЛУ слова, но и командная информация. Следовательно, недостаточно высокая разрядность шины данных может ограничить состав (сложность) команд и их число. Поэтому разрядность шины данных относят к важным характеристикам микропроцессора – она в большей мере определяет его структуру (числа разрядов указаны на рисунке в скобках рядом с названиями блоков).[2]
Шина данных МП работает в режиме двунаправленной передачи, т. е. по ней можно передавать слова в обоих направлениях, но не одновременно. В этом случае требуется применение специальных буферных схем и мультиплексного режима обмена данных между МП и внешней памятью. Мультиплексный режим (от английского слова multiple – многократный, множественный), иногда называемый многоточечным, - режим одновременного использования канала передачи большим числом абонентов с разделением во времени средств управления обменом.[2]
Мультиплексор – устройство, которое выбирает данные от одного, двух (или более) входных информационных каналов и подает эти данные на свой выход. Схема мультиплексора состоит из двухвходовых логических элементов И – ИЛИ, управляемых распределителем импульсов. Промышленностью выпускаются мультиплексоры, которые могут входить в состав , а также в виде отдельных БИС (например, восьмивходовый одноразрядный; двухвходовый четырехразрядный; трехвходовый четырехразрядный и др.).
Демультиплексор – устройство, выполняющее противоположную мультиплексору функцию, - подает данные, подводимые к его входу, на один (или более) выходной информационный канал.
Мультиплексоры и демультиплексоры позволяют компоновать из микропроцессорных элементов микроЭВМ для любой длины машинного слова. Предположим, что задача обработки данных заключается в сложении двух операндов, каждый из которых представляет собой восьмиразрядное двоичное число – байт.
Восьмиразрядное арифметически – логическое устройство выполняет все арифметические и логические операции. На первый вход АЛУ поступает байт из восьмиразрядного аккумулятора, а на второй вход – из восьмиразрядного промежуточного регистра. Результат сложения указанных двух байтов передается с выхода АЛУ через внутреннюю шину данных в аккумулятор. Такая организация удовлетворяет одноадресной организации микропроцессора. Для нее характерно то, что один из операндов, участвующих в обработке, всегда находится в аккумуляторе, адрес которого задан неявно. Поэтому при выполнении операции сложения двух операндов требуется указывать только один адрес – второго операнда, содержащегося, например в одном из восьми регистров общего назначения (РОН). К АЛУ подключены регистр признаков, предназначенный для хранения и анализа признаков результата операции, и схема десятичной коррекции (на рис. 2 не показана), позволяющая проводить обработку данных в двоично-десятичном коде.
В состав микропроцессора входят также указатель стек, счетчик команд, буферный регистр адреса, ОЗУ. Первые два РОН – регистры W и Z – предназначены для кратковременного хранения данных во время выполнения команды (эти регистры недоступны программисту), остальные шесть РОН – регистры B, C, D, E, H и L – cлужат ячейками внутренней памяти, называемой сверхоперативным запоминающим устройством (СОЗУ). В них хранятся операнды, подлежащие обработки в АЛУ, результаты обработки данных, выполненных в АЛУ, и управляющие слова. В каждом регистре помещается один байт. Обращение к РОН – адресное. Попарное расположение регистров B и C, D и E, H и L дает возможность проводить обработку двухбайтовых слов, называемую обработкой “удвоенной точности”. Обмен данными с РОН (считывание и запись информации) осуществляется через мультиплексор, причем требуемый регистр выбирается с помощью селектора регистров по сигналу УУ.
В левой части рис. 2 расположены регистр команд, дешифратор кода операции и УУ (хотя дешифратор относится к УУ, он нарисован отдельно для большей наглядности). Стековый регистр адреса на рисунке отсутствует, так как стек представляет собой определенную зону ОЗУ.
Обмен информацией между регистрами и другими блоками микропроцессора производится через внутреннюю шину данных, причем передачи команд и данных разделены во времени. Связь с внешней шиной данных осуществляется через буферный регистр данных.[6]
Микропроцессор – это программно-управляемое устройство. Процедура выполняемой им обработки данных определяется программой, т. е. совокупностью команд. Команда делится на две части: код операции и адрес. В коде операции заключена информация о том, какая операция должна быть выполнена над данными, подлежащими обработке. Адрес указывает место, где расположены эти данные (в регистрах общего назначения микропроцессора, т. е. во внутренней или внешней памяти). Слово данных, подвергаемое обработке, представляет один байт. Команда может состоять из одного, двух или трех байтов, последовательно расположенных в памяти.
Первый байт команды содержит код операции. Считанный в начале интервала выполнения команды, называемого циклом команды, ее первый байт поступает по внутренней шине данных в регистр команд, где хранится в течение всего цикла. Дешифратор кода операции дешифрует содержимое регистра команд – определяет характер операции и адреса операндов. Эта информация подается в УУ, которое вырабатывает управляющие сигналы, направляемые в блоки микропроцессора, участвующие в выполнении данной команды.
В том случае, когда код операции непосредственно указывает адрес данных – объекта обработки, операция начинается сразу после считывания первого байта команды. Если же в команде содержится более одного байта, то остальные байты, несущие информацию об адресе ячейки памяти, где хранятся данные, передаются либо в буферный регистр адреса, либо в один из РОН только после завершения всей процедуры считывания команды или, иначе говоря, после получения полной информации о местонахождении операндов и о том, какая операция должна выполнятся, начинается операция.
Рассмотрим пример выполнения операции сложения двух операндов. Первый операнд хранится в аккумуляторе, второй в одном из РОН (его адрес указан в команде), откуда он передается в промежуточный регистр. Согласно коду операции АЛУ суммирует поступающие на его вход байты и выдает результат, который фиксируется в аккумуляторе. Этот результат можно использовать при дальнейших этапах обработки.
Наряду с многокристальными и однокристальными МП используются секционированные или разрядно-модульные МП. Основной их отличительной особенностью является то, что каждый модуль предназначен для обработки нескольких разрядов машинного слова, а слово в целом обрабатывается группой модулей или секций, соединенных между собой.
АРХИТЕКТУРА МИКРОПРОЦЕССОРОВ
При создании микропроцессоров используются все виды архитектуры, созданные за время их развития: регистровая, стековая, ориентированная на оперативную память.
Регистровая архитектура микропроцессора определяет наличие достаточно большого регистрового файла внутри БИС микропроцессора. Этот файл образует поле памяти с произвольной записью и выборкой информации. Микропроцессоры с регистровой архитектурой имеют высокую эффективность решения научно-технических задач, поскольку высокая скорость работы сверхбыстрой ОЗУ позволяет эффективно использовать скоростные возможности арифметико-логического блока. Однако при переходе к решению задач управления эффективность таких микропроцессоров падает, т.к. при переключениях программ необходимо разгружать и загружать регистры ОЗУ.
Стековая архитектура микропроцессора дает возможность создать поле памяти с упорядоченной последовательностью записи и выборки информации. Эта архитектура эффективна для организации работы с подпрограммами, что необходимо для решения сложных задач управления, илипри работе с языками высокого уровня. Хранение адресов возврата позволяет организовать в стеке эффективную обработку последовательностей вложенных подпрограмм. Однако стек на кристалле микропроцессора с малой информационной ёмкостью быстро переполняется, а стек большой ёмкости требует значительных ресурсов. Реализация стека в ОЗУ решает эти проблемы.
Архитектура микропроцессора, ориентированная на оперативную память, обеспечивает высокую скорость работы и большую информационную ёмкость рабочих регистров и стека при их организации в ОЗУ.
ГЛАВА 2. ОПРЕДЕЛЕНИЕ, НАЗНАЧЕНИЕ, ВАРИАНТЫ РЕАЛИЗАЦИИ СТЕКА
СТЕК И ЕГО НАЗНАЧЕНИЕ
Стек– это память с линейно упорядоченными ячейками и специальным механизмом доступа, исключающим необходимость указания адреса при записи и чтении. В зависимости от используемого правила доступа, называемого дисциплиной, различают два типа организации стековой памяти: очередь и стек. Дисциплина определяется применительно к входным (записываемым) и выходным (читаемым) последовательностям слов. Очередь реализует дисциплину FIFO (First-In-First-Out– первый поступивший извлекается первым). Стек, в отличие от очереди, организован в соответствии с дисциплиной LIFO (Last-In-First-Out– последний поступивший извлекается первым), т.е. информация из стека выбирается в обратном по отношению к записи порядке.
Для работы со стеком в системе команд микропроцессора есть специальные команды, а в программной модели микропроцессора для этого существуют специальные регистры:
esp/sp (Stack Pointer register) — регистр указателястека. Содержит указатель вершины стека в текущем сегменте стека.
ebp/bp (Base Pointer register) — регистр указателя базы кадра стека. Предназначен для организации произвольного доступа к данным внутри стека.
Физически стековая память МП или просто стек представляет собой набор регистров (аппаратурный стек) или ячеек оперативной памяти, снабженный указателем стека SP. Указатель SP всегда адресует «вершину стека», под которой понимается ячейка стека, доступная для чтения. По мере записи и считывания данных из стека содержимое SP меняется: при записи или загрузке в стек, например, при исполнении команд PUSH, значение SP уменьшается – стек растет в сторону младших адресов, а при чтении или выталкивании данных из стека, значение SP увеличивается. Указанное правило при обращении к стеку реализуется автоматически, и поэтому при операциях со стеком возможно безадресное задание операнда. В качестве указателя стека обычно используют реверсивный счетчик.
Стековая память является безадресной. Принцип работы стека и способ адресации его вершины иллюстрирует рис. 3. Важнейшей характеристикой стека является его размер. МП может содержать относительно небольшой по размеру аппаратный стек (число внутренних регистров стековой памяти, как правило, не превышает 8–16) или не содержать такового совсем. Более распространена архитектура МП, использующая практически неограниченный внешний стек, моделируемый в основной памяти с произвольным доступом.
Рис. 3. Принцип работы стека и способ адресации его вершины с использованием указателя (SP) .
Некоторые ЭВМ имеют стеки, которые физически похожи на распределители тарелок в кафетериях, т. е. действительно все элементы данных физически сдвигаются, когда ЭВМ заносит или выбирает элементы. Стек, показанный на рис. 4, один из тех, в которых двигаются все элементы. Этот тип стека может быть построен на основе реверсивного сдвигового регистра.
Рис.4 Работа стека
В стеках большинства ЭВМ элементы данных в действительности не перемещаются. Единственное изменение, которое имеет место, приходится на указатель стека, который содержит адрес верхнего элемента стека. Электронно-вычислительная машина добавляет один элемент в стек, помещая элемент в ячейку памяти, адресуемую указателем стека, а затем увеличивает на 1 содержимое указателя стека. Извлечение элемента из стека производится путем уменьшения на 1 содержимого указателя стека и извлечения этого элемента из соответствующей ячейки памяти.
На рис. 5 показаны примеры этих операций. Заметим, что элементы данных в стеке совсем не передвигаются. Этот тип стека использует обычное ОЗУ.
Рис. 5. Работа указателя стека
Основное преимущество стека состоит в том, что можно заносить в него данные (увеличивать емкость стека), не разрушая структуру уже записанных в нем данных. Если данные запоминаются в ячейках памяти или в регистре, то теряется предыдущее содержимое этого участка памяти. Таким образом, прежде чем использовать одну и ту же ячейку памяти или регистр снова, необходимо где-то запомнить ее содержимое. Вместе с тем можно использовать стек снова и снова, так как предыдущее содержимое его автоматически сохраняется. Кроме того, ЦП может легко и быстро передавать данные в стек и из стека, так как адрес содержится в указателе стека, а не является частью команды. Формат команд операций со стеком очень короткий.
Рис.6 Использование стека для адресов возврата
Стек можно использовать для того, чтобы иметь возможность очень просто запоминать адреса возвратов при работе с подпрограммами.
Каждая команда ПЕРЕХОД К ПОДПРОГРАММЕ автоматически засылает адрес возврата из счетчика команд в стек. Каждая команда ВОЗВРАТ извлекает адрес возврата в программу из стека и помещает его в счетчик команд.
Основной недостаток использования стековой памяти состоит в сложности отладки и документирования программ, оперирующих со стеком. Так как элемент данных в стеке не имеет фиксированного в программе адреса, то его содержимое может быть трудно для распознавания. Ошибки в использовании стека программистом очень трудны для обнаружения. Типичными примерами ошибок являются: перемещение из стека данных в неверном порядке, помещение в стек или выборка из него избыточных данных, переполнение стека или потеря данных в стеке.
В МП стек применяется в качестве средства сохранения адресов возврата и состояния данных при работе с подпрограммами. Его использование приводит к существенным упрощениям при организации вложенных подпрограмм, когда одна программа вызывает другую, которая в свою очередь может вызвать третью и т.д. В таких случаях при каждом вызове адрес возврата текущей программы и другая необходимая информация (содержимое РОН) загружаются в стек. При возврате информация в обратном порядке выбирается из стека. Заметим, что при организации стека, моделируемого в памяти с произвольным доступом, время обращения к элементам данных стека равно времени обращения к памяти. Однако стек, наряду с отмеченными особенностями его использования, эффективнее обычной памяти. Среди применений стека можно выделить его использование для временного хранения данных, когда для них нет смысла выделять фиксированные места в памяти, для организации прерываний, для передачи и возврата параметров при вызовах процедур возвратах из них. Кроме этого, стековая память является важнейшей компонентой процессоров со стековой архитектурой.
ТЕХНИЧЕСКОЕ ЗАДАНИЕ
Построить внутреннюю память процессорной системы, состоящую из ПЗУ и статического ОЗУ. Процессорная система работает в реальном режиме.
Разрядность ША - 20, ШД - 8.
ИСХОДНЫЕ ДАННЫЕ:
Адреса, покрываемые ПЗУ, определяются по предпоследней цифре номера зачетной книжки, а покрываемые ОЗУ - по последней.
Адреса, покрываемые ПЗУ: 00000H до 0FFFFH
Адреса, покрываемые OЗУ: 0C0000H до 0FFFFFH
Емкость микросхемы ПЗУ: 32К 1
Емкость микросхемы ОЗУ: 128К 1
1.ОПРЕДЕЛЕНИЕ ЕМКОСТИ ПЗУ И ОЗУ
По полученному диапазону адресов определим емкость ПЗУ и ОЗУ. Определим количество изменяющихся разрядов и запишем адрес в двоичном коде.
216 = 210 26,210 = 1К - килобит,таким образом, емкость ПЗУ равна 64К 8.
ОЗУ
Начальный адрес: 11000000000000000000в.
Конечный адрес: 11111111111111111111в.
Изменилось 18 разрядов.
Для 8-разрядной шины данных емкость ОЗУ равна: 218 8,
218 = 210 28 = 256К,
таким образом, емкость ОЗУ равна 256К 8.
Для изображения схемы необходимо определить
емкости микросхем ОЗУ и ПЗУ;
структуры ОЗУ и ПЗУ (количество микросхем, способ соединения);
общую структуру памяти.
По заданию дано: емкость микросхемы ПЗУ: 32К 1
Емкость микросхемы ОЗУ: 128К 1
Таким образом, схема ПЗУ имеет 15 адресных входов 32К = 215, один вход/ выход данных и вход CS (выборки кристалла).
Схема ОЗУ имеет 17 адресных входов 128К= 217, один вход/выход данных, входы CS и W/R.
Микросхемы ПЗУ ( 32К 1 ), ОЗУ ( 128К 1 ), изображены на рисунке 1 и 2.
Рисунок 1 - Микросхема ПЗУ 32К 1 .
Рисунок 2 - Микросхема ОЗУ 128К 1 .
2. ОПРЕДЕЛЕНИЕ ПЗУ И ОЗУ
Структура ПЗУ
Емкость ПЗУ - 64К8. Емкость микросхемы 32К1, значит, для получения нужной емкости ПЗУ необходимо объединить параллельно по адресным входам и входу CS 8 микросхем, каждая из которых обеспечит один разряд шины данных. Получим эквивалентную схему, позволяющую хранить 32Кбайта информации, т.е. 32Кх8 (рисунок 3).
Для построения ПЗУ 64Кх8 нужно объединить 4 такие схемы.
Для построения ПЗУ обратимся к адресам, на которых работает эта память. По заданию изменяются 16 младших разрядов А0 – А15. Для каждой микросхемы могут изменяться лишь 15 адресов А0 – А14. Следовательно, старший разряд определяет направление на микросхему. Если А15 – 0, задействуется первая микросхема ПЗУ, если 1 - вторая.
Рисунок 4 – Структура ПЗУ 64Кх8
Структура ОЗУ
Емкость ОЗУ 256К8, емкость микросхемы 128К8, значит, для построения такого ОЗУ необходимы 2 микросхемы.
Для построения ОЗУ обратимся к адресам, на которых работает эта память. В данном случае изменяются 18 младших разрядов А0–А17. Для каждой микросхемы могут изменяться лишь 17 адресов А0–А16. Следовательно, старший разряд определяет направление на микросхему. Если А17–0, задействуется первая микросхема ОЗУ, если 1 - вторая.
Рисунок 5. Структура ОЗУ 256К 8
Общая структура памяти (рисунок 7)
По заданию начальные адреса ПЗУ и ОЗУ следующие:
ПЗУ (00000H – 00000000000000000000b),
ОЗУ (0C0000H – 11000000000000000000b).
По состоянию разрядов: А19, А18 - 00 работает ПЗУ, а по состоянию А19, А18 - 11 работает ОЗУ. С помощью простейшей логики можно построить дешифратор направлений ПЗУ/ОЗУ (рисунок 6).
Рисунок 12 - Дешифратор направлений ПЗУ/ОЗУ
Рисунок 7 - Общая структура проектируемой памяти
ЗАКЛЮЧЕНИЕ
Внедрение и широкое использование средств вычислительной техники является одним из главных факторов ускорения научно-технического прогресса в нашей стране. Стремительно возрастает роль ЭВМ во всех областях человеческой деятельности. Без использования быстродействующих ЭВМ в настоящее время немыслима работа большинства предприятий. А повышение быстродействия ЭВМ в значительной мере зависит от повышения быстродействия входящего в её состав микропроцессора.
Темпы научно-технического прогресса, усиление роли науки в значительной степени определяются качеством средств вычислительной техники и их программным обеспечением. Именно развитие этих средств обеспечивает успехи в автоматизации производственных процессов, в разработке новых технологий, в повышении эффективности труда и управления, в совершенствовании системы образования и в ускорении подготовки кадров.