Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СР 02.02.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Шина pci (Peripheral Component Interconnect bus)

Итак, переходим к самому интересному. Что же находится на сегодняшний день внутри большинства наших компьютеров? Естественно, шина PCI. Другой вопрос, почему именно эта шина. Попробуем разобраться.

Итак, разработка шины PCI началась весной 1991 года как внутренний проект корпорации Intel (Release 0.1). Специалисты компании поставили перед собой цель разработать недорогое решение, которое бы позволило полностью реализовать возможности нового поколения процессоров 486/Pentium/P6 (вот уже половина ответа). Особенно подчеркивалось, что разработка проводилась "с нуля", а не была попыткой установки новых "заплат" на существующие решения. В результате шина PCI появилась в июне 1992 года (R1.0). Разработчики Intel отказались от использования шины процессора и ввели еще одну "антресольную" (mezzanine) шину.

Благодаря такому решению шина получилась, во-первых, процессоро-независимой (в отличие от VLbus), а во-вторых, могла работать параллельно с шиной процессора, не обращаясь к ней за запросами. Например, процессор работает себе с кэшем или системной памятью, а в это время по сети на винчестер пишется информация. Просто здорово! На самом деле идиллии, конечно, не получается, но загрузка шины процессора снижается здорово. Кроме того, стандарт шины был объявлен открытым и передан PCI Special Interest Group, которая продолжила работу по совершенствованию шины (в настоящее время доступен R2.1), и в этом, пожалуй, вторая половина ответа на вопрос "почему PCI?"

Шина agp (Accelerated Graphic Port)

Все хорошее когда-нибудь кончается. Обидно — но истинно. Сколько писали про то, что шина PCI наконец-то устранила "узкое место" РС — обмен с видеокартами — но не тут-то было! Прогресс, как известно, не стоит на месте. Появление разных там 3D ускорителей привело к тому, что ребром встал вопрос: что делать? Либо увеличивать количество дорогой памяти непосредственно на видеокарте, либо хранить часть информации в дешевой системной памяти, но при этом каким-нибудь образом организовать к ней быстрый доступ.

Как это практически всегда бывает в компьютерной индустрии, вопрос решен не был. Казалось бы, вот вам простейшее решение: переходите на 66-мегагерцовую 64-разрядную шину PCI с огромной пропускной способностью, так нет же. Intel на базе того же стандарта PCI R2.1 разрабатывает новую шину — AGP (R1.0, затем 2.0), которая отличается от своего "родителя" в следующем:

  1. шина способна передавать два блока данных за один 66 MHz цикл (AGP 2x);

  2. устранена мультиплексированность линий адреса и данных (напомню, что в PCI для удешевления конструкции адрес и данные передавались по одним и тем же линиям);

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

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

Парадокс в том, что видеокарты все-таки предпочитают иметь БОЛЬШЕ памяти, и ПОЧТИ НИКТО не хранит текстуры в системной памяти, поскольку текстур такого объема пока (подчеркиваю — пока) практически нет. При этом в силу удешевления памяти вообще, карты особенно и не дорожают. Однако практически все считают, что будущее - за AGP, а бурное развитие мультимедиа-приложений (в особенности — игр) может скоро привести к тому, что текстуры перестанут влезать и в системную память. Поэтому имеет смысл, особо не вдаваясь в технические подробности, рассказать, как же это все работает.

Итак, начнем с начала, то есть с AGP 1.0. Шина имеет два основных режима работы: Execute и DMA. В режиме DMA основной памятью является память карты. Текстуры хранятся в системной памяти, но перед использованием (тот самый execute) копируются в локальную память карты. Таким образом, AGP действует в качестве "тыловой структуры", обеспечивающей своевременную "доставку патронов" (текстур) на передний край (в локальную память). Обмен ведется большими последовательными пакетами.

В режиме Execute локальная и системная память для видеокарты логически равноправны. Текстуры не копируются в локальную память, а выбираются непосредственно из системной. Таким образом, приходится выбирать из памяти относительно малые случайно расположенные куски. Поскольку системная память выделяется динамически, блоками по 4К, в этом режиме для обеспечения приемлемого быстродействия необходимо предусмотреть механизм, отображающий последовательные адреса на реальные адреса 4-х килобайтных блоков в системной памяти. Эта нелегкая задача выполняется с использованием специальной таблицы (Graphic Address Re-mapping Table или GART), расположенной в памяти.

PCI Express — только факты

  • Последовательная системная шина общего назначения;

  • Имя — PCI Express, на стадии проектирования была также известна как 3GIO (Ввод-вывод третьего поколения) или по кодовому имени рабочей группы и проекта «Arapahoe», причем оба названия (3GIO и PCI Express) являются зарегистрированными торговыми марками PCISIG;

  • Дата рождения — 22 июля 2002 года — опубликована базовая спецификация протокола и сигнального уровня, а также базовая спецификация на форм-фактор и энергопотребление карт и разъемы;

  • Фактически — совокупность независимых самостоятельных последовательных каналов передачи данных;

  • Сигнальный уровень 0.8 вольт. Каждый канал состоит из двух дифференциальных сигнальных пар (необходимо только 4 контакта): 

  • Используется избыточное защищенное от помех кодирование — каждый байт при передаче представляется десятью битами;

  • Пропускная способность 2.5 Гигабита (250 МБ) в секунду для одного канала в каждом направлении одновременно (полный дуплекс), однако, следует учесть, что эффективная скорость передачи данных за вычетом избыточного кодирования составляет 2 Гигабита (200 МБ) ровно;

  • Стандартизированы 1, 2, 4, 8, 16 и 32 канальные варианты (до 6.4 эффективных Гигабайт в секунду соответственно, при передаче в одну сторону и вдвое больше при передаче в обоих направлениях). При передаче данных они передаются параллельно (но не синхронно) по всем доступным каналам: 

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

  • Стандарт предусматривает и альтернативные носители сигнала, такие как оптические волноводы;

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

  • Возможность распознавания и использования альтернативных (улучшенных) протоколов обмена.

Самостоятельная работа № 32

Режим прерывания

Режим прерывания приостанавливает программу, сохраняя значения переменных и свойств. Когда программа находится в режиме прерывания можно:

  • изменять код программы;

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

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

  • просматривать и изменять значения переменных, свойств и выражений;

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

  • выполнять отдельные операторы Visual Basic;

  • вручную управлять работой программы.

    Переход в режим прерывания может быть осуществлен следующими способами: