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


ПРИНЦИПЫ ФОРМИРОВАНИЯ ФИЗИЧЕСКОГО АДРЕСА



страница14/20
Дата09.08.2018
Размер2.45 Mb.
#43700
ТипРешение
1   ...   10   11   12   13   14   15   16   17   ...   20

ПРИНЦИПЫ ФОРМИРОВАНИЯ ФИЗИЧЕСКОГО АДРЕСА.


СТАНДАРТНОЕ НАЗНАЧЕНИЕ СЕГМЕНТОВ

В процессоре Intel 8086 поддерживается простейшая модель сегментированной памяти. Использование сегментации позволяет, во-первых, сделать машинные программы инвариантными к месту их конкретной привязки (загрузки) в физической памяти, и, во-вторых, расширить объем физического адресного пространства до 1Мбайта (220 байт) по сравнению с возможностями 16-битной адресации, которая обеспечивает адресное пространство всего 216 байта = 64 Кбайта.

Физический адрес формируется как сумма двух компонент: базового адреса сегмента, который выбирается из соответствующего сегментного регистра, и внутрисегментного смещения (offset), которое определяет относительный адрес внутри сегмента. Обе компоненты физического адреса являются 16-разрядными, однако они складываются со смещением друг относительно друга, в результате чего формируется 20-разрядная сумма, представляющая собой физический адрес.

Схему формирования физического адреса можно представить в следующем упрощенном виде:

Рис.6.1. Схема формирования физического адреса


Так как при сложении к базовому адресу сегмента приписываются 4 младших нуля (справа), то в физической памяти автоматически происходит выравнивание сегментов на 16-байтную границу, которую принято называть границей параграфа.

Тип используемого внутрисегментного смещения (offset) определяется видом обращения к памяти. Собственно говоря, вид обращения к памяти определяет также и используемый сегмент и, соответственно, сегментный регистр, участвующий в формировании физического адреса.

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

Таблица 6.1.


N

Вид обращения к памяти


Стандартное

назначение




Возможность

пере-опре-деления



seg

offset

1

Выборка команды

CS

IP

-

2

Выборка операнда и/или запись результата при использовании регистра ВХ в качестве базового при формировании ЕА

DS

EA

CS, SS, ES

3

То же, что и (2), но при использовании регистра ВР

SS

EA

CS, DS, ES

4

Стековая операция (обращение к стеку)

SS

SP

-

5

Обращение к строке (цепочке)-источнику

DS

SI

CS, SS, ES

6

Обращение к строке (цепочке)-приемнику

ES

DI

-

Для переопределения сегмента, отличного от стандартного назначения, используется префикс замены сегмента. Он предшествует команде и имеет стандартную структуру следующего вида:

001 SR 110

7 5 4 3 2 0

Рис.6.2. Структура префикса замены сегмента



Поле SR определяет адрес используемого сегментного регистра.




Упрощенная структура компьютера (ЭВМ).
er

Независимо от принадлежности компьютера некоторому классу или типу, его в первом приближении можно разделить на 2 части:

1. центральную;

2. периферийную.

Центральную часть принято называть ядром. В ядро входят два основных устройства компьютера: ЦП и ОП.

Периферийную часть можно условно представить устройствами трех типов:



  • внешние запоминающие устройства, которые образуют внешнюю память (к ним относятся накопители на магнитных дисках и на магнитных лентах);

  • устройства ввода;

  • устройства вывода.

Обмен информацией между ядром и периферией, а так же между устройствами ядра осуществляется на уровне аппаратных интерфейсов. Организация обмена между ядром и периферийной частью компьютера возлагается на систему ввода/вывода (I/OS – Input/Output System). Система ввода/вывода представляет собой аппаратно - программный комплекс.

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

Отличительными особенностями внешней памяти по сравнению с основной памятью являются:



  • энергонезависимость;

  • файловая организация данных и последовательный доступ к данным в файлах ;

  • низкая скорость обмена как следствие использования механики и последовательного доступа;

  • неограниченный объем по сравнению с ОП;

  • минимальная стоимость хранения данных по сравнению с другими типами памяти.

Основные устройства (ВЗУ) в составе ВП:

    1. Накопители на жестких дисках (винчестеры).

    2. Накопители на гибких магнитных дисках.

    3. Накопители на оптических дисках (CD ROM).

    4. Накопители на кассетной магнитной ленте.

    5. Устройства флэш-памяти.

Под вводом данных обычно понимается их передача из ПУ в основную память. Под выводом данных – передача данных из ОП в ПУ.


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

Устройства ввода – клавиатура, устройство считывания с перфоленты и перфокарт, мышь, микрофон, джойстик, сканер. Источниками данных могут быть различные бытовые приборы и устройства – фотокамеры, кинокамеры, видеокамеры

Устройства вывода – принтер, дисплей, перфоратор перфоленты или перфокарт, графопостроитель.

Устройства, совмещающие эти функции – телетайп,

Большое многообразие специальных устройств ввода/вывода – разнообразные датчики в контрольно-измерительных приборах, системах промышленной автоматики – нагреватели, вентиляторы.

Прямое управление элементами и блоками устройств – двигатели шаговые , постоянного тока, переменного тока, реле, пускатели

Непoсредственный контроль – состояния контактов, переключателей, датчики положения, преобразователи угол-код,


Основные способы организации ввода/вывода.


  1. Программно-управляемый ввод-вывод (В/В) (PIO).

  2. Каналы передачи данных

3. Мультишина в режиме DMA (прямой доступ к памяти).

4. Процессоры В/В


Ввод/вывод с прямым программным управлением (PIO).
Для первых Неймановских ЭВМ использовалась структура с непосредственными связями и прямое программное управление В/В. Как наиболее простой и быстрый сохраняется во встроенных применениях – микроконтроллерах.
Ввод/вывод PIO осуществляется при непосредственном участии ЦП. Реализация ввода/вывода производится специальной программой (драйвером ВУ), в котором выполняются следующие действия:

  1. Пересылка данных между ОП и ВУ включает две стадии – чтение данных из ОП в регистры CPU , запись или чтение данных либо из адресуемых внешних регистров ВУ или непосредственно с датчиков в составе ВУ.

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

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

  1. Использование квитирования и/или прерываний в асинхронном обмене

Значительные задержки ожидания случайных по продолжительности и времени возникновения событий завершения переходных процессов в ПУ устраняются использованием прерываний по их заверешении Процессоры при этом могут параллельно выполнять обработку данных.
Схема включения простых средств управления клавиатурой по прерываниям и ЖКИ-индикатором с микроэвм (контроллером) MCS51 и организация локального пульта/

P0


CPU

P1

ЭВМ P2 +55.45 скорость



ЭВМ сканирует строки матрицы клавиш и при нажатии на клавишу принимает запрос прерывания, идентифицируя нажатую клавишу и принимая решение по ее значению.

Очевидно, что событие нажатия клавиши случайное и не предсказуемое по длительности.

Механическое нажатие клавиши сопровождается дребезгом, который устраняется программным ожиданием.

Стандартный модуль ЖКИ-дисплея включает контроллер управления разверткой изображения на дисплее, использует коды разверток во внутреннем ПЗУ и память для хранения ASCii –кодов идндицируемых символов. Программное управление ЖКИ включает передачу и выполнение команд адресации по строкам и столбцам, специальные режимы инициализации, сброса и их завершение контролируется либо асинхронно - по сигналам завершения в слове состояния, либо временными задержками.

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

Это устройство формирует прерывания, когда после нажатия символ уже распознан и его код передается в программу редактирования или командного управления.

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

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

Основное назначение В/В – обмен данными с ОП и эти операции могут быть выполнены независимыми друг от друга .

Таким образом, фирма IBM впервые обратила внимание на эти проблемы и нашла, по тому времени, эффективное ее решение.

Управление вводом-выводом с использованием каналов и мультипрограммная загрузка ЭВМ обеспечивают до 90% загрузки Процессора и Памяти кaк наиболее дорогостоящего оборудования ЭВМ.
Каналы В/В IBM360/370
В первую очередь, рутинные операции прямого управления электро-механическими устройствами (включение, выключение, управление двигателями, контроль состояния старт-стопных устройств и т.д.) выделены в контроллеры Увв. Унифицированы интерфейсы и система кодирования управляющих команд контроллеров. Таким образом, получена единая схема (интерфейс) включения различных УВВ. После этого выделена система команд автономного управления и аппаратура для реализации программного управления Увв в виде оборудования каналов.

Фирма IBM в системах IBM360/370 использовала для этой цели систему каналов и мультиплексор коммутации потоков данных.

В IBM360 эта проблема решалась на аппаратном уровне – совместным использованием общего оборудования CPU:

