.RU
Карта сайта

15. в микропроцессорных системах особенно эффективно проявляется такое важное свойство микропроцессоров, как встраиваемость, возможность приблизить вычислительную технику непосредственно к объекту измерений, управления, обработки информации или диагностики. 1 - старонка 48


915.После передачи команды на исполнение в сопроцессор центральный процессор продолжает выполнение потока команд, если это команда относится к первому классу, или ожидает получения результата, если это команда второго класса. 130



916.Транспьютер может адресовать до 232 байт (4 Гбайт). Особенностью транспьютера является начало адресов в области отрицательных значений. Младший адрес в дополнительном коде соответствует значению (8000000016). 130



917.Структурно (конструктивно) вся оперативная память подразделяется на внутрикристальную и внешнюю. Объем внутрикристальной памяти составляет 4 (2) Кбайт (в зависимости от модели транспьютера). Архитектурно (с точки зрения программиста) вся память транспьютера, как внешняя, так и внутрикристальная, равнодоступна и имеет единую адресацию. Внутрикристальной памяти соответствуют младшие адреса, а внешней памяти - старшие. 130



918.Поскольку внутрикристальная память имеет меньшее время доступа (один такт процессора), в нее обычно помещаются программистом часто используемые данные и подпрограммы. Пример распределения памяти показан на рис 8.1. 130



919.Несколько слов в младших адресах памяти используется для специальных целей: для слов состояния аппаратных каналов - линков, блока Event, регистров таймера, в качестве рабочих областей памяти диспетчера. 130



8.2.5. Диспетчеризация процессов 130

920.Каждый из процессов в конкретный момент времени может быть выполняемым, активным (готовым к выполнению в очереди соответствующего приоритета), ожидающим сигнала таймера (в очереди к таймеру соответствующего приоритета), ожидающим ввода-вывода. 130



921.Для выполняемого процесса регистр I содержит адрес следующей команды, регистр W содержит его дескриптор. 130



922.Для организации очереди процессов на выполнение (очередь активных процессов) в диспетчере используются пары регистров FptrO, BptrO, Fptrl, Bptrl, указывающие на начало и конец очереди высоко- и низкоприоритетных процессов соответственно. В качестве элементов очередей используются рабочие области процессов, содержащие помимо данных процесса, управляющую информацию, требующуюся для сохранения и восстановления состояния процессов на этапе диспетчеризации (в том числе ссылку на рабочую область следующего процесса в очереди). 130



923.Низкоприоритетные процессы выполняются в течение не более чем 32 периодов низкоприоритетного таймера, после чего процесс (если он еще способен к выполнению) помещается в конец очереди активных низкоприоритетных процессов, а диспетчер планирует выполнение следующего процесса. Сначала просматривается очередь высокоприоритетных процессов, затем - низкоприоритетных. 130



924.Высокоприоритетный процесс не прерывается и выполняется до тех пор, пока это возможно (до завершения или до момента ожидания ввода-вывода, сигнала таймера или сигнала внешнего события, выдаваемого блоком Event). Если высокоприоритетный процесс становится активным (например, получает сигнал таймера) в момент выполнения процесса с низким приоритетом, последний прерывается, его состояние сохраняется в области зарезервированных адресов памяти транспьютера и инициируется выполнение прервавшего высокоприоритетного процесса. После его выполнения возобновляется прерванный низкоприоритетный процесс. 131



8.2.6. Ввод-вывод 131

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



926.В момент выполнения команды описания канала и после завершения каждого обмена слово состояния канала (ССК) инициализируется константой Minint (8000000016). Процесс, первым выполняющий команду обмена, приостанавливается и проверяется содержимое канала. Если оно Minint, то в ССК заносится дескриптор процесса, а в рабочую область процесса помещаются значение W и адрес передаваемых данных, после чего управление передается диспетчеру для планирования выполнения других процессов. 131



927. 132



928.Рис. 8.2. Внутренняя структура функциональных блоков транспьютера 132



930.Если содержимое ССК не Minint, значит данный процесс "пришел" на "рандеву" вторым. В этом случае содержимое ССК - дескриптор процесса, используя который находятся данные в случае ввода или буфер для данных в случае вывода. 132



931.Обмен по линкам осуществляется аналогично, с той разницей, что ССК имеют фиксированные адреса в памяти 8000000016 - 8000001C16, и в процессе обмена данные не пересылаются между областями памяти, а передаются по линии связи в стартстопном режиме с квитированием байтов. 132



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



8.2.7. Передача данных по линку 133

