4-bit Processor

4-битные микроконтроллеры и микропроцессоры (прошлое, настоящее, будущее)

Moderator: Lavr

User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

VituZz wrote:Что значит
Lavr wrote: сдвиги нам достаются совершенно "бесплатно".
? Раз есть такие команды, значит, они чем-то реализовываются?
Есть уже какие-то схемотехнические наброски?
Да вроде как давным давно есть - с самого начала темы АЛУ на NAND
viewtopic.php?t=9386&start=0

Image

Ну ты и вопрос задал... что ж я абстрактно потрепаться что ли захожу? :-?

Как изволит выражовывацца HardWareMan:"Товарищъ, ты что ж топика не читал?
Стыдно!
" Так мы по второму кругу обсуждать начнём... :evil:
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Ну, не все сразу догоняют, что в теме о 4-битном процессоре рассматриваем 8-битное АЛУ на NAND из другой темы... :)

Кстати, и там сдвиги не совсем бесплатны, хотя бы за счёт дополнительных входов мультиплексора "Результат".
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

А я предлагаю 0 отдать под NOP :)
Кстати память можно не ограничивать 12 битами, хоть и имея только 12 бит в JMP и CALL - можно сделать как в PIC - непосредственно перед командой перехода мпереключать некие биты в некоем регистре для выбора "страницы" дальнего перехода (адресация в байтах, т.е. все подпрограммы должны начинаться с границы байта)

P.S. На самом деле кто мешает иметь 8-битную память даже в 4-битном процессоре? В этом случае не придётся изгаляться с префиксами и выравниванием (имеется ввиду использование именно 8-битных инструкций)
Last edited by Shaos on 16 Jun 2011 06:51, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Shaos wrote:А я предлагаю 0 отдать под NOP
Мне кажется, все единицы под NOP удобнее. Можно включать свободный прогон, просто вынув ПЗУ.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

VituZz wrote:
Shaos wrote:А я предлагаю 0 отдать под NOP
Мне кажется, все единицы под NOP удобнее. Можно включать свободный прогон, просто вынув ПЗУ.
Я первоначально пытался всем командам, аналогичным i8080, присвоить их
оригинальные коды, но мы этот вопрос подробно разобрали и я пришел к выводу,
что, может быть, для простоты конструкции это не надо...
VituZz wrote:Ну, не все сразу догоняют, что в теме о 4-битном процессоре рассматриваем 8-битное АЛУ на NAND из другой темы...
Кстати, и там сдвиги не совсем бесплатны, хотя бы за счёт дополнительных входов мультиплексора "Результат".
Ну согласись, что сдвиги подешевле всего остального...
Вобщем Шаос и предложил сложить всё в один форум, т.к. оно получается
взаимосвязанным. В АЛУ только рабочая часть занимает 30 корпусов, я подумал,
если 4-битные процы успешно имеют место быть и даже Z80 внутри 4-битный,
может быть использовать эту возможность?
Ты сам говорил, что не хотел бы паять монстра - вот и я не горю этим желанием,
поэтому ищу решения по упрощению.
Этим и вызван обширный обзор 4-битных решений...

(Маленький оффтоп:) А представь - звоним мы с тобой Гинессу...
Они нам покупают 2 ящика одноименного пива, мешок быстрых NAND, коробку макеток,
шпули разноцветных проводов... Мы садимся, ну скажем у тебя на даче, на
воздухе... берём паяльники и шустро слепляем вот такое вот г-но:
Image
(может быть и не одно... )
Спокойно, только спокойно... допиваем их пиво со своей воблой (их - хуже),
включаем всё это и... попадаем в книгу рекордов Гиннеса! :lol: (если оно всё не
сгорит, конечно же...) :wink:
Last edited by Lavr on 16 Jun 2011 12:30, edited 2 times in total.
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

В пользу внутренней 4х битности Z80 говорит и наличие макросных команд (в секции #ED, LDIR/OTIR и т.д.). ИМХО.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:Кстати память можно не ограничивать 12 битами, хоть и имея только 12 бит в JMP и CALL - можно сделать как в PIC - непосредственно перед командой перехода мпереключать некие биты в некоем регистре для выбора "страницы" дальнего перехода (адресация в байтах, т.е. все подпрограммы должны начинаться с границы байта)
P.S. На самом деле кто мешает иметь 8-битную память даже в 4-битном процессоре? В этом случае не придётся изгаляться с префиксами и выравниванием (имеется ввиду использование именно 8-битных инструкций)
Я тоже во многом пытаюсь на архитектуру PIC ориентироваться...
Она довольно продуманная, но... PUSH и POP они не используют,
это очень упрощает схемотехнику.
Да и стек для адресов возвратов у них внутренний и коротий.

Кстати, автор DUO 128 Elite вовсе не заморочился со стеком, он
сохраняет адрес возврата в одном из РОН и сам потом и возвращается
по нему... Но это не самое удобное решение, хотя и минималистское...
User avatar
HardWareMan
Banned
Posts: 2139
Joined: 20 Mar 2005 13:41
Location: От туда

Post by HardWareMan »

Lavr wrote:Кстати, автор DUO 128 Elite вовсе не заморочился со стеком, он сохраняет адрес возврата в одном из РОН и сам потом и возвращается по нему... Но это не самое удобное решение, хотя и минималистское...
Слизано у MIPSов. ;) Смотреть R3000, например.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

HardWareMan wrote:В пользу внутренней 4х битности Z80 говорит и наличие макросных команд (в секции #ED, LDIR/OTIR и т.д.). ИМХО.
Сомнению уже не подвергаем - пытаемся творчески это решение использовать,
хотя и не знаем точно как...
HardWareMan wrote:
Lavr wrote:Кстати, автор DUO 128 Elite вовсе не заморочился со стеком, он сохраняет адрес возврата в одном из РОН и сам потом и возвращается по нему... Но это не самое удобное решение, хотя и минималистское...
Слизано у MIPSов. ;) Смотреть R3000, например.
Согласен с тобой! Я уже писАл, что все авторы ориентируются либо на своё
предпочтение промышленому образцу, либо на популярную литературу
по устройству и конструированию микропроцессоров.
(что в принципе одно и то же)
Интересно, что в западных ВУЗах такая задача решается как курсовой проект.

PS. MIPS очень популярен в таком разрезе...
Last edited by Lavr on 16 Jun 2011 13:53, edited 1 time in total.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Устройство управления и синхронизации

Post by Lavr »

Устройство управления и синхронизации

Чтобы не вести разговор голословно - вот схема Устройства управления и
синхронизации, которую я моделировал уже год назад.
Видно, что ПЗУ микрокоманд позволяет сделать как 8-битный проц, так и
безболезненно ввести как префикс, так и прерывание - оно зафиксируется
в доп.регистре и тоже придёт на вход ПЗУ микрокоманд...

Image

А вот стек куда засунуть и PUSH и POP как просто реализовать - я пока не
знаю (см. полную схему)

http://sgu-wap.narod.ru/4BITPIC/4_CPU_.gif

Надо почитать - возможно существует простое и элегантное решение.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

На мой взгляд, есть вещи уже бесспорные в силу построения АЛУ.
Это команды (a la i8080):
AND
ANI
OR
ORI
XRA
XRI
CMA = (XRI F)
ADD
ADC
ADI
SUB
SBC
SUI

Флаги: Zero, Sign, Carry.

Вызов подпрограммы только безусловный
CALL
JMР


Условные переходы предлагаю - только по выполнению условия.
JZ
JC
JM
Mac Buster
Retired
Posts: 1474
Joined: 03 Aug 2003 22:37
Location: Moscow

Post by Mac Buster »

Lavr wrote:На мой взгляд, есть вещи уже бесспорные в силу построения АЛУ.
Это команды (a la i8080):
AND
ANI
OR
ORI
XRA
XRI
CMA = (XRI F)
ADD
ADC
ADI
SUB
SBC
SUI

Флаги: Zero, Sign, Carry.

Вызов подпрограммы только безусловный
CALL
JMР


Условные переходы предлагаю - только по выполнению условия.
JZ
JC
JM
Что-то мне подсказывает что при наличии CALL ощущается сильная нехватка чего-то вроде RET...
Extreme Entertainment
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Post by VituZz »

Lavr wrote: (Маленький оффтоп:) А представь - звоним мы с тобой Гинессу...
Чур меня! Энтот самый Гиннесс помер, говорят, году так в 1805-м... :)

(Большой оффтоп:) Ничего против того, чтобы попаять вообще и на моей даче в частности, не имею. Но кто пробовал попаять на свежем воздухе, был не по-деццки удивлён... Паяльник надо брать ватт на 100! :)
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Mac Buster wrote: Что-то мне подсказывает что при наличии CALL ощущается сильная нехватка чего-то вроде RET...
Хе-хе!!! :lol: Предчувствия Вас, граф, обманули... Мы ещё не решили со стеком.
Так что я просто не знаю - будет ли это RET или что-то сложнее... :wink:
Lavr wrote:А вот стек куда засунуть и PUSH и POP как просто реализовать - я пока не
знаю (см. полную схему)
PS. И кстати говоря (см. выше), а каково мнение джентльменов по поводу
команд IN, OUT?
Last edited by Lavr on 16 Jun 2011 14:42, edited 2 times in total.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Lavr wrote: Условные переходы предлагаю - только по выполнению условия.
JZ
JC
JM
А может как на пике? Skip if Zero и Skip if Not Zero?
Я тут за главного - если что шлите мыло на me собака shaos точка net