1)выделяется блок мультиплексора данных, в котором коммутируются потоки данных CPU Mem, Mem I/O.

2) Если в схеме Неймана предполагается прямое управление I/O, что вносит существенную задержку и даже остановку (недогрузку ) Процессора, то в архитектуре IBM для управления Увв организуются процессоры В/В в виде (Мультиплексных) и (Селекторных) Каналов.

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

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

Выполнение канальной программы завершается прерыванием от Канала, при этом завершается ввод-вывод или включается новая программа Канала.
Card Reader

CPU Канал Tape

Мультипл Card Punch

Line Printer


Канал Drum

Мультиплексор Селект Disk

Канал Disk

Мультипл Hyper Tape

Memory

Канал


Мультипл
Рис.4. Структура IBM7094
Приостановка Процессора или занятие цикла (такта) – выполнение одной микрокоманды записи или чтения байта из ОП. Практически для выполнения программы эта задержка не существенна в случае медленных Увв(Принтер, Лента, Считыватель с перфокарт, Дисплей с клавиатурой,..)

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

В случае быстрых Увв (Диск, Барабан) работает только одно Увв через Селекторный Канал. Быстрые схемы Селекторного Канала размещаются в CPU и с учетом разделенного использования БМУ монополизируют и останавливают работу CPU.

Работа канала

a) Выборка команд канальной программы из ОП, их декодирование и выполнение;

б) обеспечение приема, передачи, контроля и промежуточного хранения данных при обмене между ОП и ВУ;

в) формирование текущих адресов ОП, по которым записываются или считываются передаваемые данные;

г) согласование форматов данных, передающихся по интерфейсу ввода/вывода, с форматом интерфейса ОП (как правило, ширина интерфейса ввода/вывода составляет 1, 2 или 4 байта, что меньше ширины интерфейса ОП: 4, 8, 16 байт);

д) подсчет числа передаваемых байт данных с целью определения момента завершения передачи блока данных;

е) выработка последовательности синхронизирующих и управляющих сигналов в соответствии со стандартом интерфейса ввода/вывода;

ж) анализ особых ситуаций в ВУ во время обмена (ошибка передаваемых данных, сбой устройства и т.п.) и информирование ЦП об этих ситуациях (с помощью запроса прерывания);

Участие ЦП сводится к выполнению следующих функций:


  • Инициирование операции ввода/вывода (реализуется командой SIO основной программы).

  • Проверка состояния канала ввода/вывода (реализуется командой TCH – Test Channel).

  • Проверка состояния ВУ (реализуется командой TIO – Test Input/Output).

  • Остановка операций ввода/вывода (реализуется командой HIO – Halt Input/Output) возможно, для инициирования более приоритетной операции.

Команды ввода/вывода являются привилегированными, т.е. могут выполняться только программами операционной системы в режиме Supervisor (SVR).

В дальнейшем такое распределение оборудования и совмещенное использование CU Процессором и несколькими Каналами становится в СБИС не возможным - управление вводом/выводом локализовано в контроллерах, память и контроллеры функционально и конструктивно разделены в современных процессорах и управление каналами заменяет режим Прямого Доступа .

В современных архитектурах класса Main Frame выделенные процессоры В/В объединяются с CPU в мультипроцессорную систему и работают с общей или локальной памятью, где хранятся их программы и общие данные. Процессоры управления вводом/выводом.для высокопроизводительных систем позволяют разделить и распараллелить быструю обработку данных и медленные операции ввода.
Прямой доступ к памяти – DMA (Direct Memory Access).
В начале 70-х годов фирма DEC разработала Мини-ЭВМ PDP8-11, принципиально отличающуюся от компьютеров IBM . Архитектура ЭВМ имеет модульную организацию на основе стандартного системного интерфейса Общая шина:

Дисплей Принтер УввN(диски, АЦП, ЦАП,..)

Процессор Память

ОП

K K K



Арбитр

Общая шина


Рис.5. Структура PDP 11.

Процессор включает 16-битное АЛУ, что определяет основной формат (разрядность) данных. Стандартная система команд включает арифметические и логические операции с 16-битовыми данными с фиксированной точкой.



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

Выделенную линию Захвата Шины с открытым коллектором контролирует Арбитр.

Контроллер Увв, захвативший шину, закорачивает ее на себя и освобождает по окончании обмена- устанавливается высокий уровень. Арбитр принимает Запрос шины по линиям

