nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 25 Apr 2024 15:09



Reply to topic  [ 255 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 17  Next
4-bit Processor 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Lavr wrote:
Джентльмены, у кого-нибуть есть образец чисто аппаратной реализации какого-либо
популярного последовательного интерфейса: RS-232, SPI, FSK или чего-то
подобного?

SPI

А ссылочку или схему? SPI - очень удобно, реализуется практически
через любой интерфейс РС.

PS. И мы пока совсем не продвинулись в вопросе, как работало 4-bit ALU in
8-bit system, причём очень шустро!
:-?


18 Jun 2011 08:54
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Смотрю я, на nedoPC.org Forum не впервые бросаются конструировать процессор
на россыпи. И что удивительно, бьются головой об одни и те-же вопросы:
CPU N http://nedopc.org/forum/viewtopic.php?t=9180

В АЛУ на NAND http://www.nedopc.org/forum/viewtopic.php?t=9386
мы заново все аналогичные грабли истоптали...
Сдвинется ли воз?

danchandoo тоже пытался обработать длинное рабочее слово по частям, но, похоже,
успеха не достиг. :-?
danchandoo wrote:
для таких «извращений» нужно мультиплексировать в АЛУ младшие и старшие части шины, или хотя-бы сделать между ними мост.

danchandoo wrote:
SRAM используется как ROM, для чего процессор снабжен 4-мя батарейками АА

И мы пришли к такой мысли, и Шаос снова сказал, что есть "грабли", а я сказал
что "грабли" поправимы... :wink:
http://www.nedopc.org/forum/viewtopic.php?t=9386&postdays=0&postorder=asc&start=90

А по поводу стека danchandoo нагнал такой туман, что даже сам признался:
danchandoo wrote:
Немного запутано написал.
Стек скрыт, значение его указателя узнать нельзя. При переполнении стека генерируется прерывание. В лучшем случае оно может корректно завершить работу программы в которой случилась ошибка, манипуляции вида "перенести часть стека и значений регистров вызванных ранее процедур в память и продолжить работу" скорее всего невозможны. Самая большая проблемма при этом -- необходимость отследить момент, когда нужно вернуть сохраненные регистры и адреса обратно в процессор.

Крепкий орешек эта схемотехника стека!!! :lol:


19 Jun 2011 03:43
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Возможна реализация безстековой машины. Хороший пример: RCA 1802.
http://ru.wikipedia.org/wiki/RCA_1802
Quote:
Важной особенностью процессора является регистровый файл, состоящий из шестнадцати 16-разрядных регистров. Любой из них может быть использован в качестве указателя текущей команды (выбирается командой SEP) или индексного регистра (выбирается командой SEX). Регистр R0 имеет специальное назначение и хранит адрес, используемый встроенным простым контроллером прямого доступа к памяти.

Процессор не имеет обычных команд вызова и возврата из подпрограммы (CALL и RET) и поддержки стека. Возможность размещения указателя текущей команды в любом регистре позволяет реализовать необычные способы вызова подпрограмм, однако, в основном подходящих для программ небольшого размера. Адреса нескольких наиболее часто используемых подпрограмм могут размещаться в нескольких регистрах, а вызов и возврат из подпрограмм выполняться с помощью команды SEP. При выполнении команды SEP перед выбором нового регистра увеличивается адрес в текущем используемом регистре, что позволяет легко реализовать возврат в нужное место. Также может быть организован вызов двух или более подпрограмм в циклическом режиме. Это часто использовалось в любительских компьютерах при отображении графики, для четырёхкратного дублирования строк. Вызов подпрограмм по вычисляемым адресам не представляет сложностей, так как все команды CALL используют индексную модель адресации.

Помимо команд условного перехода также присутствуют команды условного пропуска следующей команды.

Вопрос в том, насколько это упрощает схемотехнику. В принципе у PIC короткий
стек адресов возврата.


19 Jun 2011 06:20
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Lavr wrote:
А ссылочку или схему? SPI - очень удобно, реализуется практически
через любой интерфейс РС.


Статья была в Circuit Cellar недавно про то как на сдвиговых регистрах делать мастера или слейва SPI, а вообще гугл выдаёт вот такие вещи:
http://www.maxim-ic.com/app-notes/index.mvp/id/801#q3.3
http://softsolder.com/2009/07/18/arduin ... l-data-io/
http://www.myamicus.co.uk/content.php?2 ... -using-SPI

Ну если опираться на регистр сдвига 74HC595, то и от RS-232 можно сигнал
в паралленьный вид перевести.
http://www.labkit.ru/html/autocontrol?id=136

Image

Другое дело, что для полного автомата, на мой взгляд, нужен счётчик бит и
генератор сигнала параллельной записи принятого слова...


19 Jun 2011 08:11
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
В прототипе с целью упрощения схемотехники реализован один трюк:
при переходе на подпрограмму PCLow - программный счётчик обнуляется,
а в PCHigh выставляется сегмент перехода, так что подпрограмма
всегда начинается с 0000 смещения сегмента.

Насколько на ваш взгляд такой механизм неудобен? (Позволяет не
записывать в PCLow, а лишь сбросить его при переходе).


19 Jun 2011 11:04
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Я начал слеплять наш 4-битный проект в "Протезусе", но в последний
момент несколько тормознулся с источником: Computer Architecture.

Его искренне советовали на одном англоязычном форуме, где группа
энтузиастов также 4-битный процессор собирается сделать.

Мне источник понравился, тем что разрешил все мои сомнения, как
реализовывать стек.
Я хоть и потерял 2 дня и немножко Шаоса подзагрузил манипуляциями на С,
но после прочтения решил себе всё это соскладировать, хоть у меня и др.
книжек много.

Мужик реально пишет просто, последовательно и чётко.
А поверил я его компетенции, поскольку он прозрачно расписал вызовы
подпрограмм на Фортране (без стека), а ведь я это учил, и хотя - всё
тлен, со времён Фортрана не люблю рекурсий...

Так что проект продолжаю, хотя скоро отпуск, а в первую неделю отпуска
Я НИЧЕГО НЕ ЛЮБЛЮ ДЕЛАТЬ, КРОМЕ ЗЛОСТНОГО И РАЗНУЗДАННОГО БЕЗДЕЛЬЯ!!! :lol:


22 Jun 2011 18:42
Profile
Doomed

Joined: 27 Jan 2010 03:45
Posts: 434
Location: 83.149.9.42
Reply with quote
Post 
http://www.ehow.com/how_7819712_design- ... dders.html

это было?

попробуйте поискать и пофильтровать по этой ссылке http://bit.ly/k0Wu5I


23 Jun 2011 11:40
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
antsnark wrote:
http://www.ehow.com/how_7819712_design-using-4-full-adders.html
это было?
попробуйте поискать и пофильтровать по этой ссылке http://bit.ly/k0Wu5I

Спасибо - это что-то похожее, надо почитать внимательно...


23 Jun 2011 12:17
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Нашел некий "мануал" для
Seiko Epson S1C63000 CMOS 4-BIT SINGLE CHIP MICROCOMPUTER
Core CPU Manual for Epson S1C63000 Personal Computer

http://office.manualsonline.com/manuals/mfg/epson/s1c63000.html

Не знаю - что это за компьютер - непопулярен он как-то, но хотя бы кое-что
про 4-битное программирование они пишут:
URL: http://dl.owneriq.net/2/2c4042b8-16b5-4ce4-8d75-3949ae705d23.pdf

ЗЫ. Странный мануал у Epson S1C63000, хоть бы пару фраз сказали о назначении
этого чипа...


24 Jun 2011 07:58
Profile
Doomed

Joined: 27 Jan 2010 03:45
Posts: 434
Location: 83.149.9.42
Reply with quote
Post 
Munich, February 23, 2010: Seiko Epson Corporation (“Epson”, TSE: 6724) today
announced that it has developed a new series of ultra-low current, 4-bit
microcontrollers. The microcontrollers in the new S1C63000 series run on as little
as 1.1V in operating mode and only 0.1 µA in sleep mode. Volume production is
slated to begin in April 2010, with plans calling for two-million units, total, per
month.
The new microcontrollers incorporate Epson’s original low-power analog IP and low-leak process technology allowing it to operate on a 1.5V button cell battery such as silver-oxide battery or alkaline button cell. With CPU running at high speed of 4MHz, the microcontroller consumes only 220uA of current, 75% reduction in comparison to Epson previous products.
In addition to their low-voltage operation and low-current consumption, the new microcontroller S1C63000 series boast powerful on-chip peripheral circuits, which includes the constant voltage circuits and liquid crystal driver circuits, as well as resistance-to-frequency type A/D converters (R/F converters), resulting in precise temperature and humidity measurements as well as supply voltage detection circuits offering greater accuracy in comparison to previous products


24 Jun 2011 10:49
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
antsnark wrote:
Munich, February 23, 2010: Seiko Epson Corporation (“Epson”, TSE: 6724) today
announced that it has developed a new series of ultra-low current, 4-bit
microcontrollers. The microcontrollers in the new S1C63000 series run on as little
as 1.1V in operating mode and only 0.1 µA in sleep mode.

Ну я тоже что-то такое прочитал... Что с ним можно сделать-то?
У Микрочипа хоть "Хэллоу Ворд" есть = зажечь два светодиода и
"послушать" 2 кнопки
... а тут че зажечь? :wink:


24 Jun 2011 11:07
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Несколько слов о состоянии проблемы на данный момент, тем более, что и
Shaos намекнул о том, что она притормознулась...
Shaos wrote:
Ну твое свободное время можно замечательно направить в 4-битную плоскость

http://www.nedopc.org/forum/viewtopic.php?t=9631

С аппаратной точки зрения вопрос о схемотехнике 4-битного процессора мне
практически ясен и большинство трудностей разъяснились.
Во многом систематизировать и разобрать все вопросы мне помог цикл статей
Computer Architecture французского автора, ссылка на который есть в software
http://dept-info.labri.u-bordeaux.fr/~strandh/Teaching/AMP/Common/Strandh-Tutorial/Dir.html

Оказалось (да иначе и быть не могло), что схемотехника зело завязана на
систему команд и тут возникли новые вопросы. В частности, вот мы уже
обсуждали:
Lavr wrote:
Shaos wrote:
Lavr wrote:
Условные переходы предлагаю - только по выполнению условия.
JZ
JC
JM

А может как на пике? Skip if Zero и Skip if Not Zero?

Ну надо посмотреть как на схемотехнике отражается.
Пиковские Skip if Zero и Skip if Not Zero
и один безусловный JMР мне казались столь неудобны...

Здесь ситуация вот какая: для Skip if Zero и Skip if Not Zero аппаратных
затрат практически не требуется. Но безусловный JMР должен быть -
а это выливается в загрузку РС с шины данных. Но раз такая загрузка
аппаратно реализована, JZ JC JM на адрес - не явятся проблемой.
А вот те же команды перехода JZ JC JM на относительный адрес потребуют
в схему сумматора со смещением - это увеличивает аппаратные затраты.

И такая же завязка по многим командам - хочешь развитую систему
команд - аппаратные усложнения неизбежны. И где здесь разумный
минималистичный компромисс, я пока сказать точно не могу.

Следующий весьма неприятный момент - это программное обеспечение.
Дело в том, что несмотря на 4-битность, с голыми нибблам никто не
работает. Как ни странно работают все всё-равно с байтами. И тут
вот трудности начинают выплывать. Где-то 8 бит аппаратно грузят
сразу в два 4-битных регистра и работают с ними как с регистровой
парой, есть и другие трюки. То есть чистого 4-битного софта вроде
как такового и нет. А этот факт накладывает отпечаток на схемотехнику
процессора. Так что сейчас настырно читаю документ от INTEL:
MCS-4_Assembly_Language_Programming_Manual_Dec73.pdf -
как интересующие меня вопросы были решены в i4004.
Если что-то прояснится, то будем посмотреть. По крайней мере есть
ассемблер и дизассемблер с отладчиком.


03 Jul 2011 09:50
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22583
Location: Silicon Valley
Reply with quote
Post 
На всякий случай вот линк на доки: http://www.bitsavers.org/pdf/intel/MCS4/

_________________
:dj: https://mastodon.social/@Shaos


03 Jul 2011 11:08
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
На всякий случай вот линк на доки: http://www.bitsavers.org/pdf/intel/MCS4/

Спасибо - у меня есть все эти доки... Хотелось бы чего посовременнее
глянуть. Но видимо так и придётся танцевать "аб ово"... Аб этого древнего
тухлого "ово". Но выбор небольшой... :-?

PS. Качество - так себе у этих док... Источник один и тот-же. :(


03 Jul 2011 11:20
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Lavr wrote:
Следующий весьма неприятный момент - это программное обеспечение.
Дело в том, что несмотря на 4-битность, с голыми нибблам никто не
работает
. Как ни странно работают все всё-равно с байтами. И тут
вот трудности начинают выплывать. Где-то 8 бит аппаратно грузят
сразу в два 4-битных регистра и работают с ними как с регистровой
парой
, есть и другие трюки. То есть чистого 4-битного софта вроде
как такового и нет. А этот факт накладывает отпечаток на схемотехнику
процессора.

Собственно в чем основная трудность так это то, что с 4-битной
регистровой парой, составляющей байт работают по аналогии, как
К580ВМ80 выполняет команду DAD co своими регистровыми парами.
То есть, сразу учитывается флаг осевого переноса (как флаг С
при исполнении DAD). Отсюда сложный момент вот какой: либо
4-битные регистровые пары между собой связаны и флаг переноса
переходит в старший ниббл автоматически - но мне трудно представить
себе такую схемотехнику. Либо операция с байтом осуществляется в
два прохода по микрооперациям. А это противоречит RISC архитектуре
т.к. кроме вызовов и переходов всё должно выполняться за равное
количество тактов...

У i4004 архитектура гарвардская, но вот RISC ли?

Опять же 8 бит желательно одновременно подать на внешние устройства
иначе придётся городить огород с защелками для старшего и младшего
нибблов... :-?


03 Jul 2011 15:41
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 255 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 17  Next

Who is online

Users browsing this forum: No registered users and 21 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.