nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 24 Oct 2017 01:59



Reply to topic  [ 78 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next
Гибрид 8085 и 6502 в FPGA 
Author Message
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15565
Location: Colorado
Reply with quote
На днях меня посетила идея - а что если создать VHDL гибрид двух процессоров - 8085 (8080 с парой дополнительных команд) и 6502 - ведь оба они имеют пробелы в кодах команд, в которые можно вставить команды смены процессора. Представьте насколько интересно было программировать, переключаясь между двумя популярными системами команд :)

_________________
:eugeek: https://twitter.com/Shaos1973


13 Nov 2009 22:36
Profile WWW
Doomed

Joined: 06 Oct 2006 06:17
Posts: 435
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Post 
Интересно было бы.

_________________
:arrow: Сайт о ПК "Специалист" и его клонах


14 Nov 2009 00:39
Profile WWW
Novelist

Joined: 13 Sep 2009 11:37
Posts: 41
Location: Подмосковье
Reply with quote
Shaos wrote:
На днях меня посетила идея - а что если создать VHDL гибрид двух процессоров - 8085 (8080 с парой дополнительных команд) и 6502 - ведь оба они имеют пробелы в кодах команд, в которые можно вставить команды смены процессора. Представьте насколько интересно было программировать, переключаясь между двумя популярными системами команд :)


Вопрос интересный, но его следует продвигать в несколько другой плоскости. 8085 и 6502 - это процессоры с разной архитектурой, да и интерфейс строится по разному. Не вижу в этом интереса и смысла в таком гибриде.
Мне представляется более интересным добавление в 8085 битовых операций, портов и других прибамбас от микроконтроллеров.
Поясню откуда желания! Раньше работал с 8085(8080) - это универсальный процессор, но плох для управления - нет битовых операций с регистрами, а главное с портами. Замучишься мигать светодиодом. В настоящее время работаю с MSС-51 - всем хорош (мощные команды, производительность - глупости, если кто считает, что он скоро умрет!) но нет возможности создавать перемещаемые и самомодифицирующиеся программы. Делать оперативную догрузку блоков. Иметь общее адресное пространство и т.д.
Вот и есть мечта: Сделать на Альтере 8085 (а лучше Z80!), добавить порты, битовые операции с регистрами и портами и т.д. Получилась бы отличная и универсальная вещь, как для управления, так и для универсального применения. Но, к сожалению, я не владею VHDL, поэтому могу лишь активно помогать вести этот проект, тестировать, если кто-то возьмется его воплощать.
А пока, остается всего-лишь мечтать!

_________________
Если ты чего-то не знаешь, то это не значит, что этого не может быть.


25 Nov 2009 08:25
Profile
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15565
Location: Colorado
Reply with quote
Post 
Ну разные то они может и разные, однако блоков используемых и там, и тут я думаю будет достаточно. А какие битовые инструкции интересуют? Установить-снять бит, проверить состояние бита любого адреса или порта?

_________________
:eugeek: https://twitter.com/Shaos1973


25 Nov 2009 09:46
Profile WWW
Banned
User avatar

Joined: 20 Mar 2005 16:41
Posts: 2152
Location: От туда
Reply with quote
pvlad wrote:
Вот и есть мечта: Сделать на Альтере 8085 (а лучше Z80!), добавить порты, битовые операции с регистрами и портами и т.д.

Z80 имеет развитую систему битовых операций. Разве что с портами напряженка. Но при организации портов в области ОЗУ все встает на свои места (регистр "М", он же (HL)).


25 Nov 2009 10:15
Profile
God
User avatar

Joined: 29 Dec 2003 04:00
Posts: 1115
Location: Москва
Reply with quote
Post 
Раздел processors в:
http://opencores.org/projects

З.Ы. Пока одни звездят - люди делают :kruto:

_________________
Московский филиал NedoPC http://www.nedopc.com


25 Nov 2009 10:31
Profile ICQ WWW
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15565
Location: Colorado
Reply with quote
Post 
CHRV wrote:
Раздел processors в:
http://opencores.org/projects