933.Все семейства транспьютеров Т-2 (Т-212, Т-222, Т-225), Т-4 (Т-414, Т-400, Т-425), Т-8 (Т-800, Т-801, Т-805) используют один и тот же протокол передачи данных по линкам. Взаимодействие между транспьютерами осуществляется посредством обмена сообщениями, состоящими из последовательности байтов. Данные передаются по одному проводу из пары проводов. По другому проводу пары передаются подтверждения приема каждого байта. 133



934.Байт передается в обрамлении служебных битов, начиная со стартового бита, далее следует управляющий бит, а затем 8 информационных битов и стоповый бит. Таким образом, на 8 информационных битов приходится 3 управляющих, поддерживающих протокол передачи. На рис. 8.3 показан пример передачи по линку. 133



935. 133



936.Рис. 8.3. Передача данных по линку транспьютера 133



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



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



940.При инициации передачи первого байта сообщения существует задержка на настройку каналов прямого доступа в передающем и приемном транспьютерах, что обусловливает разную скорость при передаче коротких (от единиц до нескольких десятков байтов) и длинных (несколько тысяч байтов) сообщений. В первом случае скорость составляет 2-4 Мбит/с, во втором - максимально возможную 10-20 Мбит/с, в зависимости от настройки передающего и принимающего транспьютеров. 133



941.Передача по линку асинхронна, приемный транспьютер не чувствителен к фазе принимаемых сигналов. Единственное, что требуется - точный кварцевый генератор 5 МГц для задания тактовых сигналов транспьютеров. 133



942.Блок режимов работы линков позволяет задавать скорость передачи по линкам транспьютера (5, 10, 20 Мбит/с), причем для нулевого линка скорость устанавливается независимо от остальных. Установка осуществляется подачей соответствующих уровней на входы LinkSpecial, LinkOSpecial, Linkl23Special. 133



943.Обмены по линку программируются раздельно в передающем и принимающем транспьютерах. В передающем транспьютере программируется команда передачи по линку заданного числа байтов. В принимающем транспьютере программируется команда приема из линка задаваемого числа байтов. Реализация обмена происходит, если программы в передающем и принимающем транспьютерах выходят на команды передачи и приема. Если один транспьютер вышел на соответствующую команду, то он ждет, пока другой выйдет на свою команду обмена. Неправильно запрограммированный обмен ведет к бесконечному ожиданию. Кроме того, бесконечное ожидание возможно, если заданы разные значения количества передаваемых и принимаемых байтов. 133



8.2.8. Ожидание сигнала от блока событий 133

944.Блок событий (Ivent) выполняет преобразование внешних логических уровней на входе блока в байтовое сообщение со значением 0 или 1, передаваемое по внутреннему каналу. Поэтому программно блок Event воспринимается как специальный канал, отличием которого от обычного канала является то, что из этого канала можно только "читать". ССК для блока Event имеет фиксированный адрес 8000002016. Ожидать ввода из канала Event может одновременно только один процесс в транспьютере. 133



945.Обычно Event используется для регистрации внешних прерываний в транспьютерной системе. Сигнал прерывания подается на вход транспьютера EventReq. Подтверждение приема сигнала прерывания (чтение из канала Event) выдается в виде уровня 1 по линии EventAck. 133



8.2.9. Ожидание сигнала от таймера 134

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



947.Все процессы, ожидающие наступления некоторого момента времени (истечения временного интервала) помещаются в очередь к таймеру, соответствующему их приоритету. Очередь процессов отсортирована в порядке наступления ожидаемого момента времени и организована с помощью ссылок между служебными словами в рабочей области процессов. Адрес первого процесса в очереди соответствующего приоритета содержится в служебных словах транспьютера (TPtrLocO, TPtrLod), в младших адресах памяти. При достижении ожидаемого момента времени диспетчеру передается дескриптор соответствующего процесса для его перевода в конец очереди активных процессов. 134



8.2.10. Инициализация системы после включения питания 134

948.Транспьютер и его ОЗУ построены по КМОП-технологии и не сохраняют своего состояния после отключения питания. Поэтому после включения питания для начала функционирования в транспьютер необходимо загрузить некоторый минимум программного обеспечения. Транспьютер может быть загружен как из внешнего ПЗУ, так и из любого линка. Для указания режима начальной загрузки используется вывод BootFromROM. Если уровень BootFromROM равен 1, то управление передается по адресу FFFFFFFE16, по которому обычно содержится команда безусловного перехода на программу начальной загрузки. 134



