nedoPC.org

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



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

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
HardWareMan wrote:
А зачем еще одна пара регистров? У нас будет настоящий аккумулятор? Мы либо делаем все регистры равноправными (и алу должно уметь принимать любые два регистра как вход, и любой один как выход), либо делаем один регистр аккумулятором и все действия АЛУ делает между аккумулятором и регистром.

Ну это, собственно, на наше усмотрение... Ортогональность - обычно
более удобна, но я пока не могу сказать, будет ли она совместима с
минимальными аппаратными затратами.
Тем более, что одно дело - прошить в ПЛИС, тут бы и я не жадничал,
другое - собрать на мелкой логике, как изначально задумывали, поэтому,
собственно, каждый лишний корпус меня так напрягает.

Если прошивать в ПЛИС, то, на мой взгляд, нет смысла усложнять всё
мультиплексорами. Если бы не АЛУ на россыпи, я бы поставил 2 корпуса
ИП3 и не жадничал бы, в отличие от конструкторов Wang 2200...
2 корпуса 74181 - это всё-равно не 20 корпусов рассыпухи, может оно
дорогое было в их время, но сейчас-то ситуация другая.
Это просто принцип изначально приняли АЛУ - на россыпи, а в ПЛИС, чтоб
его не сделать 8-битным?


05 Jul 2011 23:20
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 863
Reply with quote
Post 
Lavr wrote:
Я немного смутился с 8-битной памятью, но поскольку у RISC-а память
программ - только на чтение, понибблово она читаться будет легко.

Главное - не забыть про адресацию. Либо надо делать так, что младший бит адреса будет выбирать старший/младший нибл, либо все команды должны быть выровнены на границу байта, т.е. команды с префиксом уже выровнены, а команды без префикса имеют 4-х или 12-ти битный параметр. Это к вопросу о выборе системы команд.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


05 Jul 2011 23:39
Profile WWW
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
К примеру у М68К все команды выравнены к WORD. Причем, есть несколько команд, которым нужен дополнительный бит как параметр (особый случай ЕА), так вот используется целое слово, из которого 15 бит в мусорку. Джамп на нечетный адрес вызывает эксепшин "Адрес еррор". Так что можно пойти тем же путем: команды выравнять по байту, а чтение-запись уже куда хочешь (2 строба L/H или А[-1] вывести).


05 Jul 2011 23:50
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
b2m wrote:
Lavr wrote:
Я немного смутился с 8-битной памятью, но поскольку у RISC-а память
программ - только на чтение, понибблово она читаться будет легко.

Главное - не забыть про адресацию. Либо надо делать так, что младший бит адреса будет выбирать старший/младший нибл, либо все команды должны быть выровнены на границу байта, т.е. команды с префиксом уже выровнены, а команды без префикса имеют 4-х или 12-ти битный параметр. Это к вопросу о выборе системы команд.

Для упрощения схемотехники, я хочу выровнять все команды, в том числе
и префиксы (вызов и переход будут длиннее - т.к. старший адрес трогать
придётся).
Префикс, думаю, будет выполняться как команда без параметра, задача
которой - включить один из старших битов адреса в ПЗУ микрокоманд. Этот триггер
следующая команда по выполнению должна сбросить и вернуть обычный набор
беспрефиксных команд.


06 Jul 2011 01:12
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 863
Reply with quote
Post 
Lavr wrote:
Префикс, думаю, будет выполняться как команда без параметра, задача
которой - включить один из старших битов адреса в ПЗУ микрокоманд.

То есть, команда с префиксом будет выполняться за два цикла? Если команды выровнены, то почему бы не выполнять за один цикл? Ведь префикс будет гарантированно в старшем нибле, и если он встретился, то можно декодировать микрокоманды из другого ПЗУ, которое адресуется младшим ниблом.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


06 Jul 2011 01:39
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
b2m wrote:
То есть, команда с префиксом будет выполняться за два цикла? Если команды выровнены, то почему бы не выполнять за один цикл?

На данный момент все команды, кроме JMP и CALL выровнены на один цикл
по образу PIC. Поэтому мне очень не хотелось мультиплексировать.
Префикс также самостоятельная команда на 1 цикл, чтоб не усложнять.
Но если мы сделаем 4-бит АЛУ с мультиплексированием, никакой префикс
будет нафиг не нужен.


06 Jul 2011 01:46
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Я вот думаю - а не погонять ли нам всё это на какой-либо модели?
Чтоб систему команд утрясти окончательно и не подпиливать её под
разработанное железо, а скорее - наоборот?
Я, пожалуй, попробую на чём-нибуть...


06 Jul 2011 03:24
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
У мипсов кстати есть фишка: все команды за 1 такт, а переходы - за два. Но тут применен интересный ход: пока команда перехода пережовывается внутри процессора (в том числе и условный), процессор хавает и исполняет следующую команду за переходом. Т.е., конструкция типо:
Code:
RAM:ACF00048                 jr      $t4
RAM:ACF0004C                 nop

или так:
Code:
RAM:ACF000EC                 jal     sub_ACF12AF0
RAM:ACF000F0                 li      $a0, 3

или даже так:
Code:
RAM:ACF12B08                 jr      $ra
RAM:ACF12B0C                 sb      $v1, 0xB0001044

Все команды после джампов выполнятся до него. Джамп фетчится, пока обрабатывается процессор исполняет еще одну команду после джампа. Если там ничего не надо - ставится NOP. Может так сделать?