Угу - я там уже зарегистрировался ;)
Правда весь процесс занял больше двух недель...

_________________
:eugeek: https://twitter.com/Shaos1973


25 Nov 2009 10:34
Profile WWW
Novelist

Joined: 13 Sep 2009 11:37
Posts: 41
Location: Подмосковье
Reply with quote
Post 
Shaos wrote:
Ну разные то они может и разные, однако блоков используемых и там, и тут я думаю будет достаточно.


Извините, не совсем понял. Какие блоки можно использовать "там и тут"? 8085 - это процессор имеющий полный набор всех регистров внутри, а 6502 - имеет внутри только несколько регистров-указателей, да аккумулятор. Все остальное организовывается в памяти. Кстати, память и порты (порты можно положить только на память!) тоже по разному подключается. Честно говоря, мне за свою жизнь (извините - уже скоро пенсия!) не приходилось видеть поклонников обоих процессоров в одном лице. Были либо спектрумисты, либо все остальные.

Shaos wrote:
А какие битовые инструкции интересуют? Установить-снять бит, проверить состояние бита любого адреса или порта?

Конечно, можно взять Z80 и по предложению HardWareMan порты положить на память и иметь счастье с битовыми операциями. Спрашивается: на кой хрен нужно повторять счастье с РК-86, когда все адресное пространство загадили портами? Естественно, команда OUT коту под хвост! Можно примудрить крутой дешифратор и т.д. Т.е. снова огород, который ваши отцы мудрили только из-за того, что деваться было некуда. Сегодня есть новые технологии, позволяющие "старое пальтишко перелинцевать на новый лад". Было бы желание и интерес.

Что меня интересует? На соседнем сайте я пытался убедить коллег в своих идеях, но похоже не был воспринят.
Вот два основных поста:
http://zx.pk.ru/showpost.php?p=220702&postcount=1
http://zx.pk.ru/showpost.php?p=225567&postcount=129

К сожалению, там доминирует идеология just for fun, а мне, честно говоря, в эти игрушки через 20 лет повторно играть уже не интересно. Я наигрался, пока изобретал этот "Орион-128". Почитайте, хотя бы только мои посты и Вам станет понятно, что я хотел. Возможно на Вашем сайте можно было бы запустить это проект в каком-то другом виде, не обязательно привязанным к "Ориону".
А вот толкать теорию по второму кругу, если не будет конкретного исполнителя, которого эти идеи так же заинтересуют, извините великодушно - не хочется.
Без обид...

_________________
Если ты чего-то не знаешь, то это не значит, что этого не может быть.


26 Nov 2009 17:27
Profile
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15565
Location: Colorado
Reply with quote
Post 
pvlad wrote:
Shaos wrote:
Ну разные то они может и разные, однако блоков используемых и там, и тут я думаю будет достаточно.


Извините, не совсем понял. Какие блоки можно использовать "там и тут"? 8085 - это процессор имеющий полный набор всех регистров внутри, а 6502 - имеет внутри только несколько регистров-указателей, да аккумулятор. Все остальное организовывается в памяти...


под "блоками" я имел ввиду 8-битный сумматор с учётом переноса, инвертор, схему сдвига и т.д. - на самом деле у обоих процессоров очень много общего

pvlad wrote:
Shaos wrote:
А какие битовые инструкции интересуют? Установить-снять бит, проверить состояние бита любого адреса или порта?

Конечно, можно взять Z80 и по предложению HardWareMan порты положить на память и иметь счастье с битовыми операциями. Спрашивается: на кой хрен нужно повторять счастье с РК-86, когда все адресное пространство загадили портами? Естественно, команда OUT коту под хвост! Можно примудрить крутой дешифратор и т.д. Т.е. снова огород, который ваши отцы мудрили только из-за того, что деваться было некуда. Сегодня есть новые технологии, позволяющие "старое пальтишко перелинцевать на новый лад". Было бы желание и интерес.


Во - точно, можно расширить систему команд 6502 командами общения с портами и в обе системы добавить работу с отдельными битами портов :)

