Выбрать книгу по жанру
Фантастика и фэнтези
- Боевая фантастика
- Героическая фантастика
- Городское фэнтези
- Готический роман
- Детективная фантастика
- Ироническая фантастика
- Ироническое фэнтези
- Историческое фэнтези
- Киберпанк
- Космическая фантастика
- Космоопера
- ЛитРПГ
- Мистика
- Научная фантастика
- Ненаучная фантастика
- Попаданцы
- Постапокалипсис
- Сказочная фантастика
- Социально-философская фантастика
- Стимпанк
- Технофэнтези
- Ужасы и мистика
- Фантастика: прочее
- Фэнтези
- Эпическая фантастика
- Юмористическая фантастика
- Юмористическое фэнтези
- Альтернативная история
Детективы и триллеры
- Боевики
- Дамский детективный роман
- Иронические детективы
- Исторические детективы
- Классические детективы
- Криминальные детективы
- Крутой детектив
- Маньяки
- Медицинский триллер
- Политические детективы
- Полицейские детективы
- Прочие Детективы
- Триллеры
- Шпионские детективы
Проза
- Афоризмы
- Военная проза
- Историческая проза
- Классическая проза
- Контркультура
- Магический реализм
- Новелла
- Повесть
- Проза прочее
- Рассказ
- Роман
- Русская классическая проза
- Семейный роман/Семейная сага
- Сентиментальная проза
- Советская классическая проза
- Современная проза
- Эпистолярная проза
- Эссе, очерк, этюд, набросок
- Феерия
Любовные романы
- Исторические любовные романы
- Короткие любовные романы
- Любовно-фантастические романы
- Остросюжетные любовные романы
- Порно
- Прочие любовные романы
- Слеш
- Современные любовные романы
- Эротика
- Фемслеш
Приключения
- Вестерны
- Исторические приключения
- Морские приключения
- Приключения про индейцев
- Природа и животные
- Прочие приключения
- Путешествия и география
Детские
- Детская образовательная литература
- Детская проза
- Детская фантастика
- Детские остросюжетные
- Детские приключения
- Детские стихи
- Детский фольклор
- Книга-игра
- Прочая детская литература
- Сказки
Поэзия и драматургия
- Басни
- Верлибры
- Визуальная поэзия
- В стихах
- Драматургия
- Лирика
- Палиндромы
- Песенная поэзия
- Поэзия
- Экспериментальная поэзия
- Эпическая поэзия
Старинная литература
- Античная литература
- Древневосточная литература
- Древнерусская литература
- Европейская старинная литература
- Мифы. Легенды. Эпос
- Прочая старинная литература
Научно-образовательная
- Альтернативная медицина
- Астрономия и космос
- Биология
- Биофизика
- Биохимия
- Ботаника
- Ветеринария
- Военная история
- Геология и география
- Государство и право
- Детская психология
- Зоология
- Иностранные языки
- История
- Культурология
- Литературоведение
- Математика
- Медицина
- Обществознание
- Органическая химия
- Педагогика
- Политика
- Прочая научная литература
- Психология
- Психотерапия и консультирование
- Религиоведение
- Рефераты
- Секс и семейная психология
- Технические науки
- Учебники
- Физика
- Физическая химия
- Философия
- Химия
- Шпаргалки
- Экология
- Юриспруденция
- Языкознание
- Аналитическая химия
Компьютеры и интернет
- Базы данных
- Интернет
- Компьютерное «железо»
- ОС и сети
- Программирование
- Программное обеспечение
- Прочая компьютерная литература
Справочная литература
Документальная литература
- Биографии и мемуары
- Военная документалистика
- Искусство и Дизайн
- Критика
- Научпоп
- Прочая документальная литература
- Публицистика
Религия и духовность
- Астрология
- Индуизм
- Православие
- Протестантизм
- Прочая религиозная литература
- Религия
- Самосовершенствование
- Христианство
- Эзотерика
- Язычество
- Хиромантия
Юмор
Дом и семья
- Домашние животные
- Здоровье и красота
- Кулинария
- Прочее домоводство
- Развлечения
- Сад и огород
- Сделай сам
- Спорт
- Хобби и ремесла
- Эротика и секс
Деловая литература
- Банковское дело
- Внешнеэкономическая деятельность
- Деловая литература
- Делопроизводство
- Корпоративная культура
- Личные финансы
- Малый бизнес
- Маркетинг, PR, реклама
- О бизнесе популярно
- Поиск работы, карьера
- Торговля
- Управление, подбор персонала
- Ценные бумаги, инвестиции
- Экономика
Жанр не определен
Техника
Прочее
Драматургия
Фольклор
Военное дело
Искусство схемотехники. Том 3 (Изд.4-е) - Хоровиц Пауль - Страница 8
Для образования пары стробирующих сигналов (RD', WR') мы использовали несколько вентилей. Эти сигналы будут полезны для некоторых "Intel-совместимых" периферийных устройств, для которых требуются отдельные строб-сигналы.
DTACK', BERR' и медленные периферийные устройства. Наконец, мы использовали сдвиговый регистр с параллельным выводом (`164) в качестве машины состояния для генерации последовательности нескольких требуемых сигналов. Сдвиговый регистр удерживается в исходном состоянии до установки ЦП сигнала AS', который указывает на начало цикла шины (см. рис. 11.4). После этого единицы начинают продвигаться вниз по регистру, на один шаг на каждый нарастающий фронт тактовой серии. Выход Q0 позволяет генерировать задержанный сигнал RD' (DELRD'), который используется обоими неповоротливыми устройствами (SCC и СIO), как это будет объяснено позже. Некоторые устройства ввода-вывода работают медленно и требуют состояний ожидания; выход Q2 сдвигового регистра позволяет сформировать задержанный сигнал DTACK и реализовать два состояния ожидания для всех портов ввода-вывода (при нашей раскладке адресов весь ввода-вывод отображается на память выше адреса $80000, т. е. при установленном сигнале А19), и отсутствие состояний ожидания для памяти (сигнал А19 не установлен). Если, однако, 1 дойдет до конца сдвигового регистра, возникнут неприятности, поскольку любые циклы магистрали завершаются (со сбросом сигнала AS) задолго до этого. Поэтому последний выход (Q7) использован для установки сигнала BERR, который приводит к векторизованному переходу (через ячейку 08), что предотвращает зависание ЦП. Такой сигнал «тайм-аута» магистрали особенно важен в ЭВМ общего назначения, где в противном случае обращение ЦП к несуществующему периферийному устройству приведет к аварии машины.
Память. Получив сигнал начальной загрузки (установка RESET и HALT), МП 68008 обращается к началу памяти с целью извлечения двух важных адресов: 32-разрядного стартового адреса, хранящегося в байтах памяти $04-$07, и начального значения указателя стека, располагающегося в байтах $00-$03. Прочитав эти адреса, МП инициализирует указатель стека, после чего осуществляет переход по стартовому адресу.
Поскольку эти ячейки в начале памяти считываются ЦП еще до загрузки какой-либо программы, эта область памяти должна быть энергонезависимой, т. е. ее содержимое должно сохраняться при полном отключении питания. Естественно использовать здесь РПЗУ (репрограммируемое постоянное запоминающее устройство, см. разд. 11.12), недорогое ПЗУ с байтовой организацией, стираемое ультрафиолетовым облучением. Эти ПЗУ легко распознать по небольшому стеклянному (собственно, кварцевому) окошку, расположенному «на спине» каждой микросхемы. Стирание РПЗУ требует полчаса, а запись-около минуты. Такие ПЗУ могут иметь емкость до мегабита, и данные сохраняются в них дольше, чем будет жить конструируемый вами прибор. Единственный недостаток размещения ПЗУ в начале памяти заключается в том, что там же располагаются разнообразные векторы (прерываний, ошибок шины и других «исключений»), содержимое которых хотелось бы изменять программно.
Решение проблемы может заключаться в использовании варианта РПЗУ, называемого ЭРПЗУ (электрически стираемое репрограммируемое постоянное запоминающее устройство). Можно также организовать двухступенчатый процесс: в ПЗУ постоянно хранятся векторы, указывающие на таблицу переходов в обычной памяти (ОЗУ, см. ниже). Есть, однако, более изящный способ. Вы конструируете схему таким образом, что при загрузке в начале памяти оказывается ПЗУ, но позже оно заменяется (под управлением программы) на обычную память с возможностью записи в нее, т. е. ОЗУ. Посмотрим снова на рис. 11.10. Мы использовали РПЗУ 27256, микросхему с организацией 32Кx8, имеющую, по нынешним стандартам, умеренную емкость. У нее есть 15 адресных входов, 8 трехстабильных выходов данных, вход выбора микросхемы (CS') и вход разрешения выхода (OE'). Каждый адресуемый байт (записанный в микросхему заранее в помощью программатора и более неизменяемый) поступает на линии данных только если установлены оба входа разрешения. Обычно вход CS' устанавливается как можно раньше сигналом с дешифратора адреса, а вход ОЕ стробируется сигналом чтения. В нашем случае память (ПЗУ или ОЗУ) активизируется только если сброшен сигнал А19; другими словами, память располагается в младшей половине адресного пространства. Кроме того, чтение ПЗУ разрешается только если а) установлен сигнал А18 или б) установлен бит BOOT (устанавливается при включении, сбрасывается программой). ОЗУ также располагается в нижней половине адресного пространства, но активизируется только если чтение ПЗУ запрещено. Таким образом, когда выполняется начальная загрузка, триггер BOOT установлен, и в адресном пространстве $0000-$7FFF временно располагается ПЗУ; ОЗУ как бы не существует. Обращение к ПЗУ осуществляется также и в области его «постоянного проживания», по адресам $40000-$47FFF.
Первые 8 байт ПЗУ остроумно запрограммированы так, что осуществляется переход на продолжение программы начальной загрузки, но уже в старшем адресном пространстве, где (среди прочего) очищается порт ЭЛД (адрес $86000). Запись в порт ЭЛД имеет побочный эффект сброса триггера BOOT, в результате чего временный образ ПЗУ в начале адресного пространства замещается образом ОЗУ. Для пояснения сказанного, ниже приведено содержимое первых 24 байт ПЗУ, реализующих описанную процедуру:
Заметьте, что две последние команды выполняются по адресам $40008 и $40010 соответственно благодаря стартовому адресу, извлеченному из ячейки $0004. Подключение микросхемы ОЗУ 8Кx8 осуществляется очень просто. ОЗУ воспринимает младшие 13 бит адреса (8К) и активизируется, когда сигнал А19 снят и ПЗУ отключено. Стробирующие сигналы RD' и WR' подключены ко входам разрешения выхода (OE') и разрешения записи (WE') соответственно. Будем пока считать, что схема декодирования, обозначенная на рис. 11.10 пунктиром, отсутствует. Тогда ОЗУ располагается в самом низу адресного пространства, за исключением момента начальной загрузки, когда оно замещается временным образом ПЗУ.
Однако наша схема декодирования адресов работает странным образом. Взглянем внимательно на ОЗУ. Мы игнорировали биты адреса А13-П17! В результате байт памяти с адресом, например $0000, имеет много двойников — его можно найти по адресам $2000, $4000 и вообще по любому адресу, имеющему нули в разрядах А0-А12 и А18-А19. Байт имеет множественное представление в адресном пространстве. Чтобы устранить эту неоднозначность, можно было более узко квалифицировать сигнал CS', разрешающий работу ПЗУ, обусловив нулевое состояние бит А13-А17, но в этом нет особого смысла. Хотя наличие «призраков» памяти по всему адресному пространству может показаться свидетельством небрежности, но вреда в этом нет, и к тому же экономятся вентили. То же происходит с ПЗУ (а также и с вводом-выводом). На рис. 11.11 показана карта памяти[1] нашего прибора, где описанные повторения обозначены явным образом.
Рис. 11.11. Карта памяти.
Разумеется, если вы захотите установить в системе дополнительную память, вам придется привлечь дополнительные адресные линии. На рис. 11.10 показано, как это можно сделать — просто подключите дешифратор 1 из 4 (`139) к двум следующим адресным линиям, активизируя его нашим сигналом разрешения ПЗУ, и без всяких хлопот вы можете добавить три блока ОЗУ. Дальнейшее расширение памяти осуществляется аналогично.
- Предыдущая
- 8/126
- Следующая