Специализация 1-31 04 03 14 «Интеллектуальные системы»

КУРС ЛЕКЦИЙ

по специальному курсу

«Компьютерные системы»

Учебное пособие для студентов

факультета радиофизики и компьютерных технологий

Электронная версия

для специальности:

Физическая электроника

Специализация 1-31 04 03 14 «Интеллектуальные системы»

Минск

2011

УДК 681.31:621.38

ББК 32.841я43+32.85я43

ISBN 5-06-0004597

  Р15 Шестаков К. М. Курс лекций по специальному курсу «Компьютерные системы»: Электронная версия. Учебное пособие для студентов факультета радиофизики и компьютерных технологий. – Мн.: БГУ, – 162 c. ISBN 985-445-093 Предназначен для студентов факультета радиофизики и компьютерных технологий. В курсе несколько шире, чем на лекциях, показаны сложные структуры компьютерных систем и их компонентов. Архитектура компьютерных систем, магистральные структуры, центральные процессоры, цифровые процессоры сигналов, микроконтроллеры и т. п. отражены в курсе.

УДК 681.31:621.38

ББК 32.841я43+32.85я43

ISBN 5-06-0004597

© БГУ, 2011

Введение

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

Гибкость архитектуры сегодня обеспечивается на уровне унификации интерфейса микроконтроллеров, СБИС специализации, системных интерфейсов, стандартизации электрической части спецификации интерфейса, резервирования адресных областей в протоколах обмена, кодов режимов и т. п.

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

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

Классификация Скилликорна

Классификация Скилликорна (1989) была очередным расширением классификации Флинна. Архитектура любого компьютера в классификации Скилликорна рассматривается в виде комбинации четырёх абстрактных компонентов: процессоров команд (Instruction Processor — интерпретатор команд, может отсутствовать в системе), процессоров данных (Data Processor — преобразователь данных), иерархии памяти (Instruction Memory, Data Memory — память программ и данных), переключателей (связывающих процессоры и память). Переключатели бывают четырёх типов — «1-1» (связывают пару устройств), «n-n» (связывает каждое устройство из одного множества устройств с соответствующим ему устройством из другого множества, то есть фиксирует попарную связь), «n x n» (связь любого устройства одного множества с любым устройством другого множества). Классификация Скилликорна основывается на следующих восьми характеристиках:

1. Количество процессоров команд IP

2. Число ЗУ команд IM

3. Тип переключателя между IP и IM

4. Количество процессоров данных DP

5. Число ЗУ данных DM

6. Тип переключателя между DP и DM

7. Тип переключателя между IP и DP

8. Тип переключателя между DP и DP

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

Классические типы данных

К классическим форматам данных, которые должна поддерживать относятся:

- беззнаковое размером байт,

- беззнаковое размером слово,

- беззнаковое размером двойное слово,

- беззнаковое размером с четверное слово,

- знаковое размером байт,

- знаковое размером слово,

- знаковое размером двойное слово,

- знаковое размером четверное слово,

- плавающее F-формата,

- плавающее D-формата,

- поле битов переменной длины,

- строки символов,

- строки цифр в зонном формате,

- строки цифр в специальном формате,

- строки цифр без знака,

- строки цифр с ведущим отдельным знаком,

- упакованные десятичные строки.

Данные типы и классические операции над ними описаны в широко известных монографиях, справочниках и учебных пособиях, но более четко и строго они представлены в технических руководствах к ЭВМ. В этих описаниях (DtaSheet) идентифицированы действия по нарушению значимости, правила округления и т.п., которые также берутся за основу. Тип данных определяет и архитектуру АЛУ.

Формирование кластера

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

Например, в двухкоординатных полях размерностью Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru строк, Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru столбцов входной массив в Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru поле представляется последовательностью

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru ,

где Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - символ упорядоченной последовательности с интервалом поступления данных Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru ,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - булева переменная в позиционной системе счисления с двоичным основанием,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - размерность представления входного отсчета.

Формирование кластера коррелированных отсчетов осуществляется через пересортировку входного массива, проводимую обычно регистровыми линиями задержки, как например, в цифровом процессоре сигналов IMSA110 фирмы Inmos и т.п.

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

Простейший случай - формирование сегмента в обработке двухмерных массивов.

Входной поток

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

где Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - единичная функция,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - разрядный сигнал, поступающий на входной порт системы,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - время старта,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - интервал времени между строками,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - интервал времени между кадрами,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - целая часть числа Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Формирование кластера для обработки на проходе требует создания кольцевой буферной памяти объемом

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

где Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - размер сегмента по вертикали,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - размер сегмента по горизонтали.

Модификация

В память кадра записывается модифицированный отсчет

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

где Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - новая разрядность отсчета, как правило, число существенно

меньшая, чем исходная,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - область кластера,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - отсчеты в области кластера окружающего точку Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru .

Сжатие

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

Равномерное сжатие можно представить как замену кластера одиночным отсчетом размерностью Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru (число двоичных разрядов).

При этом шаг представления кластеров может быть равен Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - по горизонтали и Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - по вертикали. В этом случае мы имеем одномерное представление кластеров коррелированных отсчетов. Вероятность достоверности принятия решений снижается при движении центра информационного наполнения к границе кластера.

Лучшие результаты получаются при смещении кластера на долю Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

по горизонтали и долю Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - по вертикали. Вводя понятия шага по горизонтали Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru и вертикали Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru получаем многослойное равномерное сжатие. Коэффициент сжатия

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Адаптивное сжатие по информационному наполнению кластера коррелированных отсчетов (например: сумме энергии дифференциала в кластере) порождает неоднородность шага сжатия и может вызвать потерю координатной привязки фрагментов восстановленного сигнала.

Один из путей сохранения координатной системы - введение массива шагов или их переключений. В простейшем случае - добавление информационных тегов к формату отсчета.

Детальное рассмотрение указанной процедуры выходит за рамки данного раздела, укажем лишь то, что к переменным процедуры относятся:

- размеры кластера Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

- шаг смещения кластера Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

- преобразующая таблица (либо ее адрес);

- адрес старта кластера ;

- число шагов по строке Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

- число шагов по столбцу Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru . Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Интегрирование кластеров

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

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

где Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - вектор входных отсчетов размерностью Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru ,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - номер положения отклика на равномерной сетке,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - размерность кластера после интегрирования (вектор Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru содержит несколько кластеров),

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru - матрица преобразования входного вектора сигналов.

Суммирование кластеров преобразует отклики в один кластер

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru ,

имеющий смысл интегрального по полю анализа отклика системы, имеющего улучшенные характеристики по неоднородности.

Энергия несущая информацию в интегральном кластере возрастает по крайней мере в Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru раз.

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

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

Параллельные магистрали

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

Развитие параллельных шинных архитектур шло достаточно интенсивно. Соотношение производительности модулей, подключаемых к шине, создавало и иерархическую конфигурацию структур. На сегодня в архитектуре персональных компьютеров, рабочих станций доминирует построение обмена на базе двух шин;

– параллельной, как правило, 64-х либо 128 разрядной шины обмена данными процессор – контроллер ОЗУ, быстрых интерфейсов (северная магистраль);

- 32-х либо 64-х разрядная (южная магистраль)- PCI, PCIe с поддержкой более медленных интерфейсов. На материнских платах обмен между магистралями поддерживают специализированные микросхемы – чипсеты.

Заслуживает внимания и магистраль видеокарты GPU – ОЗУ. Это наиболее быстродействующая параллельная магистраль компьютера.

Примером параллельной магистрали может служить шина PCI - это высокопроизводительная 32-битная или 64-битная шина с мультиплексированными линиями адреса и данных. Она предназначена для использования в качестве связующего механизма между периферийными контроллерами ввода-вывода, периферийными встраиваемыми платами и системами процессор/память. Данная шина широко распространена в персональных компьютерах, имеет свою нишу и в промышленных компьютерных системах (PXI).

Спецификация локальной шины PCI, реализация 2.0, включает протокол, электрическую, механическую и конфигурационную спецификации. Напряжения питания - 3.3В и 5.0В.

Временные задержки на PCI

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Рис. 4.3. Составляющие задержки

Для быстрых устройств передача транзакции составит T+8 тактов. (T - число в пакете) Шина PCI работает на частоте 33 МГц.

Время задержки при ожидании первых данных составляет 16 тактов (0.5 мкс) для всех устройств, которые не являются шинами расширения.

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

Побайтовый доступ на шине расширения занимает 1.5 мкс, причем время задержки первых данных равно 6 мкс при 32-битном доступе через интерфейс шины расширения.

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Рис.4.4. ВАХ для 3.3-вольтовой среды передачи сигналов

Электрическая спецификация– уровни, времена, последовательности нагрузка:

Максимальный допустимый перекос синхронизации - 2ns.