pvlad wrote:
Что меня интересует? На соседнем сайте я пытался убедить коллег в своих идеях, но похоже не был воспринят.
Вот два основных поста:
http://zx.pk.ru/showpost.php?p=220702&postcount=1
http://zx.pk.ru/showpost.php?p=225567&postcount=129

К сожалению, там доминирует идеология just for fun, а мне, честно говоря, в эти игрушки через 20 лет повторно играть уже не интересно. Я наигрался, пока изобретал этот "Орион-128". Почитайте, хотя бы только мои посты и Вам станет понятно, что я хотел. Возможно на Вашем сайте можно было бы запустить это проект в каком-то другом виде, не обязательно привязанным к "Ориону".
А вот толкать теорию по второму кругу, если не будет конкретного исполнителя, которого эти идеи так же заинтересуют, извините великодушно - не хочется.
Без обид...


Почитал - не вижу смысла толкать Z80 в ПЛИС - тяжёлый он...
8080 или 6502 или их гибрид ещё можно, а вот Z80 - уже тяжеловат
Лучше пойти по пути добавления нужных команд к существующим, а не возиться с алхимией перераспределения битов портов на существующие команды...

_________________
:eugeek: https://twitter.com/Shaos1973


26 Nov 2009 20:33
Profile WWW
Novelist

Joined: 13 Sep 2009 11:37
Posts: 41
Location: Подмосковье
Reply with quote
Post 
Shaos wrote:
под "блоками" я имел ввиду 8-битный сумматор с учётом переноса, инвертор, схему сдвига и т.д. - на самом деле у обоих процессоров очень много общего

Да нет! До такого уровня опускаться, видимо, не стоит, если не предполагается делать учебный стенд. В корпус Альтеры можно разместить два процессора и переключать их по управлению одним из выводов. Но, сначала надо определиться: для каких целей мы будем городить огород? Если просто побаловаться - это одно, а если с прицелом на конкретное применение - это другое. Лично я преследую цель получить на базе 8080 управляющий контроллер - что-то типа AVR или MCS-51, но с фоннеймановской архитектурой.

Shaos wrote:
...можно расширить систему команд 6502 командами общения с портами и в обе системы добавить работу с отдельными битами портов :)

Я не работал с 6502 и не знаю его ассемблер. По мне 8080. Но можно это делать поэтапно. Если будет цель: получить на Альтере полный микроконтроллер с портами и двумя CPU, работающими на одни и те же порты, одинаково подключенные ПЗУ и ОЗУ, то это будет уникальная вещь. Просто переключаешь тип процессора - кому какой ближе, и пишешь управляющую программы. Больше ничего менять не нужно. Кстати, в этот "гибрид" можно добавить еще UART и таймеры, или еще какие-то прибамбасы типичных МК.

Shaos wrote:
Почитал - не вижу смысла толкать Z80 в ПЛИС - тяжёлый он...
8080 или 6502 или их гибрид ещё можно, а вот Z80 - уже тяжеловат
Лучше пойти по пути добавления нужных команд к существующим, а не возиться с алхимией перераспределения битов портов на существующие команды...

Абсолютно разделяю Ваше мнение. По мне, так лучше эмитировать битовые операции с портами и регистрами (хотя бы в пределах возможного) по аналогии с MCS-51. Я с ним давно работаю, поэтому могу свободно тестировать на самом низком уровне. То же относится и к 8080.

_________________
Если ты чего-то не знаешь, то это не значит, что этого не может быть.


27 Nov 2009 06:22
Profile
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15565
Location: Colorado
Reply with quote
Post 
pvlad wrote:
Shaos wrote:
под "блоками" я имел ввиду 8-битный сумматор с учётом переноса, инвертор, схему сдвига и т.д. - на самом деле у обоих процессоров очень много общего

Да нет! До такого уровня опускаться, видимо, не стоит, если не предполагается делать учебный стенд. В корпус Альтеры можно разместить два процессора и переключать их по управлению одним из выводов.


тогда они будут занимать в 1.5-2 раза больше места чем "гибридный" процессор, реюзающий блоки, так что при разработке опускаться до такого уровня не то чтобы стоит, а просто необходимо!

