- •Архитектура вычислительных систем. Вычислительные машины, системы и сети
- •2 Простейшие типовые элементы вычислительных машин 21
- •10 Вычислительные системы параллельной обработки. 147
- •11 Организация микроконтроллеров и микроконтроллерных систем 165
- •12 Организация компьютерных сетей 174
- •13 Стандартизация компьютерных сетей. Эталонная модель взаимодействия открытых систем 182
- •1 Основные понятия вычислительной техники и принципы организации вычислительных систем
- •1.1 Основные понятия и определения
- •1.2 Принципы организации вычислительных машин и систем
- •1.3 Основные характеристики вычислительных машин и
- •1.4 Многоуровневая организация вычислительных процессов
- •Вопросы для самопроверки
- •2 Простейшие типовые элементы вычислительных машин
- •2.1 Комбинационные схемы
- •1) Конъюнкция (логическое умножение) .
- •2) Дизъюнкция (логическое сложение) .
- •3) Отрицание (инверсия) .
- •4) Конъюнкция и инверсия (Штрих Шеффера) .
- •5) Дизъюнкция и инверсия (Стрелка Пирса) .
- •6) Эквивалентность .
- •7) Отрицание эквивалентности .
- •2.2 Автоматы с памятью
- •2.3 Триггеры
- •2.4 Проблемы и перспективы развития элементной базы
- •Вопросы для самопроверки
- •3 Функциональные узлы комбинационного и
- •3.1 Функциональные узлы последовательного типа
- •3.1.1 Регистры
- •3.1.2 Счётчики
- •3.1 Функциональные узлы комбинационного типа
- •3.2.1 Шифраторы и дешифраторы
- •3.2.2 Компараторы
- •3.2.3 Сумматоры
- •Вопросы для самопроверки
- •4 Функциональная организация процессора
- •4.1 Основные характеристики и классификация процессоров
- •4.2 Физическая и функциональная структура процессора
- •4.2.1 Операционное устройство процессора
- •4.2.2 Шинный интерфейс процессора
- •4.3 Архитектурные принципы организации risc-процессоров
- •4.4 Производительность процессоров и архитектурные
- •Вопросы для самопроверки
- •5 Организация работы процессора
- •5.1 Классификация и структура команд процессора
- •5.2 Способы адресации данных и команд
- •5.2.1 Способы адресации данных
- •5.2.2 Способы адресации команд
- •5.3 Поток управления и механизм прерываний
- •Вопросы для самопроверки
- •6 Современное состояние и тенденции развития процессоров
- •6.1 Архитектурные особенности процессоров Pentium
- •6.2 Программная модель процессоров Pentium
- •6.2.1 Прикладная программная модель процессоров Pentium
- •6.2.2 Системная программная модель процессоров Pentium
- •6.2.3 Система команд и режимы адресации процессоров
- •6.3 Аппаратная организация защиты в процессорах Pentium
- •6.4 Аппаратные средства поддержки многозадачности
- •6.5 Перспективы развития процессоров
- •Вопросы для самопроверки
- •7 Память. Организация памяти.
- •7.1 Иерархическая организация памяти
- •7.2 Классификация запоминающих устройств
- •7.3 Структура основной памяти
- •7.4 Память с последовательным доступом
- •7.5 Ассоциативная память
- •7.6 Организация флэш-памяти
- •7.7 Архитектурные способы повышения скорости обмена между процессором и памятью
- •Вопросы для самопроверки
- •8 Управление памятью. Виртуальная память
- •8.1 Динамическое распределение памяти
- •8.2 Сегментная организация памяти
- •8.3 Страничная организация памяти
- •8.4 Сегментно-страничная организация памяти
- •Вопросы для самопроверки
- •9 Организация ввода-вывода информации. Системная шина
- •9.1 Организация шин. Системная шина
- •9.1.1 Структура системной шины
- •9.1.2 Протокол шины
- •9.1.3 Иерархия шин
- •9.2 Организация взаимодействия между периферийными устройствами и процессором и памятью вычислительных машин
- •9.3 Внешние интерфейсы вычислительных машин
- •9.3.1 Параллельный порт lpt и интерфейс Centronics
- •9.3.1 Последовательный порт com и интерфейс rs-232c
- •9.3.3 Универсальная последовательная шина usb
- •9.3.4 Беспроводные интерфейсы
- •Вопросы для самопроверки
- •10 Вычислительные системы параллельной обработки.
- •10.1 Параллельная обработка информации
- •10.2 Классификация систем параллельной обработки данных
- •10.2.1 Классификация Флинна
- •10.2.2 Классификация Головкина
- •10.2.3 Классификация многопроцессорных систем по
- •10.3 Вычислительные системы на кристалле. Многоядерные системы
- •10.4 Тенденции развития вс
- •Вопросы для самопроверки
- •11 Организация микроконтроллеров и микроконтроллерных систем
- •11.1 Общие сведения о системах управления
- •11.2 Организация микроконтроллеров и
- •11.3 Области применения и тенденции развития мк
- •Вопросы для самопроверки
- •12 Организация компьютерных сетей
- •12.1 Обобщённая структура компьютерных сетей
- •12.2 Классификация компьютерных сетей
- •Вопросы для самопроверки
- •13 Стандартизация компьютерных сетей. Эталонная модель взаимодействия открытых систем
- •13.1 Понятие «открытой системы». Взаимодействие
- •13.2 Эталонная модель взаимодействия открытых систем
- •13.3 Структура блоков информации
- •7 Прикладной
- •Вопросы для самопроверки
- •Архитектура вычислительных систем. Вычисдительные машины, системы и сети
7.4 Память с последовательным доступом
Память с последовательным доступом строится либо с использованием продвижения данных по цепочке элементов (по подобию с регистрами сдвига), либо с хранением данных в адресном ЗУ при соответствующем управлении адресом доступа /5/.
Основными представителями такого вида памяти являются видеопамять, буфер FIFO, стек. Более подробно остановимся на организации памяти в виде стека.
Стек – это однонаправленная очередь, в которую данные помещаются и из которой извлекаются строго в определённом порядке. Стековая память обеспечивает такой режим работы, когда информация записывается и считывается по принципу «последним записан – первым считан» (LIFO – Last Input First Output). Такая память используется для временного хранения данных, например, для запоминания и восстановления регистров процессора (контекста) при обработке подпрограмм и прерываний. Работу стековой памяти поясняет рисунок 7.3 /3/.
Когда слово A заносится в стек, оно располагается в первой свободной ячейке. Каждое следующее записываемое слово перемещает всё содержимое стека на одну ячейку вверх и занимает освободившуюся ячейку. Запись очередного слова после H приводит к переполнению стека, поскольку он рассчитан на 7 слов, и потере кода A.
Считывание информации из стека осуществляется в обратном порядке, т.е., начиная с кода H, который был записан последним. Доступ к произвольному коду в стеке формально недопустим до извлечения всех данных, записанных позже.
Занесение информации в стек называется включением, считывание информации из стека – извлечением.
Как отмечается в /3/, в настоящее время наиболее распространённым является внешний или аппаратно-программный стек, в котором для хранения информации отводится область оперативной памяти. Обычно под стек отводится участок памяти с наибольшими адресами, а стек расширяется в сторону уменьшения адресов.
Рисунок 7.3 – Логика работы стековой памяти
На рисунке 7.4 показана схема организации стека для процессора Intel 8086.
Под стек выделяется отдельный сегмент – сегмент стека, начальный адрес которого помещается в соответствующий сегментный регистр – SS. Адресация стека обеспечивается специальным регистром – указателем стека SP, в который предварительно помещается наибольший адрес области основной памяти, отведённой под стек (дно стека). Адрес последнего включённого в стек элемента называется вершиной стека (TOS – Top Of Stack).
Для работы со стеком существуют две основные операции: добавление элемента в вершину стека (PUSH) и извлечение элемента из вершины стека (POP). Команда PUSH имеет один операнд, который может быть непосредственным значением, 2-байтовым регистром или адресом ячейки памяти. При записи в стек данного сначала производится уменьшение на 2 содержимого указателя стека SP (стек оперирует словами), которое затем используется в качестве адреса ячейки, куда и производится запись. Команда POP также имеет один операнд, который может быть 2-байтовым регистром. При считывании слова из стека в качестве адреса этого данного берётся текущее содержимое указателя стека, а после извлечения данного содержимое SP увеличивается на 2.
Рисунок 7.4 – Схема организации стека для процессора Intel 8086
Рассмотрим следующий пример:
push 35h
push 57h
pop ax
Состояние стека при выполнении указанных выше команд иллюстрирует рисунок 7.5.
Рисунок 7.5 – Изменение состояния стека
Изначально стек пуст, и регистр SP указывает на ячейку за дном стека. При включении первого значения содержимое SP уменьшается на 2 и затем по полученному адресу помещается 35h. Аналогично со вторым значением. При извлечении слова из стека в регистр AX помещается значение из вершины стека, т.е., 57h, а содержимое SP увеличивается на 2.