- 13
- 31 877
Relaiscomputer
Приєднався 23 жов 2023
This channel documents the design and the build of a 16 bit relay-computer
Relay computer multiplies the numbers 13 and 18...
In this video, you will see a relay computer multiplying the numbers 13 and 18. The following program is processed by the relay system for this operation. For more information, visit www.relaiscomputer.at
The program stored in the Arduino, which serves as memory for the relay computer:
0: NOP // no Operation...do Nothing
1: LDA 118 // Load value 118 into the accumulator
3: STAM M(116) // Store accumulator value into memory address 116
5: LDAM M(110) // Load value stored in memory address 110 into the accumulator
7: STAI M(M(116)) // Store the value of the accumulator into the memory address whose address is in memory address 116...indirect addressing
9: LDAM M(116)
11: ADD 1 // Add 1 to the accumulator
13: STAM M(116)
15: LDAM M(111)
17: STAI M(M(116))
19: LDAM M(110)
21: SHR // accumulator shift right
23: STAM M(110)
25: LDAM M(111)
27: SHL // accumulator shift left
29: STAM M(111)
31: LDAM M(116)
33: ADD 1
35: STAM M(116)
37: LDAM M(110)
39: STAI M(M(116))
41: LDAM M(116)
43: ADD 1
45: STAM M(116)
47: LDAM (111)
49: STAI M(M(116))
51: LDAM M(110)
53: ADD 0xFFFF // subtract 1 from the accumulator
55: BZ 59 // jump to 59 if accumulator is 0
57: BA 19 // jump to 19
59: LDA 118
61: STAM M(116)
63: LDAI M(M(116)) // Load the value stored in the memory address whose address is in memory address 116 into the accumulator...indirect addressing
65: STAM M(114)
67: LDAM M(116)
69: ADD 1
71: STAM M(116)
73: LDAM M(114)
75: BE 87 // jump to 87 if accumulator is even
77: LDAI M(M(116))
79: STAM M(84)
81: LDAM M(113)
83: ADD M(84) // indirect using M(M(116)) by command 77
85: STAM M(113)
87: LDAM M(116)
89: ADD 1
91: STAM M(116)
93: LDAM M(114)
95: ADD 0xFFFF
97: BZ 101
99: BA 63
101: LDA 113 // last command, load the result from M(113) into the accumulator
110: 18 multiplicand
111: 13 multiplier
The program stored in the Arduino, which serves as memory for the relay computer:
0: NOP // no Operation...do Nothing
1: LDA 118 // Load value 118 into the accumulator
3: STAM M(116) // Store accumulator value into memory address 116
5: LDAM M(110) // Load value stored in memory address 110 into the accumulator
7: STAI M(M(116)) // Store the value of the accumulator into the memory address whose address is in memory address 116...indirect addressing
9: LDAM M(116)
11: ADD 1 // Add 1 to the accumulator
13: STAM M(116)
15: LDAM M(111)
17: STAI M(M(116))
19: LDAM M(110)
21: SHR // accumulator shift right
23: STAM M(110)
25: LDAM M(111)
27: SHL // accumulator shift left
29: STAM M(111)
31: LDAM M(116)
33: ADD 1
35: STAM M(116)
37: LDAM M(110)
39: STAI M(M(116))
41: LDAM M(116)
43: ADD 1
45: STAM M(116)
47: LDAM (111)
49: STAI M(M(116))
51: LDAM M(110)
53: ADD 0xFFFF // subtract 1 from the accumulator
55: BZ 59 // jump to 59 if accumulator is 0
57: BA 19 // jump to 19
59: LDA 118
61: STAM M(116)
63: LDAI M(M(116)) // Load the value stored in the memory address whose address is in memory address 116 into the accumulator...indirect addressing
65: STAM M(114)
67: LDAM M(116)
69: ADD 1
71: STAM M(116)
73: LDAM M(114)
75: BE 87 // jump to 87 if accumulator is even
77: LDAI M(M(116))
79: STAM M(84)
81: LDAM M(113)
83: ADD M(84) // indirect using M(M(116)) by command 77
85: STAM M(113)
87: LDAM M(116)
89: ADD 1
91: STAM M(116)
93: LDAM M(114)
95: ADD 0xFFFF
97: BZ 101
99: BA 63
101: LDA 113 // last command, load the result from M(113) into the accumulator
110: 18 multiplicand
111: 13 multiplier
Переглядів: 989
Відео
Relay CPU: the first loop
Переглядів 198Місяць тому
In this video you see the first program running on a relay CPU which is using a loop to calculate the sum of values
Relay computer is adding the numbers from 1 to 100
Переглядів 1732 місяці тому
The ALU of the relay CPU is expanded to a 16 bit ALU...so it is now possible to add all numbers from 1 to 100. The program is a good test for the stability of the system and needs 29 seconds.
Relay CPU is storing data into the memory
Переглядів 2704 місяці тому
The self designed relay CPU is now able to store information into the connected arduino which is playing the memory for the CPU
Relay CPU is adding the numbers from 1 to 10
Переглядів 2,4 тис.5 місяців тому
A self designed relay computer is now adding the numbers from 1 to 10 in less than 3 seconds
Relay CPU running with high speed
Переглядів 3 тис.8 місяців тому
In this video you see the running relay computer after I fixed the problems which caused the crash in the last video and improved the stability.
Relay CPU Crash
Переглядів 2,5 тис.8 місяців тому
This Video shows a crash of the relay CPU. The reason for the crash is an illegal opcode loaded into the instruction register. And the reason for this was a program error in the arduino software of the memory module.
Relay computer control unit: program counter is increasing...
Переглядів 26411 місяців тому
The new 16 bit relay computer is in progress. Now the program counter is increasing while the control unit is working on a NOP command and a LDA X command in an loop.
Relay computer control unit
Переглядів 266Рік тому
In the second video of the control unit of the relay computer system I show the different parts of the system. The main difference to the first video of the channel is that now two commands are running alternately.
Cool!
im gonna use my handheld computer to do 1 trillion calculations to display this video about 1 calculation
That is awesome. I love relays and do some relay logic reconstructions. But nothing of this volume and complexity. Do you have a documentation for this project?
Yes, you find a lot of information in www.relaiscomputer.at, for example a link to the project-log, some design information and a 95% valid circuit diagram.
I’m not very familiar with relays. How is addition done with them? Do you use Half Adders, and how are they constructed? I assume the ‘AND’ function is achieved by adding voltage, but how is the ‘XOR’ function implemented?
Hello, for the addition I use half adders in the same way than classic logic using and/or/not. The "and" function is realized using a relay (one input is realized by the coil, the second input is one of the input pins of the relay switch), the "or" function is realized by diodes (yes, you can realize the or using relays, but diodes are cheaper and easier. Not perfect, I know, but here I made a compromise). And "xor" is a little circuit using two relays. You can download the complete circuit diagram of the system from the homepage.
You built a computer with relays? That's so cool! Are you going to post an explanation of how it works?
Hello, you find more information about the system in www.relaiscomputer.at
I can help with your cpu
Replay faster Than CPU
How long does it take to calculate a bitcoin? 😊 Great video! Great machine!
Cool!
spaghetti
Mmmmm, clicky
How much relays did you use in this computer and how much did it cost ?
You have build a really cool beatbox. Congratulation
I absolutely love this! I'm always so impressed with people who build computers like this.
Absolutely amazing! I hope to build on of these someday, for now I’m gonna build a 6502 based computer.
This is awesome I'm just starting to learn on arduino and orange pi hope one day I'll have the time and patience to make an adder with relays the clicking of the relays sounds phenomenal ❤
Be careful with these hard paper circuit boards. I have exactly the same and mine got a bit of moisture and completely warped :(
This is extremely cool, man.
Keep adding to it! Never stop!
I bet that makes some interesting noise while calculating, too?
Сервер дневник ру
Imagine relay computer operating at 64 bit, the sound will be amazing
People don't get it, yes! you can calculate that even with your phone, but the fun is actually building the thing and learning how it works in-depth. If we were to lost all of technology, I think I'd want to know how to build it all again... Useful information
Um.. Lost all of technology also means everybody who knows the tech are gone, including ourselves
Of course, a projects like this lead to the question: why? It is simple model making. It is like an RC car, an RC plane or a model railway system. But what is important, it is (when the system is finished) a 100% programable computer. Only a little bit SLOW...
it sounds like some kind of truck idle🤣
Consuming 50w for a calculation that a modern 1$ credit card size calculator can do in few mili seconds while consuming pico watts of power!😊
Does your crappy and boring modern calculator make these nice clicking sounds?
Congratulations
Legal.
I sure hope so...
Speeeedddd, I love it!!
Noice
Like, this is an excellent skill to have, if you get transported to Greece 3000 years ago. I am glad you are so well prepared for that eventuality.
Stunning Project ❤
Konrad Zuse lässt grüßen
0:32 why not simply debounce it?
You are absolut right, debouncing the relay signals would be a good idea...and will be done with the most important signals in the system. I wanted to know what speed is possible without any debouncing at all.
@@Relaiscomputer-atSounds gooj my duge, keep it up!
@@Relaiscomputer-at do you intend to use transient suppression circuits with diodes or is there any self imposed restrictions about this ? What about passive RC high pass filters ?
I measured the relays using an osci, just to check how a chain of relays (one relay is switching the next one) behaves. You find the pictures on the project homepage. And the result was very interesting: the bouncing of the relays is not a very big problem. The old clock 0 relay was bouncing much more than all the other relays I checked, this caused some problems. And no, there are no self imposed restrictions. Other relay computer teams are avoiding diodes for example, I decided to use diodes. And I realy admire if somebody tries to build a memory only using relays (and diodes), but because of the needed space (and time) I decided to use an Arduino for the system memory.
@@Relaiscomputer-at I'll check out your findings, I was always curious about how critical these transients would be in practice, specially in relatively low voltage circuits.
and its running a simple benchmark. it should be able to do math and stuff various demonstrations of work. what does someone need to get boinc running?
Servus. I love how easy it is to hear the Austrian accents of someone speaking english. Great project you got going there
you mean tech support accent?
Pure awesomeness
This is awesome! Love those LA2016 logic analyzers too, they are so good.
I confess I was expecting the crash to be due to relay failure or a timing skew or something else mechanical in nature. Impressive that the CPU is apparently more stable than the memory "firmware"!
Can you train him playing jingle bells?
I would like to have this as a ringtone.
That sounds interesting and complicated. Seems you are a real pro. Guess you have a high educated and well paid job. 👍
In der Alu ist ein Überlauf beim nop Befehl beim Shift nach links
bisschen viele Kabel❤😮