nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 05:35



Reply to topic  [ 28 posts ]  Go to page 1, 2  Next
Обзор 4-bit CPU 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
4-bit Processor

Смотрел вот тут ещё одну 4-битную конструкцию... Может быть мы её
где-либо и упоминали: Viktor's Amazing 4-bit Processor
http://www.vttoth.com/vicproc.htm

Image

Она не то чтобы шибко новая, но вызывает у меня вот какой вопрос:
А на что в принципе способы 4-битные процессоры? Каковы их возможности?

Я откуда-то, возможно из ВУЗа, помню такой постулат: 4-битные данные
позволяют описать 2^4=16 независимых символов, что позволяет соорудить
максимум - калькулятор.
8-битные данные - это уже 2^8=256 независимых символов, что даёт нам
уже компьютер...

Но вот этот автор - Viktor - он, по его признанию, чистый программёр, и
смотрю я, там сложные вещи он делает на своей 4-битной поделке, вплоть до
вычислений с плавающей точкой.

Да тут ещё Shaos и Mac Buster меня смущать начали. Первый - тем что Z80
по сути - четырёхразрядный процессор (http://www.nedopc.org/forum/viewtopic.php?t=9215)
второй - тем, что многие микропроцессоры - как раз 4-разрядные.
(http://www.nedopc.org/forum/viewtopic.php?t=9459)

Ну если всё действительно так, может быть есть типичный пример 4-битного
компьютера и 4-разрядный софт где-то должен заваляться в пыли?
Или я неправ и утрирую?


4-bit Demo Computer
http://www.randelshofer.ch/fhw/gri/holzi.html

Image
Quote:
This demo computer simulates the hardware components of a simple 4-bit computer. It demonstrates how the hardware components (CPU, ROM, RAM, Bus, IO-Chips) interact when a computer executes a program.The demo computer is programmable using machine code.


Download democomp.zip


Last edited by Lavr on 30 Dec 2011 17:54, edited 4 times in total.



13 Jun 2011 11:30
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
4 bit Computer Design

АФФтор схемы S.M.Mahbubul Alam не придумал ничего лучше, чем попилить схему
на кусочки и не сказать ни слова о целях проекта... :-?

http://sites.google.com/site/smmahbub/4-bit-computer-design


13 Jun 2011 11:38
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
UPD75P328GC (NEC)

4 BIT SINGLE CHIP MICRO COMPUTER WITH LCD CONTROLLER/ DRIVER and A/D CONVERTER

http://www.htmldatasheet.ru/pdf/nec/upd75p328gc.pdf


13 Jun 2011 12:01
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
4-bit CPU

Quote:
This project is a design of 4-bit educational processor. The objective of this project is to develop a simple processor with TTL logic for educational purpose. This processor will be used as a learning tool for Computer System Architecture class. To complete this project, the scope of study will cover the computer system architecture and Central Processing Unit (CPU). The CPU datapath design and hardware circuit design is based on the MIPS single-cycle processor.

https://sites.google.com/site/muzabyte/home/computer-system-architecture/project/4-bit-cpu

Image
CPU HARDWARE FABRICATION

Image
FULL SYSTEM EDUCATIONAL PROCESSOR

https://sites.google.com/site/muzabyte/home/computer-system-architecture/project/4-bit-cpu/gallery


13 Jun 2011 13:47
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Подведу некоторые итоги брутфорсного обзора 4-битных процессоров (компьютеров).
http://www.nedopc.org/forum/viewtopic.php?t=9467
http://www.nedopc.org/forum/viewtopic.php?t=9459
http://www.nedopc.org/forum/viewtopic.php?t=9576

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

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

Развитого ПО я практически не обнаружил, только к DUO 128 Elite
написан компилятор на Java, и есть кросс-средство отладки - эмулятор.
Впрочем, такой софт могут написать многие из нас...

4-битные калькуляторы имеют встроенный ВАСИК, но это зашитая в калк
вещь в себе.

Удручают способы ввода программ - ПЕРЕКЛЮЧАТЕЛИ! Даже до пульта "ЮТ-88"
прогресс не дошел. Про ввод с внешних носителей (хотя бы с магнитофона
или перфоленты, если таковые ещё живы) речи практически не идёт...

Вот такой результат обзора конструкций, возможностей и софта 4-битных
систем, доступных в сети.
Я подозреваю, 4-битный софт может быть у древних машин, но мне они не
попались.

4-битные калькуляторы слегка опровергли мою мысль о том, что 4-битные данные
позволяют описать 2^4=16 независимых символов.

На экране CASIO PB-100 видны отображаемые буквы...
Image

Если кто-либо имеет что-то добавить по существу, особенно по софту,
буду весьма рад.


14 Jun 2011 03:33
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Правда вот тут попался мне 4-битный процессор Saturn от HP:
http://www.hpmuseum.org/saturn.htm
http://en.wikipedia.org/wiki/HP_Saturn_(microprocessor)
Его описание наоборот подтверждает мою мысль о калькуляторах:
Quote:
The Saturn has a 4 bit (nibble) external word size. Using a small wordsize keeps the number of external signal paths low, which allows denser packaging. Also a nibble is the size of a single digit in the Binary Coded Decimal (BCD) numeric format that HP handhelds use. Thus nibbles are both convenient and efficient for a calculator.


На Saturn выполнен, в частности, вот такой "калькулятор" HP-71:


И этот калькулятор развитым ПО не обижен...
http://www.hpmuseum.org/hp71.htm

Code:
At the time of introduction, the following pacs were available:
Finance Forth/Assembler
Circuit Analysis Data acquisition
Surveying Data communications
Text Editor FORTH/Assembler
Curve Fitting AMPI Statistics
Mathematics HP-41/HP-71 Translator   


Last edited by Lavr on 14 Jun 2011 06:12, edited 1 time in total.



14 Jun 2011 04:05
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Gakken GMC-4

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

Image

Процессор GMC-4 позиционируется сугубо как учебный:
Quote:
The GMC-4 is the only 4-bit microcomputer to be mass-produced in the last 30 years. It was produced by Gakken, a Japanese publisher - as a mook. The mook comprised a magazine attached to a box containing the components required to assemble the computer.
The purpose of the GMC-4 is education. It provides an accessible way to learn about assembly language and the principles of computing.

http://en.wikipedia.org/wiki/GMC-4

Для него наработаны привычные кросс-средства разработки, такие как
Ассемблер
http://musashinodenpa.com/misc/GMC4/
Code:
00:   8 0    TIA 0       # Constant 0
02:   A E    TIY E       # Address of 'sum' (offset 14)
04:   4      AM          # Operator '='
05:   1      AO          # call setNumberLed() OOTIA
06:   LABEL1:            # infinite loop start
06:   0      KA
07:   F 1 8  JUMP LABEL0 # OOCV
0A:   A F    TIY F       # Address of 'key' (offset 15)
0C:   4      AM          #  OORF
0D:   E B    CAL SUND    # call beep()
0F:   A E    TIY E       # Address of 'sum' (offset 14) OOMA
11:   6      M+          # Operator '+='
12:   4      AM
13:   1      AO          # call setNumberLed() OOMA
14:   8 4    TIA 4       # Constant 4 OORF
16:   E C    CAL TIMR    # call sleep() OORF
18:   LABEL0:            # if end
18:   F 0 6  JUMP LABEL1 # infinite loop jump

gmc4cc (C Compiler for GMC-4)
http://terus.jp/engineering/gmc4cc/
Code:
/*
 * sample.c
 * test program for gmc-4 and gmc4cc
 *
 */

void main(void) {
   int key, sum;

   sum = 0;
   setNumberLed(0);

   while(1) {
      if(inputKey(&key)) {
         beep(key);
         sum = sum + key;
         setNumberLed(sum);
         sleep(4);
      }
   }
}

G4CBASIC (GMC-4 BASIC)
http://softyasu.net/g4cbasic.html
Code:
REM *************************************************
REM GMC-4(FX)マイコン専用クロスコンパイラちびBASIC
REM サンプルコード sample.bas
REM コンパイルの仕方
REM G4CBASIC sample.bas
REM *************************************************

REM * 無限ループ
DO
 REM * LEDを0から6まで順に点灯。
 FOR A=0 TO 6
  REM * LED点灯
  LED_ON(A)
  REM * 0.1秒待つ。
  TIMER(8)
  REM * LED消灯
  LED_OFF(A)
 NEXT
UNTIL FALSE


Жалко, что это всё даже не на английском :( - интересно бы поковырять исходничек...

PS. Складывается впечатление, что если МП-устройство массовое и популярное,
пусть даже и не очень развитое, то рано или поздно софт для него
в той или иной мере со временем случится...

Image

PPS. А кто знает - есть ли "японская" кодовая таблица под ДОС? ВАСИК
ДОС-овский, а шрифты видны азиатские иероглифические...



http://softyasu.net/pic/g4cbasic.png

PPPS. Нет... файл-аналайзер определил G4CBASIC как консольное приложение
Венды, написанное на Визуал С++. Но тем не менее в басиковских прогах
азиатчина вряд ли написана в юникоде:

Code:
REM *************************************************
REM GMC-4(FX)ƒ}ƒCƒRƒ“к—pƒNƒƒXƒRƒ“ƒpƒCƒ‰‚¿‚СBASIC
REM ƒTƒ“ƒvƒ‹ƒR[ƒh sample.bas
REM ƒRƒ“ƒpƒCƒ‹‚МŽd•ы
REM G4CBASIC sample.bas
REM *************************************************

REM * –³ŒАƒ‹[ƒv
DO
  REM * ‚k‚d‚c‚р‚O‚©‚з‚U‚Ь‚Е‡‚Й“_“”B
  FOR A=0 TO 6
    REM * LED“_“”
    LED_ON(A)
    REM * 0.1•b‘Т‚ВB
    TIMER(8)
    REM * LEDБ“”
    LED_OFF(A)
  NEXT
UNTIL FALSE


PS. Поправил картинки...


Last edited by Lavr on 16 Jan 2014 12:11, edited 5 times in total.



14 Jun 2011 04:43
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Софт для 4-битных CPU

Складывается у меня следующее впечатление по софту для 4-битных компьютеров:
В 4-х разрядах имеет смысл работать в основном с системным софтом и
задачами управления...
На ассемблере для быстрого 4-битного процессора пишется по сути некая
оболочка или виртуальная машина, позволяющая работать с более крупными
информационными единицами, нежели ниббл.

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

Далее всё программируется в этих удобных терминах более высокого уровня.
В ВАСИКЕ - в его токенах, в иных системах - в байтах или словах.

По сути то, что мы решили сделать в АЛУ на NAND - и есть на мой взгляд
возможная реализация такого подхода: там мы на быстрый RISC с неудобной
нам системой команд собитаемся навесить программную оболочку виртуальной
машины, интерпретирующей код i8080.

Так же, мне кажется, можно поступить и в случае 4-битного процессора.


14 Jun 2011 05:31
Profile
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Reply with quote
Post 
А что мешает сделать 5 или 6 битный процессор? Если он все равно будет внутри крутиться. Можно же найти компромисс между разрядностью (количество полезных опкодов) и сложностью, ведь так?


14 Jun 2011 07:37
Profile
Supreme God
User avatar

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

Ничто не мешает в принципе. DUO 128 Elite позиционируют как 4-битный,
но по описанию он юзает 5-й бит как признак. 5 бит они называют "nyckle".
Quote:
(all opcodes and arguments are 5 bits wide. 5 bits comprise a "nyckle".
Each program may contain 256 nyckles, since program addresses can only
contain 8 bits.)
ARCHITECTURE DOCUMENTATION
http://web.mac.com/teisenmann/iWeb/elitepage/architecture.html

С другой стороны в Gakken GMC-4 используют префиксный механизм и
команд больше, чем 16.
Что более эффективно - вопрос сложный, но будем обсуждать...

PS. Но всё-равно нам, какова разрядность, если мы делаем процессор сами
в интегральном исполнении. А если из дискретных элементов, то кратность
4-м существенна. Память - 4х... или 8х... В корпусе чаще всего 4 вентиля.
К примеру, прототип, взятый мной, 4-разрядный, но в нем ОЗУ и ПЗУ просто
наполовину не задействовано. Поэтому память программ там легко сделать
16-битной. А всё остальное - уширить с 4-х до 8-ми.
Вопрос в том, что мне интересно сейчас выяснить эффективнось 4-битных
вариантов.
В этом плане Gakken GMC-4 - сделан интереснее...


Last edited by Lavr on 14 Jun 2011 08:53, edited 1 time in total.



14 Jun 2011 08:02
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
Post 
Lavr wrote:
Shaos wrote:
А процессор можно хоть однобитным сделать, но это не помешает ему складывать 32-битные данные и работать с плавающей точкой, только ооооочень медленно :)

Чем-то напоминает песню В.Цоя:"Все говорят, что мы в месте, все говорят,
но не многие знают в каком...
"

И ты мне уже здась говорил об однобитном процессоре,
http://www.nedopc.org/forum/viewtopic.php?t=9213
но только в данный момент я интересуюсь конкретным вопросом с конкретной
целью.
Если есть развитое 4-битное ПО, может расточить под него свой проц?
Примеры конкретные есть?


Там я говорил о процессоре с одной инструкцией, а тут - про однобитный процессор :)

Кстати 4-битные процессоры до сих пор выпускаются и массово используются:
http://www.eetimes.com/discussion/other ... Bits-Dead-

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


14 Jun 2011 08:10
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Shaos wrote:
Там я говорил о процессоре с одной инструкцией, а тут - про однобитный процессор :)
Кстати 4-битные процессоры до сих пор выпускаются и массово используются:
http://www.eetimes.com/discussion/other ... Bits-Dead-

Мда... ну ладно... А по существу это нам что даёт?
Я тоже могу сказать фигню типа - там 4-битный компьютер я представил
как новый, здесь обсудил возможности его и других...

Я вроде как и не сказал, что 4-битные процессоры не выпускаются,
кроме рассмотренных, я могу дать ссылки на каталоги таких процессоров,
но это никак не приблизит нас к сути - как их использовать в компьютерах
общего назначения и где надыбать развитый софт для них...
Lavr wrote:
...в данный момент я интересуюсь конкретным вопросом с конкретной целью.
Если есть развитое 4-битное ПО, может расточить под него свой проц?
Примеры конкретные есть?


14 Jun 2011 08:23
Profile
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
А какое, собственно, ПО необходимо? Монитор? Ассемблер? Компилятор C? ОС? Какое может быть предназначение такого процессора, помимо познавательного?


14 Jun 2011 09:47
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Post 
VituZz wrote:
А какое, собственно, ПО необходимо? Монитор? Ассемблер? Компилятор C? ОС? Какое может быть предназначение такого процессора, помимо познавательного?

Да - перечисленное было бы неплохим набором...

А что касается познавательных целей, то и обсуждаемый нами здесь i8080
кроме учебных целей мало на что пригоден в современной электронике. Да
и из учебного процесса постепенно исчезает. Как исчезли и секционированные
процессорные БИС.

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


14 Jun 2011 10:52
Profile
God
User avatar

Joined: 13 Nov 2010 04:06
Posts: 1345
Reply with quote
Post 
Ну уж если 4-битные где-то ещё живут, то ВМ80 ещё живут вовсю. У нас на работе, по крайней мере, ещё шуршат как молодые! :)


14 Jun 2011 12:16
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 28 posts ]  Go to page 1, 2  Next

Who is online

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