|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Назначение выводов БИС К1810ВМ89AD15 – AD0 - входы/выходы для формирования адресов и передачи данных. Функции этих линий задаются сигналами состояния до , , . Линии находятся в высокоомном состоянии после общего сброса и тогда, когда шина не используется. Линии AD15 - AD8 формируют стабильные (не мультиплексированные) сигналы при пересылках на 8-битовую физическую шину данных и мультиплексируются с данными при пересылках на 16-битовую физическую шину данных (рис. 27). A19/S6, A18/S5, A17/S4, A16/S3 - выходы для формирования четырех старших разрядов адресов и сигналов состояний. Сигналы адресов формируются в течение первой части цикла шины (Т1), в остальной части цикла активны сигналы состояний, которые кодируются следующим образом: S6 = S5 = 1, что означает ПДП-пересылку; S4 = 0, что означает ПДП-пересылку; S4 = 1 - цикл шины без ПДП; S3 = 0 - работает канал 1; S3 = 1 - работает канал 1. После общего сброса и при отсутствии обращений к шине эти линии находятся в высокоомном состоянии. - выходной сигнал разрешения старшего байта шины данных. Сигнал низкого (активного) уровня формируется процессором, когда байт должен передаваться по старшим линиям D15 - D8. После общего сброса и. при отсутствии обращении к шине этот выход находится в высокоомном состоянии. Сигнал ВНЕ (в отличие от аналогичного сигнала процессоров ВМ86 и ВМ87) может не фиксироваться в фиксаторе адреса, так как он не мультиплексирован с другим сигналом. Рисунок 27 – Условное графическое обозначение АСП ВМ89
- - выходы для кодирования состояния ВМ89, определяющие действия процессора в каждом цикле работы с шиной. Они кодируются следующим образом: = 000 - выборка команды из адресного пространства ввода - вывода; 001 - чтение данных из адресного пространства ввода - вывода; 010 - запись данных в адресное пространство ввода - вывода; 100 - выборка команды из системного пространства адресов; 101 - чтение данных из системного пространства адресов; 110 - запись данных в системное пространство адресов; 111 - пассивное состояние. Код 011 - не используется. С помощью этих сигналов контроллер шины и арбитр шины формируют команды управления памятью и устройствами ввода - вывода. Сигналы формируются в такте Т4 предыдущего цикла, определяя начало нового цикла. По окончании цикла шины в такте Т3 или TW сигналы возвращаются в пассивное состояние. После общего сброса и при отсутствии обращений к шине выходы , , находятся в высокоомном состоянии. READY - входной сигнал готовности, поступающий от адресуемого устройства, которое оповещает СПВВ о том, что оно готово к пересылке данных. Сигнал синхронизуется в тактовом генераторе К1810ГФ84. - выходной сигнал монополизации (блокировки) системной шины. Используется в многопроцессорных системах и подается на одноименный вход арбитра шины К1810ВБ89, запрещая доступ к системной шине другим процессорам. Сигнал формируется установкой соответствующего разряда регистра управления канала либо командой TSL. После общего сброса и при отсутствии обращений к шине выход находится в высокоомном состоянии. RESET - входной сигнал общего сброса (начальной установки) останавливает любые действия СПВВ и переводит его в пассивное состояние до получения сигнала запроса готовности канала. CLK - вход для подачи импульсов синхронизации от генератора тактовых импульсов К1810ГФ84. СА - входной сигнал запроса готовности канала. Используется центральным процессором для инициализации СПВВ и определения задания каналам. По срезу сигнала СА опрашивается состояние входа SEL. SEL - входной сигнал, который по первому (после общего сброса) сигналу СА определяет статус (ведущий/ведомый) СПВВ и запускает последовательность инициализации. При поступлении последующих сигналов СА сигнал SEL определяет номер канала (1 или 2), которому предназначено сообщение от ЦП. DRQ1, DRQ2 - входы запросов прямого доступа к памяти от внешних устройств. Сигналы на этих входах сигнализируют СПВВ, что внешнее устройство готово к обмену данными с использованием канала 1 или 2 соответственно. - входной/выходной сигнал запроса/предоставления шины, по которому осуществляется диалог, необходимый для арбитража шины между СПВВ и ЦП в местной конфигурации или между двумя СПВВ в удаленной конфигурации. SINTR1, SINTR2 - выходные сигналы запросов прерываний от каналов 1 и 2 соответственно. Обычно они передаются на вход ЦП через контроллер прерываний К1810ВН59А. Используются для сигнализации о том, что произошли задаваемые пользователем (программистом) события. ЕХТ1, ЕХТ2 - входы сигналов внешнего окончания прямого доступа для каналов 1 и 2 соответственно. Они вызывают окончание текущей ПДП-пересылки в канале, который запрограммирован для анализа окончания ПДП по внешнему сигналу. Структура СПВВ Внутренняя структура СПВВ подчинена его основному назначению - выполнять пересылки данных без непосредственного вмешательства ЦП, который связывается с СПВВ только для инициализации и выдачи задания на обработку. В обоих случаях ЦП предварительно готовит необходимое сообщение в памяти и затем с помощью сигнала запроса готовности канала активизирует СПВВ ВМ89 на выполнение действий, определенных в сообщении. С этого момента СПВВ работает независимо от ЦП. В процессе выполнения задания или по его завершении СПВВ может связаться с ЦП с помощью сигнала запроса прерывания. Процессор может обращаться к памяти и устройствам ввода - вывода (УВВ), размещенным в системном пространстве адресов емкостью 1 Мбайт или в пространство ввода - вывода емкостью 64 Кбайт (рис. 28). Хотя СПВВ располагает только одной физической шиной данных, удобно полагать, что в системное пространство он обращается по системной шине (СШ) данных, а в пространстве ввода - вывода по шине ввода - вывода (ШВВ) данных. Различие между этими двумя шинами состоит в том, что СШ управляется сигналами чтения и записи в память, а ШВВ - сигналами чтения и записи в УВВ. Таким образом, устройства ввода - вывода, размещенные в системном пространстве, оказываются отображенными на память (реагируют на 20-битовые адреса, закрепленные за ними по командам чтения и записи в память), а память, размещенная в пространстве ввода - вывода, - отображенной на УВВ (адресуемой 16-битовыми адресами и реагирующей на команды чтения и записи в УВВ). Рисунок28 - Два пространства адресов процессоров ввода - вывода
Указанные шины функционируют по-разному, в зависимости от конфигурации, в которой используется СПВВ. В местной конфигурации (рис. 29, а) СПВВ использует СШ и ШВВ совместно с центральным процессором. Арбитраж по предоставлению шины конкретному процессору осуществляется сигналом запроса/предоставления RQ/GT. В удаленной о использует ШВВ, она является его локальной шиной. Доступ к СШ обеспечивает конфигурация, простейший вариант которой изображен на рис. 29, б. Рисунок 20 - Использование СШ и ШВВ в местной (а) и удаленной (б) конфигурации
Структура процессора ввода - вывода (рис. 30) включает несколько функциональных узлов, соединенных 20-битовой внутренней шиной для получения максимальной скорости внутренних пересылок. (В отличие от 16-битовой внешней шины по внутренней шине осуществляются пересылки как 16-, так и 20-битовых значений адресов и данных.) Общее устройство управления (УУ) координирует работу функциональных узлов процессора. Все операции (выполнение команд, циклы пересылки с ПДП, ответы на запрос готовности канала и др.), выполняемые СПВВ, распадаются на последовательности элементарных действий, которые называются внутренними циклами. Цикл шины, например, составляет один внутренний цикл; выполнение команды может потребовать нескольких внутренних циклов. Всего насчитывается 23 различных типа внутренних циклов, каждый из которых занимает от двух до восьми тактов CLK (без учета возможных состояний ожидания и времени на арбитраж шин). Общее УУ указывает для каждой операции, какой функциональный узел будет выполнять очередной внутренний цикл. Например, когда оба канала активны, общее УУ определяет, какой канал имеет более высокий приоритет, либо, если их приоритеты равны, осуществляет управление попеременной работой каналов. Кроме того, общее УУ осуществляет начальную инициализацию процессора, для чего используется программно недоступный регистр ССР - указатель блока параметров. Рисунок 30 - Укрупненная структурная схема СПВВ ВМ89
Арифметическо-логическое устройство (АЛУ) может выполнять беззнаковые арифметические операции над 8- и 16-битовыми двоичными числами, включающими сложение, инкремент и декремент. Результатом арифметических операций может быть 20-битовое число. Логические операции, включая И, ИЛИ, НЕ, могут выполняться над 8- и 16-битовыми операндами. Регистры сборки - разборки участвуют при передаче всех данных, поступающих в процессор. Когда разрядность источника и приемника данных различаются, процессор использует эти регистры для обеспечения максимальной скорости передачи. Например, при пересылке с ПДП из 8-битового УВВ в 16-битовую память процессор затрачивает два цикла шины на прием двух последовательных байтов,»собирает» их в одно 16-битовое слово и передает его в память за один цикл шины. При передаче 16-битовых данных 8-битовому приемнику осуществляется его предварительная»разборка» на байты. Таким образом, наличие регистров сборки/разборки экономит циклы шины. Очередь команд используется для повышения производительности процессора при выборке их из памяти. Во время выполнения программы каналом команды выбираются из памяти словами, размещенными по четному адресу младшего байта. На одну такую выборку затрачивается один цикл шины. Этот процесс показан на рис. 31. Если последний байт текущей команды Х приходится на четный адрес, то следующий за ним байт из нечетного адреса (он является первым байтом команды Y) извлеченного слова сохраняется в очереди. Когда канал начинает выполнять команду Y, этот байт из очереди извлекается значительно быстрее, чем из памяти. Таким образом, очередь команд размерностью всего один байт позволяет процессору при выборке команд всегда читать слова, что снижает загрузку шины, увеличивая ее пропускную способность и производительность СПВВ. Рисунок 31 - Выборка команд с использованием очереди
В двух исключительных случаях при извлечении команд процессор читает из памяти байты, а не слова. Во-первых, когда команда передачи управления (например, JMP, JNZ, CALL) указывает на нечетный адрес, по которому размещена команда, требующая исполнения. В этом случае первый байт команды извлекается отдельно. Во-вторых, когда встречается 6-байтовая команда LPDI, которая извлекается в следующем порядке: байт - слово - байт - байт - байт, и очередь не используется. Когда используется 8-битовая шина для передачи команд процессору, читаются только байты, а очередь не используется и каждая выборка требует одного цикла шины. Блок шинного интерфейса (БШИ) осуществляет управление и определяет циклы шины, связанные с выборкой команд и передачей данных между СПВВ и памятью или УВВ. Каждое обращение к шине связано с битом регистра этикеток (регистр TAG находится в каждом канале), который указывает. к какому пространству адресов (системному или ввода - вывода) относится обращение. БШИ выставляет тип цикла шины (выборка команды из пространства адресов ввода - вывода, запись данных в память системного пространства и т.д.) в виде кода состояния на выходах - (табл. 14). Системный контроллер К1810ВГ88 декодирует этот код, выбирая нужную шину (СШ/ШВВ) и формируя соответствующую команду (чтение, запись и т. д.). Затем БШИ определяет соотношение между логической и физической шириной СШ и ШВВ. Физическая ширина каждой шины фиксирована в системе и сообщается процессору при его инициализации. Таблица 14
В местной конфигурации обе шины (СШ и ШВВ) должны иметь одинаковую ширину: 8 или 16 бит, что определяется типом ЦП (ВМ86/ВМ88). В удаленной конфигурации СШ процессора ввода - вывода должна иметь ту же физическую ширину, что и СШ центрального процессора системы. Ширина ШВВ процессора ввода - вывода может быть выбрана независимо. Если в пространстве ввода - вывода используются какие-либо 16-битовые УВВ, должна использоваться 16-битовая ШВВ. Если в пространстве ввода - вывода все УВВ 8-битовые, то может быть выбрана 8- либо 16-битовая ШВВ. Преимущество имеет 16-битован ШВВ, поскольку она позволяет подключать к системе дополнительные 16-битовые УВВ, а также обеспечивает более эффективную выборку команд программы, размещенной в пространстве ввода - вывода. Для ПДП-пересылки в программе канала задается логическая ширина СШ и IUBB независимо для каждого канала. Логическая ширина 8-битовой физической шины может быть только 8-битовой, а для 16-битовой физической шины логическая ширина может быть задана 8- либо 16-битовой. Это позволяет обслуживать 8- и 16-битовые УВВ с помощью одной 16-битовой физической шины. В табл. 15 перечислены все возможные соотношения между логической и физической шириной СШ и ШВВ в местной и удаленной конфигурации.
Таблица 15
Логическая ширина шины учитывается только при ПДП-пересылках. Извлечение команд, а также запись и чтение операндов осуществляются словами или байтами только в зависимости от физической ширины шины. Наряду с управлением пересылками команд и данных блок шинного интерфейса осуществляет арбитраж локальных шин. В местной конфигурации БШИ использует линию для запроса шины у ЦП и ее возвращения после использования, в удаленной конфигурации - для координации совместного использования локальной ШВВ с другими процессорами ВМ89 или локальным ЦП ВМ86, если они имеются. Арбитраж СШ в удаленной конфигурации осуществляется арбитром К1810ВБ89. В тех случаях, когда необходимо монополизировать СШ, блок шинного интерфейса формирует нулевой активный сигнал . Это бывает в двух случаях: 1) когда канал выполняет команду TSL (Test and Set Lock - проверка с монополизацией); 2) когда в программе канала есть указание активизировать на время ПДП-пересылки. Структура каналов процессора ввода - вывода. Процессор ВМ89 (см. рис. 30) включает два идентичных канала. Каждый канал может осуществлять ПДП-пересылку, выполнять программу, отвечать на запросы готовности или простаивать. Эти действия каналы могут выполнять независимо друг от друга, что позволяет рассматривать СПВВ ВМ89 как два устройства: канал 1 и канал 1. Каждый канал состоит из двух основных частей: устройства управления вводом - выводом и группы регистров, часть которых используется в программах, а часть из них является программно-недоступными. Устройство управления вводом - выводом управляет действиями канала во время ПДП-пересылки. При выполнении синхронной пересылки оно ожидает поступления сигнала синхронизации на входе DRQ, прежде чем выполнить очередной цикл чтения - записи. Когда ПДП-пересылка должна заканчиваться по внешнему сигналу, устройство следит за его появлением на входе ЕХТ. Между циклами чтения и записи (пока данные находятся в СПВВ) канал может производить подсчет числа переданных данных, перекодировать их и сравнить с заданным кодом. Основываясь на результатах этих действий, УУ вводом -выводом может прекратить ПДП-пересылку. В процессе выполнения программы по команде SINTR устройство генерирует запрос прерывания в ЦП. Части запрос используется для того, чтобы сообщить ЦП о завершении программы канала. Регистры, канала используются СПВВ как при ПДП-пересылках, так и при выполнении программы. Все регистры канала (рис. 32), за исключением TAG, непосредственно принимают участие в указанных процессах. Использование каждого регистра описано в табл. 16.
Таблица 16
Регистр общего назначения GA служит в большинстве команд в качестве операнда. В качестве базового он используется для указания адреса операнда, находящеюся в памяти. Перед началом ПДП-пересылок программа канала загружает в GA адрес источника или приемника данных. Регистр общего назначения GB функционально взаимозаменяем с регистром GA. Если GA загружен адресом источника ПДП-пересылки, то GB должен быть загружен адресом приемника, и наоборот. Регистр общего назначения GC используется программой канала как операнд или базовый регистр. Используется при выполнении ПДП-пересылок, когда осуществляется перекодировка данных. В этом случае, перед началом пересылки, программа канала загружает в GC начальный адрес таблицы перекодировки. В процессе пересылки его содержимое не изменяется. Указатель команд ТР загружается начальным адресом программы в процессе инициализации канала общим УУ на выполнение задания. Во время выполнения программы (задания от ЦП) ТР играет роль счетчика команд. Так как ВМ89 не содержит указателя стека и не может выполнять стековых операций, возврат из подпрограммы осуществляется путем загрузки в ТР адреса возврата, который запоминается в памяти по команде CALL. Указатель задания является полностью программно-доступным (в отличие от регистра IP в ВМ86) и может использоваться программой как регистр общего назначения или базовый. Однако делать это не рекомендуется, так как программа становится трудной для понимания. Рисунок 32 - Регистры канала процессора ввода - вывода Рисунок 33 - Использование регистра МС для маскированного сравнения
Указатель блика параметров РР загружается общим УУ начальным адресом блока параметров в процессе инициализации канала на выполнение задания. В подготовленном сообщении расположение блока параметров в памяти определяет центральный процессор (см. табл. 16). Программа канала не может изменить содержимое регистра РР. Его удобно использовать как базовый для пересылки данных в блок параметров. Для ПДП-пересылок регистр РР не используется. Индексный регистр IX используется программой канала как регистр общего назначения. Он может также использоваться в качестве индексного регистра для адресации операндов, находящихся в памяти. В качестве разновидности индексной адресации, с помощью IX можно задать индексную адресацию с автоинкрементом, которая очень удобна при обработке массивов данных. Для ПДП-пересылок регистр IX не используется. Счетчик байтов ВС в программе канала служит регистром общего назначения. При ПДП-пересылке подсчитывает число пересланных байтов путем декрементирования значения, загруженного перед ее началом. Если пересылка должна заканчиваться по заданному числу пересланных байтов, то УУ вводом - выводом закончит ее, когда содержимое ВС станет равным нулю. Регистр маскированного сравнения МС в программе канала может использоваться как регистр общего назначения или для маскированного сравнения. При ПДП-пересылке используется для маскированного сравнения. Маскированное сравнение позволяет сравнить выделенные разряды байта (операнда команды или пересылаемого байта) с заданным заранее значением. Для этого в старший байт МС загружается маска, выделяющая интересующие разряды, а в младший - сравниваемое значение (рис. 33). В программе, при выполнении команды условного перехода по маскированному сравнению (либо при ПДП-пересылке), определенный в ней операнд (либо пересылаемый байт) сравнивается с замаскированным значением. Регистр управления каналом СС используется в основном при ПДП-пере-сылках. Он служит для определения условий пересылки и указывает способ ее окончания. Структура и обозначение управляющих полей СС представлены на рис. 34. Пять старших полей определяют условие ПДП-пересылки: F (пересылка) определяет, откуда и куда пересылаются данные: TR (перекодировка) - следует ли пересылаемые данные перекодировать: SYN (синхронизация) - способ синхронизации пересылки; S (источник) - в каком регистре (GA или GB) находится адрес источника; L (монополизация) - следует ли активизировать сигнал во время пересылки. Четыре младших поля задают способ окончания пересылки: TS указывает, что пересылка состоит в передаче только одного данного; ТХ - что пересылка должна заканчиваться по внешнему сигналу (ЕХТ); ТВС - по нулю в счетчике байтов (ВС); ТМС - по результатам маскированного сравнения.
Рисунок 34 - Регистр управления каналом
Поле С не используется для ПДП-пересылок, а служит удобным средством управления приоритетом программы канала. Таблица 17
Кодирование всех управляющих полей регистра СС приведено в табл. 17. Кодирование полей ТХ, ТВС и ТМС позволяет выбрать смещение 0, 4 или 8 по окончанию ПДП-пересылки. Выбранное значение добавляется к содержимому счетчика команд ТР и определяет три различных точки программы, в которые передается управление после окончания пересылки (рис. 35). Окончание по одиночной пересылке TS = 1 всегда приводит к нулевому смещению. Рисунок 35 - Использование смещения по окончании ПДП-пересылки
Рисунок 36 - Регистр байта-состояния программы канала
В регистре TAG каждый бит соответствует одному из четырех регистров: GA, GB, GC и ТР (см. рис. 32). Когда они используются в качестве базовых или указателей (см. табл. 17), то бит TAG определяет, к какому пространству адресов (системному или ввода - вывода) относится адрес, размещенный в соответствующем регистре. Значение бита TAG = 0 показывает, что адрес относится к системному пространству (20-битовый адрес); TAG = 1 указывает на пространство ввода - вывода (16-битовый адрес). Общее УУ устанавливает или сбрасывает бит регистра TAG, соответствующий ТР, в зависимости от того, в каком адресном пространстве размещена программа канала. Когда GA, GB и GC используются в качестве регистров общего назначения, соответствующий бит регистра TAG устанавливается по-разному при выполнении различных групп команд (см. табл. 17). Восьмибитовый регистр PSW, имеющийся в каждом канале, хранит слово-состояние программы. В регистр PSW заносится информация о текущем состоянии канала (рис. 36). Логическая ширина шины приемника равна 8 бит при D = 0 и 16 бит при D = 1. Логическая ширина шины источника равна 8 бит при S = 0 и 16 бит при S = 1. Когда канал выполняет программу, бит ТВ устанавливается в единицу. При управлении выдачей запроса прерывания 1С устанавливается в нуль, когда прерывание запрещено, и в единицу, когда оно разрешено. Если канал выдал запрос прерывания, то IS = 1, если не выдал - IS = 0. Бит В = 1 задает режим предельной загрузки шины. Бит XF = 1, когда канал выполняет ПДП-пересылку. Бит Р задает приоритет канала. Эта информация позволяет в любой момент приостановить работу канала, записав значение PSW и ТР в память, а затем возобновить его работу, считав PSW и ТР.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.012 сек.) |