Запроса и в соответствии с приоритетами разрешает доступ к шине конкретному Внешнему устройству.

Общая шина допускает обмен данными CPUОП и УввОП в режиме прямого доступа к памяти(ПДП) с приостановкой процессора. При этом CPU не участвует в обменах Увв с ОП., обеспечивается высокая скорость обмена данными при минимальных затратах оборудования. Завершение многобайтовых операций ввода-вывода также контролируется по прерыванию и каждый модуль с контроллером ввода-вывода содержит схемы управления ПДП.

ЦП инициализирует DMA и завершает операцию ввода/вывода.

В ОШ могут работать несколько активных устройств (процессоров) и таким образом, реальным фактом стало создание мультипроцессорных или мультимашинных систем.

Потенциальная возможность квазипараллельной работы нескольких процессоров с ОП через общую шину - огрнаниченная по времени занятость шины при многотактном исполнении команд. Только 2-3 такта 12-тактной команды занята шина обменом данными с процессором, остальные такты шина свободна и может быть захвачена другим активным устройством и процессором в мультипроцессорной системе. Если для каждого процессора выделить локальную память для хранения собственной программы и локальные устройства ввод/вывода, общую память сохранить только для данных, то количество обращений к шине и ее загрузка в мультимшинной системе становится еще меньше и параллельная работа становится более производительной.


Процессор

Процессор Память

О

K K



Арбитр

Общая шина


Режим DMA используется как для передачи одиночных байтов , так и для блочного обмена. Типичным ВУ с блочным обменом являются накопители на магнитных дисках и магнитных лентах. Управление обменом в режиме DMA осуществляется специальным устройством (микросхемой), называемым контроллером DMA – DMAC.

DMAC содержит некоторое число программно доступных регистров, представленных для ЦП адресуемыми портами ввода/вывода. (гл.8 Цилькер,Орлов) Инициализация DMA сводится к заданию режима работы и необходимых адресов путем пересылки требуемой информации из ЦП в регистры контроллера DMA. На этапе инициализации задаются следующие основные данные:



  • начальный адрес блока памяти (области памяти), используемого при обмене;

  • объем передаваемого блока памяти в байтах (типичный размер блока при обмене с жестким диском составляет 512 байт, длина или объем сектора);

  • код операции обмена (ввод или вывод);

  • адрес устройства прямого доступа (адрес ВУ задается в связи с тем, что стандартный контроллер DMA включает в себя 8 каналов прямого доступа).

DMA может быть реализован в одном из следующих основных режимов (по Цилькеру):


Название режима

Описание режима

Блочная пересылка

Захват шины на весь период пересылки блока; на весь период DMA ЦП не имеет доступа к шине памяти, в этот период процессор может продолжать работу по программе с обращением к КЭШ – памяти.



Пропуск цикла

После пересылки слова DMAC освобождает шину на один цикл, предоставляя ее ЦП.

Прозрачный режим

DMAC имеет доступ к шине только в тех циклах, в которых ЦП в ней не нуждается.

Архитектура современной ЭВМ с микропроцессором напоминает архитектуру PDP11 – Общую шину заменили другие стандарты – MultiBus (Intel), VME(Motorolla) и иерархическая мультишина ПК. Модули, подключаемые к системной шине, - микророцессор, ОП , БИС сопряжения шины с периферийными устройствами – параллельные и последовательные порты, контроллер ПДП и прерываний.


В процессорах фирмы Intel предусмотрен входной сигнал HOLD(захват шины) и сигнал подтверждения захвата HLDA(Hold Acknowledgment). Сигнал HOLD инициализирует DMAC при начале цикла обмена; ЦП, получив этот сигнал, отключается от шины и выставляет активный уровень сигнала подтверждения HLDA, получив этот сигнал, DMAC начинает цикл блочного обмена.

Арбитраж осуществляет специальный внешний модуль контроллера DMA, например, схема К1810ВТ37 (отечественный аналог) [ Подклетнов Г.С.] управляет четырьмя каналами.

Каждый канал содержит регистр базового адреса ОП, регистр текущего адреса ОП, счетчик байтов, регистр режима, регистр команд, слово состояния.




Поделитесь с Вашими друзьями:
1   ...   10   11   12   13   14   15   16   17   ...   20




База данных защищена авторским правом ©vossta.ru 2022
обратиться к администрации

    Главная страница