Трубка (BBC Micro)
В микрокомпьютерной системе BBC Tube представляет собой интерфейс расширения и архитектуру, которая позволяет BBC Micro взаимодействовать со вторым процессором или сопроцессором .
В архитектуре Tube сопроцессор запускает прикладное программное обеспечение для пользователя, в то время как Micro (действуя в качестве хоста ) обеспечивает все функции ввода-вывода , такие как отображение экрана, управление клавиатурой и устройствами хранения данных. Сопроцессорный блок можно подключить к любому BBC Micro с дисковым интерфейсом (ПЗУ которого содержит необходимое хост-программное обеспечение) и немедленно использовать.
Выполнение
[ редактировать ]40-контактный разъем IDC «Tube» представляет собой простое ведомое соединение с главной шиной главного процессора с 8 линиями данных, 7 адресными линиями и входом прерывания. Протоколы Tube реализуются аппаратно в подключенном устройстве.
Внутри сопроцессора имеется запатентованный чип ( Tube ULA , первоначально производившийся компанией Ferranti хоста и сопроцессора ), который обеспечивает интерфейс и логически изолирует шины . Это позволяет Tube работать с совершенно другой архитектурой шины в блоке сопроцессора. Другими необходимыми активными компонентами являются микропроцессор , немного оперативной памяти , небольшое ПЗУ, содержащее клиентский код для конкретного процессора, связующая логика, такая как декодер адреса , и источник питания .
Два процессора обмениваются данными через четыре пары буферов FIFO в Tube ULA. Консольный ввод/вывод, сообщения об ошибках , передача данных и системные вызовы имеют собственную пару буферов, по одному для каждого направления. Емкость очереди варьируется от 1 до 24 байт, в зависимости от функции выделенного буфера. Каждый буфер имеет регистр управления и регистр состояния для контроля его состояния и настройки возникновения прерываний .
Протокол использования этих буферов строго определен компанией Acorn Computers. [1] и представляет собой межпроцессное взаимодействие посредством передачи сообщений . Большая часть взаимодействия является асинхронной , но быстрая передача блоков является синхронной и состоит из того, что хост слепо выполняет простой цикл выборки-сохранения, который определяет скорость передачи. Сопроцессор синхронизируется путем передачи фиктивного байта, а затем регулируется соответствующим семафором буфера.
Универсальный характер разъема Tube в принципе позволяет использовать его для любого типа высокоскоростной периферии, хотя Acorn использует его только для сопроцессоров Tube. Диапазон BBC Micro/Master предоставляет 5 адресных строк для диапазона адресов &60–&7F, но протокол Tube использует младшие 3 бита. Только эти три адресные линии подключены к внутренним разъемам Tube, как в BBC Master или универсальном втором процессорном модуле.
Приложения
[ редактировать ]Для Tube было разработано множество сопроцессоров. Чаще всего использовался второй процессор 6502 с процессором 6502 по технологии MOS , который позволял немодифицированным программам BBC Micro работать быстрее и с большим объемом памяти, если они использовали API для всех операций ввода-вывода. [1] [2] оснащен Второй процессор Z80 процессором Zilog Z80 под управлением CP/M , а второй процессор 32016 оснащен процессором National Semiconductor 32016 под управлением Panos .
Эти сопроцессоры составляют основу серии компьютеров для бизнеса Acorn , причем машины более высокого класса представляют собой переупаковку BBC Micros с сопроцессором, подключенным через трубку. Серия Master поддерживает два подключения Tube, что позволяет установить сопроцессор внутри корпуса, а другой - снаружи, но в любом сеансе с питанием можно использовать только один. Можно установить внутренний процессор 6502 или систему на базе Intel 80186 для совместимости с DOS (хотя на практике это ограничено). [3]
Tube также использовался во время первоначальной разработки процессора ARM . Была разработана оценочная плата, которая снова использует BBC Micro в качестве хост-системы для операций ввода-вывода.
Перед выпуском надстроек Tube компания Acorn настоятельно рекомендовала программистам BBC Micro напрямую обращаться к системной памяти и оборудованию, отдавая предпочтение официальным вызовам API. [4] Это было сделано для того, чтобы обеспечить беспрепятственный перенос приложений на сопроцессор Tube 6502, поскольку прямой доступ оттуда невозможен. Когда программа вызывает одну из точек входа MOS , подпрограмма замены в ПЗУ сопроцессора передает соответствующее сообщение хосту, который выполняет операцию и возвращает результат. Таким образом, приложение может одинаково работать как на хосте, так и на сопроцессоре. Другие модели ЦП используют собственный API, который обычно представляет собой ортогональную трансляцию API 6502 в собственный формат.
Ссылки
[ редактировать ]- ^ Jump up to: а б Примечание по применению Acorn 004, «Примечания по применению трубки»
- ^ Хотя часто упоминаемой причиной более быстрой работы программного обеспечения на втором процессоре была возможность переложить задачи ввода-вывода, такие как вычисления графики, на главный процессор, гораздо более важным фактором является тактовая частота: частота главного процессора ограничена 2 МГц. чтобы дать время обновлению VDU для доступа к ОЗУ, тогда как сопроцессор может работать на частоте 3 МГц, а гораздо более простое обновление DRAM останавливает его на частоте 68 кГц. Руководство по обслуживанию второго процессора 6502 (PDF) . Желудевые компьютеры. Май 1984. С. 7, 19 . Проверено 11 июня 2023 г. - через Chris's Acorns.
- ^ Расширенное справочное руководство для серии BBC Master . Уотфорд Электроникс. 1988.
- ^ Колл, Джон (1982) [1982]. Аллен, Дэвид (ред.). Руководство пользователя микрокомпьютера BBC (в формате RTF в архиве) . Лондон: Британская радиовещательная корпорация. стр. 443, 450, 473. ISBN. 0-563-16558-8 . Проверено 25 января 2010 г.