ZXNet эхоконференция «code.zx»


тема: Техника программирования процедурных сопроцессоров



от: Алексей Гончаров
кому: All
дата: 29 Dec 2006
Hello, andrews

Путь в лоб - унификация системы команд путём эмуляции одного на другом. Вестимо
не арма на Z80 =) Мысли о "драйвере компиляции" имхо оторваны от почвы
напрочь...

от: Андрей Савичев
кому: All
дата: 29 Dec 2006
Hello, All

Всех с наступающим новым годом.
Это набросок статьи, поэтому тезисно.
Постановка задачи: имеем z80 и ARM. Хотим писать программы для z80, используя
его программное и аппаратное окружение ( ZX Spectrum), но в то же время
используя возможности ARM. Писать каждый раз вместо одной программы две
неудобно. Как облегчить себе жизнь?
Ясно что нужно автоматизировать процесс получения кода. Если процессоры
соединены не через память (КПДП, менеджер памяти, двухпортовая память с
механизмами разделения), а через каналы связи(RS-232, бит параллельного порта,
параллельный порт), требуется организовать пересылку данных через протоколы
обмена с помощью специальных библиотечных процедур (С), или макросов
ассемблера.
Можно ли обойтись без СРВ? Можно, когда z80 доходит до вызова процедуры,
которая на нем выполняется медленно, он останавливается (и обрабатывает
прерывания)или переходит на цикл обработки ввода/вывода до получения прерывания
от "процедурного процессора", в качестве которого выступает ARM. В случае
использования компилятора C, можно вместо обычной стандартной библиотеки
подключать специализированную ( в случае ассемблера вызывать макросы). А как
быть с "процедурным процессором"? Тот же самый исходный код повторно
компилируется и для него. Только сами функции и процедуры снабжаются
интерфейсом для получения вызовов и параметров от основного "клиентского" и
передачи ему результатов обработки(вычислений). Это тоже можно сделать с
помощью специализированной библиотеки. Для автоматизации и согласования обоих
процессов можно написать драйвер компиляции. Если используются разные
операционные системы, необходимо использовать различные наборы библиотек.

от: Андрей Савичев
кому: All
дата: 29 Dec 2006
Hello, NovaStorm

Команды-то эмулировать можно, а программную и аппаратную среду? У gnu-C есть
поддержка и z80 и arm-а, так что дело только за библиотеками. Конечно и сам
программист может использовать условную компиляцию, чтобы облегчить жизнь
драйверу компиляции.

#ifdef arm_present
int my_algoritmpp(int a,int b,int c)
{
}
#else
int my_algoritm(int a, int b, int c)
{
}
#endif

а можно просто
slow int my(int a, int b, int c)
{
}
и атрибут slow заставит препроцессор в случае прохода
компиляции для z80 и
#define arm_present
вставить
int my_algoritmpp(int a,int b,int c)
{
}
а в случае прохода для arm
int my_algoritm(int a, int b, int c)
{
}
но с соответствующими библиотеками

от: Raydac
кому: All
дата: 29 Dec 2006
Hello, NovaStorm

Nov> Путь в лоб - унификация системы команд путём эмуляции одного на
Nov> другом. Вестимо не арма на Z80 =) Мысли о "драйвере компиляции" имхо
Nov> оторваны от почвы напрочь...

Да, почитав "научные" рассуждения Андрея, приходишь к вопросу - а зачем в такой
архитектуре вообще Z80? Он пытается в свои "виртуальные железяки" вставить Z80
как англичане королеву.. "вроде и есть, а вроде и не правит".. :)" .. при
наличии ARM можно "королеву" разгрузить вообще, зачем напрягать то, в его
архитектуре шина питания для Z80 излишня :)

Как ни почитаешь, все получается что он изобретает HP iPAQ 2210 :) только
проблема в том что он уже есть и прекрасно продается.. и Z80 эмулирует со
спектрумом прекрасно.. ))

от: Андрей Савичев
кому: All
дата: 29 Dec 2006
Hello, Raydac

Попытаюсь начать писать на рождественских каникулах драйвер компиляции и
библиотеки для gnu c. Мои скромные достижения будут обнародованы в этом треде.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Вступление - читайте предюбилейный, девятый номер ZX-CITY !
Люди - фотографии с демопати Chao Construction 2000.
Розыск - Разыскиваются особо нужные игры: BATTLE COMMAND 128, ART STUD 128, VICTORY ROAD, SCRABBLE, BRUCE LEE, SW,STTY
Реклама - Kаrlо Соmрuter Sоftwаre призываeт мyзакeров, gfх'eров и жyрналиcтов к работe над cовмecтными проeктами.
Разбиралка - Описание игры: MULTI PLAYER SOCCER MANAGER.

В этот день...   20 апреля