Архитектура контроллера 82380
Рассмотрим основные, вопросы сопряжения контроллера 82380 с микропроцессором 80386 через локальную шину. Далее будет описан ряд функций, реализованных в кристалле 82380, для выполнения которых в обычных условиях требуется 20 – 30 соответствующих БИС и СБИС. Для обеспечения совместимости с существующими программными продуктами в структуре контроллера 82380 имеются побайтно доступные регистры. Если внутренним логическим схемам контроллера 82380 требуется некоторая задержка до того момента, как кристалл станет доступен микропроцессору 80386, то контроллер автоматически вставит в цикл обращения необходимые такты ожидания; при этом программисту не нужно беспокоиться об этих временных аппаратных особенностях. В структуре контроллера ПДП нашли отражение как программные, так и аппаратные решения вопросов по сбросу микропроцессора 80386, а также по управлению микропроцессором, находящимся в состоянии останова.
Контроллер 82380 может работать как в режиме ведущего устройства, так и в подчиненном режиме. Поскольку после системного сброса контроллер ПДП переходит в подчиненный режим, то для системы он представляется как устройство ввода-вывода. В подчиненном режиме контроллер 82380 отслеживает состояние микропроцессора 80386 и отрабатывает каждую команду в установленном порядке. Выполняя функцию управления ПДП, контроллер следит за состоянием потока адресов для устройства, к которому происходит обращение, и добавляет необходимое число тактов ожидания в цикл обращения. При выполнении операций передачи с ПДП контроллер работает в привилегированном режиме как ведущее устройство на шине.
9.1.1.1.
Интерфейс с главным процессором.
Контроллер 82380 подключен непосредственно к локальной шине микропроцессора 80386, поэтому назначение его управляющих сигналов такое же, как у 80386. Контроллер 82380 отслеживает текущее состояние микропроцессора 80386 как по его сигналам состояния, так и по сигналам на своих выводах ADS* и READY*. На основании этой информации контроллер определяет, выполняются конвейерные или неконвейерные действия в текущем цикле шины.
Рис. 9.1. Архитектура контроллера 82380
Контроллер 82380 может управлять доступом к 8-разрядным периферийным устройствам с целью обеспечения совместимости с существующими архитектурами систем и программными продуктами. При этом данные размещаются на линиях шины D0 — D7 или D8 — D15. В подчиненном режиме контроллер только принимает данные по указанным линиям. Благодаря возможности контроллера 82380 обращаться к байтам программист может иметь доступ к регистрам контроллера, пользуясь при этом холостыми командами NOP для организации ожидания срабатывания менее быстродействующих внутренних регистров 82380. В подчиненном режиме 82380 контролирует линии состояния и управления центрального процессора, отрабатывая логику шины микропроцессора 80386 и добавляя требуемое число тактов ожидания.
В режиме ведущего работа контроллера 82380 полностью согласуется с работой микропроцессора 80386. Например, данные передаются и принимаются контроллером точно так же, как микропроцессором 80386. Для остальной части системы и любого подключенного периферийного устройства контроллер 82380 выглядит как микропроцессор 80386. Это значит, что при разработке систем на базе данного контроллера нет необходимости видоизменять интерфейс с уже существующими периферийными устройствами. Механизм обращения контроллера 82380 к любому периферийному устройству на шине остается таким же, как у микропроцессора 80386; дополнительно контроллер выявляет конвейерные циклы шины.
Адреса всех регистров данных, управления и состояния контроллера 82380 фиксированы относительно друг друга. Эти регистры могут быть отображены на соответствующие ячейки либо оперативной памяти, либо пространства ввода-вывода.