Все PCI-разъёмы имеют четыре шины питания: +5V,+ 3.3V, + 12V, и -12V. Дорожки сигнала должны также оставаться полностью над плоскостью 3.3В или полностью над 5-вольтовой плоскостью.

Сигналы, которые должны переходить из одной области в другую должны быть разведены на противоположных сторонах платы так, чтобы они находились в плоскости, которая не расчленяется. Если это не возможно и сигналы должны быть направлены над зазором, два слоя должны быть связаны вместе ёмкостью 0.01microF (5-вольтовая плоскость с 3.3-вольтовой) быстродействующими конденсаторами

для каждых четырех сигналов, пересекающих зазор, и конденсатор располагается не далее 0.25 дюйма от точки пересечения сигналов с зазором.

1. Максимальные длины дорожек для всех сигналов 32-разрядного интерфейса ограничены 1.5 дюймами для 64-битовых плат и 32-разрядных плат.

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

3. Длина дорожки для CLK сигнала равна 2.5 дюйма плюс/минус 0.1 дюйма для 64- разрядных плат и 32-разрядных плат и они должны быть направлены только к одной нагрузке. Конечные автоматы используют три типа переменных; состояния, PCI сигналы и внутренние сигналы.

State in a state machine = STATE PCI signal = SIGNAL

Internal signal = Signal

Уравнения конечного автомата принимают логическую операцию, где "*" является функцией AND и имеет старшинство над "+", который является функцией OR. Круглые скобки имеют старшинство над

обоими. Символ "!" используется для отрицания (NOT) переменных. В уравнениях конечного автомата,

PCI SIGNAL's представляют фактическое состояние сигнала на PCI шине. Истинные сигналы низкого уровня будут истинны или установлены, когда они появляются как !SIGNAL# и ложны или сняты, когда

они появляются как SIGNAL#. Истинные сигналы высокого уровня будут истинны или установлены, когда они появляются как SIGNAL и ложны или сняты, когда они появляются как !SIGNAL. Внутренние

сигналы будут истинны,

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Рис.4.5. Граф конечного автомата шины

IDLE или TURN_AR условие неактивности или завершенная транзакция на шине

goto IDLE if FRAME#

goto B_BUSY if !FRAME# * !Hit

goto S_DATA if !FRAME# * Hit * (!Term + Term * Ready) * (FREE + LOCKED * LOCK#)

goto BACKOFF if !FRAME# * Hit * (Term * !Ready + LOCKED * !LOCK#)

B_BUSY - Не включается в текущую транзакцию.