06 Jul 2011 05:14
Profile
Devil

Joined: 26 May 2003 06:57
Posts: 863
Reply with quote
Post 
Процессоры с pipeline-ом на порядок сложнее. У мипсов это побочный эффект конвейера, и чтобы не усложнять процессор ещё больше, они просто "задокументировали" эту фичу, как мне кажется.

_________________
Страничка эмулятора наших компьютеров
http://bashkiria-2m.narod.ru/


06 Jul 2011 06:21
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Читаю сейчас техническое описание на 4-bit Wang 2200
http://www.nedopc.org/forum/viewtopic.php?t=9602
благо оно весьма подробное и объёмное...
http://www.wang2200.org/

Так вот даётся следующая оценка производительности этой 4-битной конструкции:
Quote:
И хотя АЛУ всего лишь 4-битное, производительность этой системы на частоте 10 MHz примерно эквивалентна производительности ЦПУ i8080 на частоте 2 MHz, вследствие того, что микрокоманды зачастую выполняют больше чем одну операцию. 1.6 мкс (16 циклов на частоте 10 MHz) время цикла ЦПУ 2200 грубо эквивалентны 1.5 ÷ 2 мкс (3 или 4 цикла на частоте 2 MHz) доступа к памяти ЦПУ i8080.


Интересно, что многие технические решения Wang 2200 просто один к одному встречаются в i4004.

Всвязи с этим вспомнилась одна непопулярная оценка "свершений" отцов Интел (не дословно) - да они ничего сильно выдающегся не сделали, разве что разместили на одном кристалле то, что многие делали на дискретной логике...


Last edited by Lavr on 17 Jul 2011 02:50, edited 1 time in total.



16 Jul 2011 04:36
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22589
Location: Silicon Valley
Reply with quote
Post 
b2m wrote:
Процессоры с pipeline-ом на порядок сложнее. У мипсов это побочный эффект конвейера, и чтобы не усложнять процессор ещё больше, они просто "задокументировали" эту фичу, как мне кажется.


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

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


16 Jul 2011 07:30
Profile WWW
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
Мне кажется, при переходе от 4 бит к 8 битам количество переходит в качество. По простоте 4-битный процессор выигрывает у 8-битного гораздо меньше, чем проигрывает в функциональности. Видимо, не зря даже на заре компьютерной техники 4-битные процы не получили широкого распространения. Может, обратим наш взор на 8 бит?


17 Jul 2011 08:37
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
VituZz wrote:
Видимо, не зря даже на заре компьютерной техники 4-битные процы не получили широкого распространения. Может, обратим наш взор на 8 бит?

Да вобщем-то всё мы разжевали, непонятных моментов практически нет...
Но нет и какой-то изюминки конструкции... :(

Когда я делал "Специалист" - меня гнала мысль - неужели ЭТО способно
быть копьютером
? :o

Когда я моделировал 4 bit CPU от Galactic Electronics, мне было
феноменально интересно - неужто ЭТО способно быть хоть дерьмовым,
но процессором
- и смогу ли я его сделать в Electronics Workbench? :o

Здесь, хотя мы всё и обсудили, я пока не вижу красивого решения ни
программного, ни аппаратного...
Красивое решение, на мой взгляд, это - типа фокуса, типа авантюры,
типа эффектного щелчка пальцами - и "из шляпы вылез кролик". :lol:

А насчёт того, что "4-битные процы не получили широкого распространения",
я вынужден возразить - получили, только то время давно ушло.
А на 4-битном i4004 Гэрри Киллдал написал свой язык PL/M, на котором он
СР/М потом выточил.


17 Jul 2011 09:29
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
VituZz wrote:
Может, обратим наш взор на 8 бит?

Это действительно упрощает некоторые решения, но объём конструкции становится, на мой взгляд, совсем неразумным.
Если уж "Микро-80" все называют монстром и динозавром, то делать нового монстра совсем некавайно. :(

Надо как-то симпатично упаковаться в первоначальную идею - сделать простой схемотехнически и быстрый процессор.
А функциональность взвалить на программное обеспечение.

Пусть он хотя бы на 10 МГц молотит программу, аналогично i8080 на 2 МГц, но это будет представлять интерес
при размере не более 1 большой макетки.

В противном случае мы повторим какой-то из известных "гробов".


17 Jul 2011 13:44
Profile
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
Lavr wrote:
Надо как-то симпатично упаковаться в первоначальную идею - сделать простой схемотехнически и быстрый процессор.
А функциональность взвалить на программное обеспечение.

Так в том-то и дело, что схемотехнически простой процессор не позволит использовать большое программное обеспечение. В моём понимании схемотехнически простой 4-битный процессор имеет 4-битный аккумулятор и 8-битный регистр счётчика команд, а также 16 инструкций (4 бита на КОп). Любое усложнение такой схемы (добавление префиксов команд, большое число регистров, введение стека) уже приводит к непропорциональному усложнению схемы, когда, добавив "ещё чуть-чуть", можно получить 8-разрядный проц со всеми вытекающими преимуществами.
Поэтому мне и кажутся интересными лишь два варианта: простой в моём понимании 4-разрядный проц или полноценный 8-разрядный.


18 Jul 2011 10:13
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 255 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10 ... 17  Next

Who is online

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