pvlad wrote:
Но, сначала надо определиться: для каких целей мы будем городить огород? Если просто побаловаться - это одно, а если с прицелом на конкретное применение - это другое. Лично я преследую цель получить на базе 8080 управляющий контроллер - что-то типа AVR или MCS-51, но с фоннеймановской архитектурой.


понимаю

pvlad wrote:
Shaos wrote:
...можно расширить систему команд 6502 командами общения с портами и в обе системы добавить работу с отдельными битами портов :)

Я не работал с 6502 и не знаю его ассемблер. По мне 8080. Но можно это делать поэтапно. Если будет цель: получить на Альтере полный микроконтроллер с портами и двумя CPU, работающими на одни и те же порты, одинаково подключенные ПЗУ и ОЗУ, то это будет уникальная вещь. Просто переключаешь тип процессора - кому какой ближе, и пишешь управляющую программы. Больше ничего менять не нужно. Кстати, в этот "гибрид" можно добавить еще UART и таймеры, или еще какие-то прибамбасы типичных МК.


можно

pvlad wrote:
Shaos wrote:
Почитал - не вижу смысла толкать Z80 в ПЛИС - тяжёлый он...
8080 или 6502 или их гибрид ещё можно, а вот Z80 - уже тяжеловат
Лучше пойти по пути добавления нужных команд к существующим, а не возиться с алхимией перераспределения битов портов на существующие команды...

Абсолютно разделяю Ваше мнение. По мне, так лучше эмитировать битовые операции с портами и регистрами (хотя бы в пределах возможного) по аналогии с MCS-51. Я с ним давно работаю, поэтому могу свободно тестировать на самом низком уровне. То же относится и к 8080.


ну вот в чём то наши мнения сошлись :)

правда вместо альтеры я предпочитаю Xilinx, а вместо MCS-51 - пики, но это уже мелочи ;)

_________________
:eugeek: https://twitter.com/Shaos1973


27 Nov 2009 09:15
Profile WWW
Novelist

Joined: 13 Sep 2009 11:37
Posts: 41
Location: Подмосковье
Reply with quote
Post 
Shaos wrote:
ну вот в чём то наши мнения сошлись :)


Ну, что-же: осталось начать и закончить!

_________________
Если ты чего-то не знаешь, то это не значит, что этого не может быть.


28 Nov 2009 08:34
Profile
Novelist

Joined: 13 Sep 2009 11:37
Posts: 41
Location: Подмосковье
Reply with quote
Post 
pvlad wrote:
Shaos wrote:
ну вот в чём то наши мнения сошлись :)


Ну, что-же: осталось начать и закончить!


Уважаемый Shaos! Мы на этом и закончили с гибридом? Понятно, если не будет "VHDL-исполнителя", то наша тема - обычная болтовня. В этом случае, нет смысла разрабатывать какие-то концептуальные и структурные решения.

_________________
Если ты чего-то не знаешь, то это не значит, что этого не может быть.


02 Dec 2009 16:00
Profile
Banned
User avatar

Joined: 20 Mar 2005 16:41
Posts: 2152
Location: От туда
Reply with quote
Post 
Как вариант, повторите Z80, просто расширьте действие битовых операций на порты тоже (в свободных местах префикса #ED).


02 Dec 2009 23:22
Profile
Admin
User avatar

Joined: 09 Jan 2003 02:22
Posts: 15565
Location: Colorado
Reply with quote
Post 
HardWareMan wrote:
Как вариант, повторите Z80, просто расширьте действие битовых операций на порты тоже (в свободных местах префикса #ED).


только не Z80 :)

хочется чего-то аля пик заиметь

pvlad wrote:
Уважаемый Shaos! Мы на этом и закончили с гибридом?


ну почему же? когда подойдёт очередной квант свободного времени - набросаю свои предложения по расширению системы команд ;)

_________________
:eugeek: https://twitter.com/Shaos1973


04 Dec 2009 22:30
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 78 posts ]  Go to page 1, 2, 3, 4, 5, 6  Next

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.