949.Если BootFromROM равен 0, то производится загрузка из линка. После включения питания транспьютер переходит в состояние ожидания приема данных по линкам. Первый байт, принятый по любому из линков, управляет дальнейшим режимом работы транспьютера. Если его значение больше 1, то он интерпретируется как длина кода программы, принимаемой 134



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



951.Если первый принятый управляющий байт равен 0 или 1, то транспьютер переходит в режим управления памятью. 134



952.Управляющий байт, равный 0, заставляет транспьютер интерпретировать следующие 4 байта как адрес памяти, по которому в память будет записано слово, поступившее как следующие 4 байта. После этого транспьютер снова переходит в режим управления памятью, из которого его может вывести лишь прием управляющего байта со значением, большим 1. 134



953.Если управляющий байт равен 1, следующие 4 байта задают адрес слова памяти, которое будет считано и передано как 4 байта по тому же линку, из которого поступили в противоположном направлении предыдущие 4 байта. После этого транспьютер остается в режиме управления памятью. 134



954.Режим управления памятью используется обычно для целей отладки. 134



8.2.11. Управление системой 134

955.Появление уровня 1 на входе Analyze переводит транспьютер, работающий по программе, в режим управления памятью. Как уже было сказано выше, в этом режиме может быть считано и изменено состояние памяти транспьютера. 134



956.Программные ошибки, такие как арифметическое переполнение, деление на 0, выход за границы массива, вызывают установку в транспьютере флага error и появление сигнала на выходе Error. Флаг режима обработки ошибок транспьютера - HaltOnError - позволяет определять поведение транспьютера в случае ошибки (установки флага error): если был задан режим остановки (HaltOnError=l), то в случае возникновения ошибки устанавливается еденица на выходе Error и транспьютер останавливается; если была выполнена установка HaltOnError=0, то в случае ошибки устанавливается в еденицу флаг error, однако транспьютер продолжает работать. 134



957.В мультипроцессорных системах выводы Analyze, Reset, Error, Errorin всех транспьютеров обычно соединены согласно схеме, представленной на рис. 8.4. При такой схеме соединения появление сигнала Error на выводе любого транспьютера переводит всю систему в режим управления памятью. Соответствующие программы в хост-машине позволят определить состояние системы и пути преодоления ошибочной ситуации. 134



958. 134



959.Рис. 8.4. Схема соединения линий системного сервиса в мультитранспьютерной системе 135



8.3. Транспьютер Т9000 135



8.3.1. Архитектурные и структурные особенности 135

963.На момент своего появления транспьютеры семейства Т-8 были самыми быстродействующими 32-разрядными микропроцессорами. Попытка фирмы Inmos сохранить лидерство перед американскими производителями микропроцессоров воплотилась в разработку транспьютера Т9000 [9]. Его основные технические характеристики: 135



964.• производительность - 200 MIPS, 25 MFLOPS; 135



965.• объем внутрикристальной памяти - 16 Кбайт; 135



966.• число коммуникационных каналов - 4; 135



967.• скорость обмена по линку - 100 Мбит/с. 135



968.Основными особенностями архитектуры данного транспьютера являются аппаратная поддержка механизма виртуальных каналов и аппаратный группировщик команд, повышающий загрузку параллельно функционирующих устройств процессора. 135



969.Однако фирма Inmos не смогла выдержать обещанные сроки поставки Т-9000, а также достичь объявленной производительности. Поэтому, хотя образцы Т-9000, работающие на пониженной, по сравнению с объявленной, тактовой частоте были выпущены, коммерческого успеха они не имели. 135



8.3.2. Виртуальные линки 135

970.Механизм виртуальных линков позволяет вести по одному физическому линку обмен между произвольным числом пар процессов, протекающих в разных транспьютерах. 135



971.Управляет обменом встроенный в Т-9000 процессор виртуального канала (VCP). Сообщение, передаваемое от процесса-отправителя к процессу-получателю, VCP делит на пакеты, каждый из которых содержит 32 байта данных (последний пакет - от 1 до 32 байт), заголовок пакета и концевик (для последнего пакета - признак конца сообщения, для остальных - признак конца пакета). При получении пакета, VCP в принимающем транспьютере передает подтверждение в виде пустого пакета содержащего только заголовок и признак конца пакета. VCP, используя информацию, содержащуюся в заголовке пакета, осуществляет маршрутизацию пакетов и сшивку сообщения. Таким образом, обмен данными для процессов выглядит так же, как и в случае транспьютеров прежних поколений, что способствует преемственности программного обеспечения. 135


2014-07-19 18:44
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • Контрольная работа
  • © sanaalar.ru
    Образовательные документы для студентов.