goto B_BUSY if (!FRAME# + !IRDY#) * !Hit

goto IDLE if FRAME#

goto S_DATA if (!FRAME# + !IRDY#) * Hit* (!Term + Term * Ready) * (FREE + LOCKED * L_lock#)

goto BACKOFF if (!FRAME# + !IRDY#) * Hit *(Term * !Ready + LOCKED * L_lock#)

S_DATA - Агент принял запрос и ответит.

goto S_DATA if !FRAME# * !STOP# * !TRDY# * IRDY#+ !FRAME# * STOP# + FRAME# * TRDY# * STOP#

goto BACKOFF if !FRAME# * !STOP# * (TRDY# +!IRDY#)

goto TURN_AR if FRAME# * (!TRDY# + !STOP#)

BACKOFF - Агент занят и неспособен ответить в это время.

goto BACKOFF if !FRAME#

goto TURN_AR if FRAME#

agent объект, который функционирует на шине компьютера.

master агент, который инициализирует транзакцию шины.

NMI немаскируемое прерывание.

phase один или больше временных периодов, в которых передается один блок информации, состоящий из: адреса и данных.

Последовательные линии

В 16-ти разрядных архитектурах компьютеров существовала шина внешних устройств EISA, которая перешла и архитектуру компьютеров на базе процессоров Pentium. Параллельные магистрали обладают высоким быстродействием, но они дороги и требуют большого объема аппаратных затрат. В последовательных шинах данные передаются по одной или двум линиям (+ синхросигнал). Последовательные шины по своей тактовой частоте превосходят параллельные, тем более, что сигналы в них все более аналоговые, двуполярные. Однако необходимость передачи служебной «шапки» (это может быть и сотня бит) не дает выигрыша по быстродействию. Для снижения влияния служебной информации на скорость обмена стремятся к пакетной передачи данных.

На замену шин EISA и в некотором роде PCI пришли шины USB 1.0 и Fire Wire (стандарт IEEE 1394). Ориентация 1394 - первоначально жесткий диск и видео периферийные устройства, которые могут потребовать ширину полосы частот шины сверх 100 Mbs (резерв спецификации до 800 Mbs.). Протокол поддерживает как синхронный, так и асинхронные передачи тем же комплектом четырех сигнальных проводов (две дифференциальных пары сигналов - синхронизации и данных).

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

Шина USB (USB1.1., USB2.0.., USB3.0.) является примером «короткой» линии и пришла, в определенной степени, на смену шине EISA.

Универсальная последовательная шина USB - внешний интерфейс ввода/вывода - это несомненное достижение в архитектуре ПК. Последовательные порты типа RS-232 обеспечивают скорость от 9.6Kbps до 115.2Kbps в зависимости от микросхемой логики асинхронного приемопередатчика UART (Universal Asynchronous Recive/Transmitter). Максимальная пропускная способность USB 1.1. составляет 12Mbps, хотя фактически скорость передачи данных ближе к 8Mbps, включая 1Mbps-подканал для медленных устройств типа мышь и клавиатура. Этого вполне достаточно, чтобы обслужить потребности всех устройств от мыши до видеомагнитофонов, ISDN-адаптеров и сжатого видео MPEG. Использование низкоскоростных устройств позволяет перераспределить полосы частот и выделить больше пропускной способности тем устройствам, которые в этом нуждаются.
Достоинством USB являются как асинхронные, так и изосинхронные порты. Изосинхронные передачи видео и аудио данных имеют приоритет, гарантируя непрерывность потоков данных для приложений реального времени. USB позволяет включать до 127 устройств, связанных в звездообразную технологию: каждое устройство может содержать в себе USB-концентратор, к которому можно подсоединить дополнительные устройства.
Индустриальным стандартом контроллеров USB считается комплект Intel One-Stop-Shopping серий i8X930Ax/i8Х930Hx/i8X931Ax/i8X931Hx монтажа 64pin PQFP (Plastic Quad Flat Package), предназначенные для построения USB-концентраторов, USB-оконечных устройств и для изготовления USB-контроллеров для монитора.
Хотя USB медленнее, имея пропускную способность 12Mbps (1.5MBps), чем SCSI (замена последней последовательная шина ATA 3 – 600 Мбайт/с), она предлагает высокоскоростные и Plug-and-Play возможности для такой периферии, в которой традиционно используются последовательный, параллельный или специальный порт, например, клавиатура, мышь или монитор. USB также подходит для небольших периферийных устройств типа сканеров, в которых ранее применялись специализированные адаптеры или SCSI-контроллеры. Для периферии, не использующей SCSI-контроллеры, USB предлагает оборудование примерно в сто раз более быстрое, чем, например, традиционные последовательные порты с максимальной скоростью передачи 115Kbps. Параллельные порты со скоростью обмена 2Mbps работают примерно в шесть раз медленнее, чем USB. Вдобавок, один USB-порт может обслуживать до 126 периферийных устройств без каких-либо дополнительных компьютерных ресурсов, таких как IRQ. Сегодняшние последовательные или параллельные, порты для клавиатуры или монитора обычно могут обслужить только одно устройство. Более того, мало потребляющий USB-контроллер обеспечивает электропитание всех устройств, подключенных к его шине, уменьшив тем самым количество розеток на стене либо распределительных щитков (однако устройства, потребляющие относительно много энергии, такие как сканеры, нуждаются в дополнительных розетках).
USB также предоставляет так называемый режим hot swapping - возможность подсоединять и переключать внешние устройства без выключения компьютера. Такие устройства, как клавиатура или мышь с двухсторонним обменом, не могут сегодня переключаться в режиме hot swapping. USB-контроллер имеет один стандартный кабель для любых периферийных устройств, что обеспечивает легкость подключения и снижение стоимости систем. Если устройства поддерживают PnP, то необходимые драйверы устройств могут автоматически загружаться и выгружаться.
Топология шины USB представляет собой управляющий блок USB, концентраторы, кабели и функциональные устройства. Существует только один управляющий блок в любой системе USB. Интерфейсом для связи с ПК является управляющий контроллер, который может быть реализован в комбинации с аппаратными или аппаратно-программными средствами. Встроенный в управляющий блок корневой концентратор обеспечивает одну или несколько точек подключения.

Концентраторы - ключевой элемент в архитектуре PnP USB. Они представляют собой устройства, которые обеспечивают многочисленные подключения к USB. Точки подключения именуются портами. Каждый концентратор превращает одну точку подключения в несколько. Данная архитектура поддерживает сочленение нескольких концентраторов.

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Рис.4.6. Пирамида концентраторов шины, вид 1

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Рис.4.6. Пирамида концентраторов шины, вид 2

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

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Рис.4.6. Пирамида концентраторов компьютера

USB передает сигналы и электропитание по 4-х-жильному кабелю, который состоит из сегментов длиною не более 5 метров. Длина кабельного сегмента USB меняется в зависимости от сопротивления проводника, мощности устройства и гибкости кабеля. Сигналы передаются по двум проводам кабеля D+ и D- (DATA+ и DATA-), которые имеют волновое сопротивление Z=90. Провода Vbas (+5VDC) и GND предназначены для электропитания устройств (питание и земля соответственно). Номинальное напряжение для Vbas составляет +5V. Чтобы гарантировать оптимальную величину сигнала на входе и необходимое сопротивление, на каждом конце кабеля применяются оконечные устройства. Оконечные устройства также позволяют фиксировать подсоединение и отсоединение на каждом порту и различать высоко- и низкоскоростные устройства.

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Рис.4.6. Кабель USB

В USB 1 существует 2 режима передачи сигнала. Высокоскоростная передача сигнала составляет 12Mbps. Низкоскоростной режим обеспечивает скорость 1.5Mbps и более сильную защиту от электромагнитных помех. Оба режима могут поддерживаться одновременно, в одной и той же системе USB в режиме переключения между передачами данных. Высокоскоростной режим необходим для работы с быстрыми устройствами IHVs (Independent Hardware Vendors), DVPDs (Digital Video Peripheral Devices), VCRs (Video Cassette Recorders), ISDN-периферией, принтерами, сканерами и т.д. Режим низкой скорости необходим для поддержки ограниченного числа устройств с узкой полосой пропускания, такими, как joystick, mouse, keyboard.
Все транзакции в шине могут включать в себя до 3 пакетов. Каждая транзакция начинается, когда управляющий контроллер посылает маркерный пакет (Token Packet) USB, описывающий тип и направление транзакции, адрес устройства и номер конечной точки. В данной транзакции данные передаются либо от управляющего блока к устройству, либо наоборот. Источник транзакции затем посылает пакет данных, или сигнализирует об отсутствии данных для передачи. Получатель, в общем случае, отвечает пакетом квитирования (HandShake Packet), который подтверждает передачу данных.
Данные в USB передаются по каналам. Существует 2 типа каналов: поток и сообщение. Потоковые данные не имеют определенной USB-структуры, в то время как у сообщений она есть. Кроме того, каналы связаны с полосой пропускания данных, типом передачи данных и характеристиками конечной точки, такими, как направленность и размер буфера. Каналы начинают свое существование, когда конфигурируется USB-структура. Только канал управления 0 существует всегда, как только устройство включено, для того, чтобы установить доступ к конфигурации устройства, статусу и управляющей информации.
Использование транзакций позволяет управлять потоками в каналах. На аппаратном уровне это предохраняет буферы от ситуации неполного завершения или перезагрузки с помощью NACK-квитирования, которое управляет скоростью данных. Механизм управления потоками позволяет создавать гибкие расписания, которые адаптируют параллельную обработку к смеси потоков данных разных типов. Так, многочисленные каналы с разнотипными данными обслуживаются за разные интервалы времени и с пакетами разных размеров. Сама же архитектура USB поддерживает 4 основные типа передачи данных:

Передачи управления. Они используются программным обеспечением USB для конфигурирования устройств, когда они впервые подсоединены. Отдельный драйвер может выбрать специфическое управление для обеспечения передачи данных без потерь.
Групповая пересылка. Обычно состоит из больших объемов данных, которые используются принтерами, сканерами или цифровыми камерами. Групповые данные - это последовательные данные, надежный обмен которых обеспечивается на уровне аппаратуры путем обнаружения ошибок в технических средствах и дополнительно активизирует перезагрузку ПК. Полоса пропускания, которую занимают групповые данные, должна быть доступна в любой момент времени и не занимается другими типами данных.
Передача прерываний. Небольшая порция данных, переданных в произвольный момент времени от периферийного устройства, называется прерыванием. Такие данные могут быть посланы устройством в любое время и передаются USB со скоростью, не меньшей, чем определено устройством. Прерывания обычно состоят из уведомления о событии, символов и адреса, которые организованы как 1 байт или более. Прерывания используются для поддержки низкоскоростных устройств протокола USB 1.5Mbps.
Изохронные передачи. Изохронные данные (непрерывные данные) создаются, передаются и используются в реальном времени. Согласованная по времени информация подразумевает устойчивую скорость, при которой изохронные данные принимаются и передаются. Изохронные данные должны доставляться с необходимой скоростью, чтобы сохранить согласование по времени, так как изохронные данные могут быть чувствительны к задержкам доставки. Изосинхронная порция представляет собой непрерывный поток и используется для передачи звука или видео. К передаче изосинхронных данных предъявляются очень высокие требования.

Типичный пример изохронных данных - аудио- или видеосигналы. Если скорость передачи этих потоков данных не сохраняется, то происходит нарушение синхронизации и получается искаженное восприятие. Даже если данные переданы с соответствующей скоростью, задержки в работе буферов могут вызвать искажения в протоколах типа Т.120 (аудиоконференции).
Потоки изохронных данных USB сосредоточены в определенной части полосы пропускания, чтобы обеспечить доставку данных с необходимой скоростью. USB сконструирована таким образом, чтобы максимально уменьшить задержку передачи изохронных данных.
USB выделяет полосу пропускания каналам в том случае, когда соединение произошло. Полоса пропускания распределяется среди каналов в соответствии со спецификой работы. Устройствам USB требуется буфер, и предполагается, что чем большую полосу пропускания занимает устройство, тем большего размера ему требуется буфер. Целью архитектуры USB является обеспечение времени обращения к буферу в пределах нескольких миллисекунд.
Полоса пропускания может распределяться по потокам данных, в результате чего достаточно широкий диапазон устройств может подключиться к шине USB. Распределение полосы пропускания в USB - блокирующее, то есть если размещение дополнительного канала ограничивает работу уже существующей полосы пропускания, дальнейшее назначение каналов будет отменено или блокировано. Когда канал закрыт, выделенная для него полоса пропускания освобождается и может быть переназначена на другой канал.
Процесс USB превращает физическую топологию в индивидуальные отношения между ПО клиента (находящимся в функциональном блоке) и функциональными устройствами. Этот процесс включает в себя операции согласования и конфигурации, и находится под контролем ПО управляющего блока USB, спрятанного в верхнем слое (ПО клиента). ПО клиента запрашивает службы USB о передаче данных в систему программного обеспечения (ПО USB).
Настройка вновь подсоединенных устройств не требует участия пользователя. В тоже время, поддержка USB изохронных передач превращает ПК в мощное средство коммуникации.
Для периферийных устройств серийно выпускается USB-контроллер 82930A, выполненный на базе микроконтроллера архитектуры MCS-251, который поддерживает как скоростные каналы со скоростью передачи 12Mbps, так и каналы со скоростью 1.5Mbps, синхронную, изосинхронную передачу данных и режимы управления мощностью, необходимые для устройств USB. Эти контроллеры разработаны для периферийных устройств, подключаемых к компьютеру.

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Рис.4.7. Соединение модулей с I2C

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

Одина из них - промышленная шина I2C. Длина ее может быть близка к километру. Частота могут достигать 5 МГц.Подключение модулей без учета обязательных резисторов подброса показана на рис. 4.7.

Архитектура потоков команд

Архитектура последовательной машины базируется на выборке команд по указателю команд. Это определяет точку обработки в потоке команд.

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

Как правило, каждое устройство микроконтроллера представляет собой сложный блок. Однако оно отображается регистровой моделью. Через установку разрядов запускаются макросы внутренних микропрограммных автоматов. Примером может служить модель контроллера прерываний (Interrupt Controller).

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Рис. 5.1. Регистры контроллера прерываний

Примечание: 1. Младшие 16 битов адреса. 2. Только очистка флагов.

Разряды регистров обычно содержат указания на режимы работы, команды или данные, например, разряды системного управляющего регистра контроллера прерываний (SYSCR) задают режимы работы блока (рис. 5.3).

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Рис. 5.2. Вектора системных прерываний

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

Специализация 1-31 04 03 14 «Интеллектуальные системы» - student2.ru

Рис. 5.3. Назначение разрядов регистра SYSCR контроллера прерываний

Обращение к памяти.

Реальный режим (real mode). Классический режим адресации, использованный в первых моделях семейства. Использует сегментированную модель памяти, организованную следующим образом: адресное пространство в 1MB разбивается на 16-байтовые блоки, называемые параграфами. Сегменты п

Наши рекомендации