|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Пусть процессор вычисляет значение выраженияПрограмма решения этой задачи для одноадресного компьютера может быть следующей (табл. 2.4). Таблица 2.4. Пример программы
Замечание. Выполнение команды типа подразумевает, что результат операции помещается в первый регистр, в данном случае в Как следует из приведенной программы, операнд a выбирается из памяти 2 раза (команды 4 и 5), b – 3 раза (команды 2, 7 и 8). Кроме того, потребовались дополнительные обращения к памяти для запоминания и вызова из памяти результатов промежуточных вычислений (команды 3, 6, 9, 10). Если главным фактором, ограничивающим быстродействие компьютера, является время цикла памяти, то необходимость в дополнительных обращениях к памяти значительно снижает скорость его работы. Очевидно, что принципиально необходимы только обращения к памяти за данными в первый раз. В дальнейшем они могут храниться в триггерных регистрах или СОЗУ. Указанные соображения получили свое воплощение в ряде логических структур процессора. Одна из них – процессор со стековой памятью. Принцип ее работы поясняет схема, представленная на рис. 2.2. Стековая память представляет собой набор из n регистров, каждый из которых способен хранить одно машинное слово. Одноименные разряды регистров P1, P2,..., Pn соединены между собой цепями сдвига. Поэтому весь набор регистров может рассматриваться как группа n‑разрядных сдвигающих регистров, составленных из одноименных разрядов регистров P1, P2,..., Pn. Информация в стеке может продвигаться между регистрами вверх и вниз. Движение вниз: (P1) ® P2, (P2) ® P3,..., а P1 заполняется данными из главной памяти. Движение вверх: (Pn) ® Pn‑1, (Pn‑1) ® Pn‑2, а Pn заполняется нулями.
Регистры P1 и P2 связаны с АЛУ, образуя два операнда для выполнения операции. Результат операции записывается в P1. Следовательно, АЛУ выполняет операцию . Одновременно с выполнением арифметической операции (АО) осуществляется продвижение операндов вверх, не затрагивая P1, т. е. (P3) ® P2, (P4) ® P3 и т. д. Таким образом, АО используют подразумеваемые адреса, что уменьшает длину команды. В принципе, в команде достаточно иметь только поле, определяющее код операции. Поэтому компьютеры со стековой памятью называют безадресными. В то же время команды, осуществляющие вызов или запоминание информации из главной памяти, требуют указания адреса операнда. Поэтому в ЭВМ со стековой памятью используются команды переменной длины. Например, в KDF-9 команды АО – однослоговые, команды обращения к памяти и передач управления – трехслоговые, остальные – двуслоговые. Команды располагаются в памяти в виде непрерывного массива слогов независимо от границ ячеек памяти. Это позволяет за один цикл обращения к памяти вызвать несколько команд. Для эффективного использования возможностей такой памяти в ЭВМ вводятся спецкоманды: · дублирование ~ (P1) ® P2, (P2) ® P3,... и т. д., а (P1) остается при этом неизменным; · реверсирование ~ (P1) ® P2, а (P2) ® P1, что удобно для выполнения некоторых операций. Рассмотрим тот же пример для новой ситуации (табл. 2.5): . Таблица 2.5. Реализация программы со стековой памятью
Как следует из табл. 2.5, понадобились лишь три обращения к памяти для вызова операндов (команды 1, 3, 8). Меньше обращений принципиально невозможно. Операнды и промежуточные результаты поступают для операций в АУ из стековой памяти; 9 команд из 12 являются безадресными. Вся программа размещается в трех 48-разрядных ячейках памяти. Главное преимущество использования магазинной памяти состоит в том, что при переходе к подпрограммам (ПП) или в случае прерывания нет необходимости в специальных действиях по сохранению содержимого арифметических регистров в памяти. Новая программа может немедленно начать работу. При введении в стековую память новой информации данные, соответствующие предыдущей программе, автоматически продвигаются вниз. Они возвращаются обратно, когда новая программа закончит вычисления. Наряду с указанными преимуществами стековой памяти отметим также: * уменьшение количества обращений к памяти; * упрощение способа обращения к ПП и обработки прерываний. Недостатки стековой организации памяти: · большое число регистров с быстрым доступом; · необходимость в дополнительном оборудовании, чтобы следить за переполнением стековой памяти, ибо число регистров памяти конечно; · приспособленность главным образом для решения научных задач и в меньшей степени для систем обработки данных или управления технологическими процессами. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |