Процессор 68000


Предыдущая | Следующая

Процессор 68000
В мире фирмы Apple стандарт установило 16-битовое процессорное семейство 68000 фирмы Motorola. Фирма Apple применила процессор 68000 в первом компьютере Macintosh, а фирма Commodore — в компьютере Amiga.
Корпус DIP процессора 68000 (рис. 15.27) имеет 64 контакта вместо 40 контактов процессоров 8088/8086. Увеличение числа контактов связано с увеличением числа линий адреса. Внутри процессора 68000 регистры адреса используют для адресации 24 бита, что позволяет прямо адресовать 16 Мбайт. Напомним, что в процессоре 8088 есть всего 20 бит адреса, позволяющих адресовать 1 Мбайт. Четыре дополнительных бита адреса в процессоре 68000 увеличивают адресное пространство в 16 раз. Адресация проводится без всякой сегментации, а в процессоре 8088 для получения адреса памяти приходится манипулировать сегментными регистрами.

Фактически в процессоре 68000 размер регистров адреса составляет 32 бита, а используются только биты А23—АО. Остальные биты адреса А31—А24 задействованы в новых процессорах семейства, например в процессоре 68020. Для 32 бит адреса требуется корпус с большим числом контактов. Отметим, что при адресе в 32 бита процессор может адресовать память 4 Гбайт.
Рассмотрим назначение контактов корпуса процессора 68000. Питание Vcc подается на контакты 14 и 49, а земля — на контакты 16 и 53. Контакты данных D15 —D0 размещаются по часовой стрелке, начиная с контакта 5 до контакта 1, переходят сверху через корпус и продолжаются на контактах 64 — 54. Контакты адреса расположены против часовой стрелки, занимая номера 29 — 48 и 50 — 52. Отметим, что контакты адреса обозначены А1 — А23, а линия АО отсутствует (о использовании бита АО речь идет дальше, в этой главе).
В микросхеме 16 контактов данных соединены с восемью 32-битовыми регистрами данных (рис. 15.28), которые допускают несколько способов обращения. Благодаря длине регистров 32 бита процессор 68000 может легко оперировать 8-битовыми байтами, 16-битовыми словами и 32-битовыми длинными словами. Регистры данных обозначаются D7 —D0.
В процессоре 68000 есть семь регистров адреса, которые имеют длину 32 бита и действуют как регистры общего назначения, хотя и не столь универсальны, как регистры данных. Они оперируют только 16-битовыми словами и 32-битовыми длинными словами и не работают с байтами. Регистры адреса обозначаются как АО — А6.
Регистр А7 служит указателем стека. В процессоре есть два указателя стека, но они разделяют один и тот же адрес, так как никогда не работают одновременно. Процессор 68000 может работать в режиме пользователя и в режиме супервизора, поэтому для стека в нем имеется два указателя.

Программный счетчик также имеет 32 бита, но его старшие 8 бит не подключены к внешним контактам. Они предназначены для будущих процессоров. С 24-битовым адресом процессор 68000 может адресовать 16 Мбайт.
Ранее говорилось, что на внешнюю шину адреса выведены только биты А1 — А23, а бит АО не выведен. Следовательно, адрес должен выбирать передачу из 16-битовой ячейки памяти байта или слова. На рис. 15.29 показана организация памяти 16-битовыми словами. Каждая ячейка имеет старший байт и младший байт, причем все старшие байты имеют четные номера, а все младшие байты — нечетные.

К 16-битовой ячейке можно обратиться тремя способами: считать старший байт, т.е. биты 15 — 8, считать младший байт, т.е. биты 7 —0, и считать все слово, т.е. биты 15 — 0.
Вместо отсутствующего контакта АО имеются сигналы строба старших данных *UDS (Upper Data Strobe) и строба младших данных *LDS (Lower Data Strobe). С помощью этих сигналов, формируемых внутри процессора с участием бита адреса АО, можно осуществить три формы передач между процессором и памятью. Когда процессор 68000 обращается к байтам и в 16-битовой ячейке имеются два байта, процессор адресует 16 М отдельных ячеек. Если процессор 68000 адресует слова и в 16-битовой ячейке есть только одно слово, процессор адресует 8М слов. Безусловно, в обеих ситуациях число битов в памяти одно и то же.
Фактическая адресация реализуется с помощью сигналов *UDS и *LDS. При L-уровне сигнала *UDS передаются биты, находящиеся на линиях шины D15 —D8. При L-уровне сигнала *LDS младшие биты передаются по линиям D7 —D0. Когда оба сигнала имеют L-уровень, по шине данных передается 16-битовое слово.
На контакт 9 выведен знакомый сигнал R/*W. Н-уровень этого сигнала действует в операции считывания, а L-уровень — в операции записи. Адресованное устройство реагирует в соответствии с этим сигналом.
На контакт 10 выведен входной сигнал подтверждения данных *DTACK, который работает совместно с сигналом R/*W. Когда на шине имеются данные для передачи, на вход *DTACK процессора посылается L-уровень и процессор реагирует на него. При считывании он воспринимает данные и отключается от шины, а при записи внешнее устройство по входу *DTACK сообщает о приеме данных и процессор отключается от шины.

Процессор 68000 всегда ожидает сигнал *DTACK до окончания операций. Благодаря этому согласуется быстродействие процессора и внешних устройств, т.е. он работает быстрее с быстродействующими устройствами и медленнее с медленными устройствами.
Комбинация сигналов *UDSr *LDS, R/*W и *DTACK образует так называемое асинхронное управление относительно генератора синхронизации. Передачи данных осуществляются независимо. Число тактов на операцию определяется быстродействием внешнего устройства. Имеется также синхронное управление.
Асинхронное управление обычно применяется для интерфейса с микросхемами, не входящими в семейство 68000, так как микросхемы семейства работают синхронно с процессором. Процессор 68000 рассчитан на работу с теми же микросхемами, что и процессор 6800. Соединения синхронного управления напоминают линии управления процессора 6800.
Имеются также линии управления Е (разрешение) и *VMA (достоверный адрес памяти), а на контакт 21 выведен третий сигнал синхронизации *VPA. На контакт 20 разрешения Е выведен сигнал фаза 2 синхронизации для внешних микросхем. Частота сигнала Е в 10 раз меньше частоты синхронизации на входе CLK.
Сигнал *VPA от внешних микросхем сообщает процессору о том, что адресуется синхронная микросхема. Напомним, что сигнал *DTACK извещает процессор о том, что данные передает асинхронная микросхема. Когда процессор воспринимает низкий уровень сигнала *VPA, он реагирует сигналом *VMA.
На контакт 6 выведен сигнал *AS строба адреса, сообщающий всем микросхемам о наличии на шине адреса достоверного адреса. Сигналы кода функции FC2, FC1 и FC0 на контактах 26, 27 и 28 сообщают о состоянии процессора (всего имеется восемь комбинаций этих сигналов).
На контакты 23, 24 и 25 подаются сигналы *IPL2, *IPL1 и *IPL0, относящиеся к прерываниям. С помощью сигналов *BG, *BGACK и *BR (контакты 11, 12 и 13) другие процессоры могут получить управление шиной. Имеются также сигналы управления *BERR, *HALT, *RESET и др. Сигналы *RESET и *HALT применяются для сброса процессора или его останова.
Касаясь контактов логическим пробником, можно получить представление о работе процессора. Обычно контакты со звездочками имеют Н-уровень, а контакты без звездочек — L-уровень. Все линии шины данных должны показывать активность. Конечно, для работы требуется правильное подключение контактов Vcc и земли.

 

 Поиск и устранение неисправностей в персональных компьютерах