To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/Inkbox/ . You’ll also get 20% off an annual premium subscription.
@zealotoffire38339 күн бұрын
With clock you just had to do clock = 1 - clock, if it was 0 1-0 is 1, i it was 1 1-1 is 0
@InkboxSoftware9 күн бұрын
In Excel, 0-1 is -1, but I could do clock = ABS(Clock - 1)
@zealotoffire38339 күн бұрын
@@InkboxSoftware you would never get into a state of 0-1
@zealotoffire38339 күн бұрын
@@InkboxSoftware read my comment it says clock = 1 - clock
@InkboxSoftware9 күн бұрын
Woops, sorry read it backwards. Yeah that would be a good optimization.
@TermiTech20119 күн бұрын
Interviewer : so how good are you with excel ? This mf : YES
@stifskere72209 күн бұрын
doubt he ever needs a job where you need to use excel
@TermiTech20119 күн бұрын
@stifskere7220 this mf works in AMD ryzen cpu factory lol
@comfort-dose45479 күн бұрын
This mf: "tf you mean? Excel is my BITCH"
@ccricers9 күн бұрын
Software engineer students: Why am I getting job no offers? What is their standard? This KZbin video:
@SB-qm5wg8 күн бұрын
LOL "I wrote my own"
@KvapuJanjalia10 күн бұрын
Next video: "I built a CPU in Minecraft running on my RISC CPU in Excel"
@brawldude26569 күн бұрын
Like it runs for 10k hours tp get 3+5 correct 😂😂
@ShaheenGhiassy9 күн бұрын
… then have it run Doom
@eziitis89 күн бұрын
@@ShaheenGhiassy Run doom on everything. Always!
@pacomatic98339 күн бұрын
Done with an x86 to RISC interpreter running Linux Mint.
@Halo2Veteran10 күн бұрын
Now make it run DOOM
@blockshift75810 күн бұрын
Calm down were getting there at some point
@robertbothamley975510 күн бұрын
you beat me to it
@Hulfok10 күн бұрын
"Doom compiled to run in excel-spreadsheet" sounds interesting!
@parthasarathyvenkatadri9 күн бұрын
He is going to lose his mind 😂
@the_merahm9 күн бұрын
57 seconds ago?!?! @@parthasarathyvenkatadri
@kala-telo10 күн бұрын
Honestly as someone who spent last year studying different CPUs and ISAs, for me it looks more like old CISC rather than RISC. From my experience, it's normal for RISC to have lots of register (usually between 16 and 32), no direct stack or memory manipulation, only with load/store. Also RISC CPUs (again from my experience) literally always have fixed size instructions. So it looks more like MISC ISA. Still very cool and educational project though!
@direct3d10 күн бұрын
just to let you know, there are actually RISC architectures that have variable instruction lengths, like RISC-V, ARC and blackfin! it's not really a true requirement to label something as RISC or not, just a design choice that happens to work out well for a lot of RISC architectures nonetheless. but i agree, the lots of registers is very traditionally RISC
@kala-telo9 күн бұрын
@@direct3d I forgot about compressed extension, even though I've specifically deeply looked into RISC-V 😅 If that's what you meant. Still, in my opinion, compressed ISA has same size no matter what's instruction it is, while this Excel ISA, and CISC instructions can have differently sized instruction depending on argument size. Also I don't really know about strict definitions, my comments are based on how I felt rather than formal rules.
@GRAYgauss9 күн бұрын
@@direct3d Personally, it's an old intuition from building toy CPUs, but I practically categorize CISC and RISC based on fabrication cost & complexity. VLA greatly complicates control hardware, for example in branch prediction and cache management given it necessitates decoding to determine instruction bounds. It's my intuition that RISC generally simplifies the core pipeline as much as possible, and you see that reflected in chips costs. Looking up RISC-V's C extension, feeling the same as kala-telo, the manual itself says implementers can simply expand compressed instructions to full length form before execution - which is exactly what I would expect to keep hardware as simple as possible. (Also found some FOSS RISC impls with expansion logic) Having many registers to make up for the otherwise simplified core ISA makes perfect sense to me, it's less of a given spec and more of a natural requirement.
@GRAYgauss9 күн бұрын
Wholeheartedly agree with your intuition, but it's also just my gut.
@direct3d9 күн бұрын
@@GRAYgauss yup, love the way you explained this also! deeply agree on your point with simplifying the pipeline -> cost reduction, i totally see what you're getting at. and yup with the RISC-V extension, it makes perfect sense to me as well, it's fun to think about how much thought was put into such a piece of the ISA anyway. i think ARM goes a bit crazy with the extensions as well, to the point that i've questioned whether it also shall still fall under the RISC umbrella. haha. (and since i haven't said so already, amazing video and awesome creation inkbox!!)
@dzxtricks7 күн бұрын
Its like jumping from 16nm to 4nm, such generational leap to have 15x faster CPU! Nice job
@TheSquareSquared10 күн бұрын
“It’s even funnier the second time!”
@AndrewLobley8 күн бұрын
As someone who has designed a microprocessor with a Super-RISC instruction set, while it's easier to design, when programming in assembly you regret your decisions sorely.
@InkboxSoftware8 күн бұрын
I'm glad I found someone who understands me
@Sirvierl0ffel3 күн бұрын
@@InkboxSoftware did you thing about writing your own compiler?
@bronkolie9 күн бұрын
I've noticed several youtubers making very simple computers tend to still have ALU flags. This is actually not even necessary! You can perform simple comparison operations instead. For example, in RISC-V you have branch instructions for equals, not equals, etc., and you have an ALU operation to set a register to the boolean value of a less than comparison. You can actually make things like overflow checking using these simple instructions. Keep in mind that there is actually only one opcode for ALU and one for branching, all the rest is done via a few extra bits. There are even a bunch of convenience pseudoinstructions like SEQZ or BEQZ (to check if a register is zero for example), so that it still feels as if you have all the comparison operators
@thomasrosebrough9062Күн бұрын
Interesting that your "better" CPU is technically wayyy less powerful, but its much cleaner and faster, making it more effective. Goes to show how "better" in the regular CPU market is also more complex than just "has bigger registers".
@Maxjoker9810 күн бұрын
I have an interesting ultra-reduced instruction set, the MCPU instruction set! I've built in in LogiSim, Digital, and recently in Minecraft. Fundamentally, it has only 2 instruction types, and 3 fundamental instructions: (conditional) move(MOV/CMOV) and shift/load immediate value(IMM). It's basically a simple TTA-like design, in the sense that the program counter is just like every other register on the bus, so is the current RAM address, the ALU, and the immediate register. It requires no general-purpose registers(but has space for up to 3 in it's instruction set). One cool feature of my design is that this 8-bit fixed-size instruction set works with any bus-width, even with the same program, by using the IMM instruction to shift in a larger immediate value 7 bits at a time. It's convenient to program as well, the assembler still feels familiar and not like a turing tarpit! The complete instruction set is so simple, it fits in the remainder of this comment: If the highest bit is set, the instruction is an IMM instruction. Remaining bytes are loaded into SRG_IMM register on first instruction, or shifted in on successive instructions. Otherwise, if the second highest bit is set, the instruction is a conditional move(CMOV) and only runs if the ALU flag output is set, if not set it's a regular move(MOV) and always runs. Remaining bits are a 3-bit source and a 3-bit target. Sources: PC, ADDR, RAM, IMM, ALU, I, J, K. Targets: PC, ADDR, RAM, ALU_A, ALU_B, I, J, K. I,J,K are optional general-purpose registers. ALU_A and ALU_B are ALU registers(can only be read as ALU result). IMM is the last decoded immediate value, RAM reads/writes at address provided by ADDR. (It's so simple, I actually can decode/encode/run instructions in my head :P) I would really like any feedback, I have little experience and no formal training :P
@DoDoBoy-nh1jt9 күн бұрын
I dont know much about this stuff, but what i know is... HOW DID U LEARN THIS??? This shi is so unbelivable cool, i had to read ur comment a few times until i got it. I want to see it so mad. Pretty cool.
@Maxjoker989 күн бұрын
@@DoDoBoy-nh1jt If you just want to see it, there is my open-source web-based assembler and emulator(can't post link here). But you can definitely learn all this for yourself, after all I'm self-taught as well! :P In general, learning enough about logic gates to be able to understand how a computer works(or build one in Excel or Minecraft) isn't that complicated. You need some basic understanding of programming(what is code, how does it run?), logic gates(how can you combine multiple binary inputs into binary outputs?), and CPU architecture(what parts of a CPU are required to execute any program?). If you have any more specific questions, let me know! In general, just try some things in a logic simulator, possibly fail, and repeat ;P I also have some videos about my specific CPU on my channel, including a video where I design a simple CPU in LogiSim(the video is called "LogiSim Hello-world CPU design!").
@DoDoBoy-nh1jt7 күн бұрын
@@Maxjoker98 can u send me the link pls, i want to try this out. Why cant u send the link? Is it cuz the KZbin algorythm is gonna delete it?
@ALG3974 күн бұрын
@@Maxjoker98 I visited your KZbin channel and I did not find an educational explanation like the one on this channel. Can you send me the link?
@Maxjoker984 күн бұрын
@@ALG397 Oh, and I've also got a video where I design and build a simple CPU in LogiSim that is somewhat similar to the MCPU instruction set. It has no audio narration, but I explained what I did in text on the right side. The original recording was about an hour, but the video is speed up 2x(30min), but contains otherwise no editing. It contains some mistakes and debugging, but the basic design is fine and very similar. Technically my architecture can be considered TTA-like(transport-triggered architecture), but it's very much not VLIW, and suports only a single source and target(untypical for TTAs) at a time, and the IMM instruction also doesn't fit the TTA description. MCPU architecture is not my first iteration on a design like this, I've played around with LogiSim and Digital a lot to figure out what architecture features I want/need. I've also played with Minecraft redstone a bit, discovering that basically a stacking height of 2 is always enough, because you can "cross" wires in 2 high, which is somewhat like the WireWorld cellular automata(which has a really cool CPU design for it! My favorite in any CA! Look up WireWorld Computer!), which I also played around with earlier, which lead me to realize that I could build an instruction set that could work on any word width, and that could be created in layers that only need to be connected to the previous/next layer(important for building compactly in Minecraft; This basically means the data path is completely 2D in Minecraft), but also means this is probably easier to implement serially(important for WireWorld) or in other creative ways like shaders etc.
@douglasboyle65449 күн бұрын
As a an older person who grew up in the 8 and 16 bit PC era I am absolutely amazed at this.
@Triangle12345 күн бұрын
why tf did those 11 people have the audacity to downvote such a video?!??? like what did this guy ever do to you? or do you just hate excel? do you just hate cpus? what's wrong!!
@nx_9 күн бұрын
what the heck that's mindblowing, as someone who barely started getting into risc and how cpus works.
@impster10 күн бұрын
This is sick af! Love your dedication and enthusiasm!
@tobyk-b630310 күн бұрын
Dude, this is fucking sick, like, you just casually dropping that not only can code in assembly but in a modified assembly at that? you crazy dog that's some good work!
@TheRenegade...9 күн бұрын
What do you mean by modified assembly? It's not like there's one true form of assembly because every architecture has its own assembly language. Also, it's effectively impossible to create a CPU architecture without understanding how its instructions work and therefore how to use its assembly language
@tobyk-b63039 күн бұрын
@@TheRenegade... My dog I apologise I was less than sober when I watched this video and as an amateur programmer at best all I know is assembly is hard and he said something about "and so I wrote my own parts of an assembly language" or something along those lines and I was impressed if not just misunderstanding what he meant, anyway I take your point I just know doing really custom memory control and stuff is hard so I applaud what he did
@CHEpachilo10 күн бұрын
after completing the Nand game, aka building from nand gates processor with 2 general purpose registers, program counter, ALU and programming some basic stuff for it I'm absolutely sure that anything less than 6502 is a pure masochism. It is pain to program for, it is absolutely not hard to design 6502 clone even on logic gates level, so reducing instruction set is really not a great idea here.
@parthasarathym17779 күн бұрын
Build llvm backend. There you go. Now you can even run c++.
@samuelwaller49247 күн бұрын
I love that you used flipjump as an example of a OISC instead of subleq
@cabobsstopmotion49839 күн бұрын
This is incredible. I'm in a computer architecture class in university so I can actually follow along!
@revenevan115 күн бұрын
I'm fascinated by this! I'd love to see a compiler made to turn something higher level like C into your ASM that's compatible with your excel CPU. I don't have much idea of how difficult that must be, though.
@torrentails9 күн бұрын
8:43 You could have the top address space point to block 0, leaving the lower 128 for the swap memory. Might make it easier to program without having to think about adding 128 every time you want to access memory
@InkboxSoftware9 күн бұрын
After programming the machine for a bit, I do think that's probably the smarter way to do it
@Jake12rg10 күн бұрын
3:26 when I heard this I knew it was brilliant
@johnrickard85128 күн бұрын
I've used Excel 2000 to simulate circuits before in my Digital Design class, so I will give a like without knowing the content of this video 🙃
@mr.Celsius9 күн бұрын
waiting for this man to create and entire pc in exel, that can play doom
@tediustimmy8 күн бұрын
Can you imagine explaining to people the contortions you'd have to go through to make the register 64 bits? No one would believe you!
@mendonisstudios10 күн бұрын
Well done. I did something similar in Amiga Basic some many years ago simulating the 8085 intel. But your project is quite good! But now you gave me an idea for a hardware implementation of the RISK processor. Hmmm.. Anyway I enjoyed your video very much. Keep up the great work!!! Looking forward to see your next project
@_maorkatz_18879 күн бұрын
Babe wake up, Inkbox just uploaded a new Excel video
@SeanStClair-cr9jl9 күн бұрын
Gahh! I love this project!! Any plans to write a compiler to your new assembly?
@InkboxSoftware9 күн бұрын
That was in the video...
@TibbeSnelКүн бұрын
I saw the original video and didn't understand anything, I learned logisim and now it's so super simple!
@Chaomlin6 күн бұрын
0:17 "basically the excel equivalent of a computer from the 1950s" Well, it got us to the moon, didnt it?
@norude6 күн бұрын
every nine month, the excel CPU gets 10 time faster
@promaster42410 күн бұрын
One day this computer would be able to run execel in itself, or at least doom
@elcucumber28472 сағат бұрын
lovely video, very impressive!! thank you for the captions :)
@pygmee641210 күн бұрын
Awsome! I really need to implement this in PowerPoint, but adding a screen absolutely destroys the performance. I'm currently rewriting a subset of PowerPoint in Rust to hopefully run this king of slides blazingly fast.
@willphillips252210 күн бұрын
YOOO THE RETURN
@EyemachineStudios6 күн бұрын
Now make a GPU in excel
@guigui024610 күн бұрын
At 2:45 I'm pretty sure BLT and BGT are inverted (> is gt and < is lt but you put > lt and < gt)
@InkboxSoftware9 күн бұрын
Woops I did
@RalphDratman2 күн бұрын
One of the selling points for RISC CPUs is that they are designed to be programmed by compilers, not assemblers --- so convenience to the programmer is unnecessary. If your CPU were aimed at the real world, part of your design job would be to write a simple compiler for it, later to be made into a sophisticated optimizing compiler for production.
@gingershrimpale6 күн бұрын
If it only took 4% footprint of previous one, that means you can give it 20 times more memory and a bigger screen...
@AK-vx4dy9 күн бұрын
@1:46 You almost reinvented 6502 or '90 PIC microcontroller
@veorEL9 күн бұрын
This we really needed, after last week's global political events. Suggestion: The stack will still function as a stack even if it is upside down. The logic can be done TOP DOWN and then the representation BOTTOM UP. Putting it off to the side on column Z, the representation could be R_13 = Z_28 R_14 = Z_27 ... etc. Great JOB!
@noonerlly184910 күн бұрын
This is crazy of you but keep it up man
@Petch859 күн бұрын
maybe try the sieve of Eratosthenes and find some prime numbers. Seems like a good job for a home made CPU.
@AK-vx4dy9 күн бұрын
Try to undervolatage, maybe will run wirh faster clock 🤣 Clean job, congratulations.
@thzockt5 күн бұрын
this is excactly what I currently studdy in school
@nauthic3p09 күн бұрын
That your ranges are unnamed is just … I … … it‘s hard to deal with this, you know?
@LukasCarreinКүн бұрын
you should try remaking the mos 6502 for some extra power
@premiunm4 күн бұрын
Plot twist: He becomes a professional solderer and makes the CPU a real object instead of just a spreadsheet
@nightfox67387 күн бұрын
Is the flip/jump machine actually turing complete? I'd love to see that used to implement some simple algorithms / maybe a logical proof if that's possible. Is there such a proof for turing completeness? Edit: btw I love this kind of stuff. I personally wrote a simple cpu in logisim and wrote a recursive factorial program in its machine code. You've earned my sub.
@samuelwaller49247 күн бұрын
It's on the esolang wiki. There's actually been a lot of effort put into it, it's pretty cool
@jurel-enlatado110 күн бұрын
Actual insanity, good job.
@nimrag6599 күн бұрын
i think it would be an interesting project to try and write a C compiler for the language
@pwntmatch3 күн бұрын
sometime in the 1950s : " we are going to simulate a CPU in excel " "a what? " "what? "
@nerdboy62810 күн бұрын
And I thought making Tic Tac Toe in Excel (no vba) was impressive
@AdamFahn4 күн бұрын
I have not got a clue what he did, but I can tell he did it in a smart way and it was good.
@xavier43136 күн бұрын
Just curious where even the heck you guys find information is there any book that explains how computer works bit by bit if there is please suggest
@InkboxSoftware6 күн бұрын
Computer Architecture: A Quantitative Approach, by David A. Patterson and John L. Hennessy
@rnicoles93554 күн бұрын
now make a 32 bit CPU powerful enough to run windows xp
@ZhuDaoLong10 күн бұрын
I understand like half but this is cool
@PatrickWard410 күн бұрын
Absolutely brilliant.
@caiomelo7568 күн бұрын
I NEED TO SEE SOMEONE BUILDING AN OS FOR THIS THING RN
@darqed10 күн бұрын
He did it again
@PCPSolutions10 күн бұрын
Outstanding work!
@appakling9 күн бұрын
babe wake up, there's a new Inkbox video
@monarchofrymden3 күн бұрын
You know what you have to do now. DOOM. Bad Apple. In the Excel computer.
@fuseegelee10 күн бұрын
Now make it a PowerPC and make it run MacOS 10.5.9 Sorbet Leopard Custom Build
@MarquisDeSang10 күн бұрын
Can it run Blodborn on PC?
@fuseegelee9 күн бұрын
@ no, it’s power pc you fool. It can’t even run Minecraft 1.20
@MarquisDeSang9 күн бұрын
Make a Risc-V instead, that is doable with only the base 47 instuctions.
@fuseegelee9 күн бұрын
@@MarquisDeSang No Thanks
@Garfield_Minecraft9 күн бұрын
Only BGE.. This dialect of assembly is so cursed
@Apollo14283 күн бұрын
you think your computer was just like watching you do this and went "hey.. there's something familiar about this"
@champion_ofcloud-var9 күн бұрын
i have no clue what a risc cpu is, im only here because inkbox uploaded it
@Lampe20207 күн бұрын
1:26 The swap instruction is sexy XD
@niceEli9 күн бұрын
You should make a LLVM compiler for it
@DavidK-u7i17 сағат бұрын
imagine you make a CPU in excel more powerful that your actual CPU.
@im.papajek7 күн бұрын
Somehow, it ended up on my main page; I don’t understand anything, but I watched the whole thing, and it was fun.
@koalaman93697 күн бұрын
im trying to make my own cpu in excel but i cant get the clock to work w/ the previous video's method
@gaharmun4 күн бұрын
I thought about doing something like this in excel as well a while ago... but im more of a hardware guy and so i never startet doing it... great idea and video btw...
@Lgame01434 күн бұрын
“Hey dude, nice computer, what are your specs?” “64 gb ram, 2TB SSD, RTX 4070 plus and the best part: *Excel CPU* “
@dsagman6 күн бұрын
wow. seems ideal for you to implement a forth compiler.
@ytech38823 күн бұрын
Man I feel stupid but entertained watching you
@bocbinsgames67459 күн бұрын
"just how reduced can an instruction set be?" SUBLEQ enters the chat (wouldnt make for a very good programming experience though)
@RandomBurfness9 күн бұрын
Oh, is that subleq propaganda in the wild? Love to see it!
@algodoomarbleracing4 күн бұрын
the preview of the video showed the brilliant sponsor screen
@twistedillusion-u4s9 күн бұрын
Now make it run half life 1
@jcf_17603 күн бұрын
I wonder if it would run even faster if you ran it on a really old version of excel.
@ShadowDev69699 күн бұрын
you should make a gpu for the cpu
@tedtheblue9 күн бұрын
Inkbox in 2050: today we’re going to run excel in excel
@CrushedAsian25510 күн бұрын
This is so cool, clever use of smaller footprint! Coming from discord server
@dominic-shumКүн бұрын
4:30 can be further simplified to D6 + C2, but I know this example is a toy problem demonstrating how to get rid of the If function.
@soryabuscompany9 күн бұрын
Tennis for NES, very cool
@samir3216-bs1lv10 күн бұрын
Great job inkbox,now you know how to advertise
@MarquisDeSang10 күн бұрын
Can't you do it in Libre Office instead?
@juliusfucik401110 күн бұрын
Haha good luck. I use LibreOffice all the time, but stability is not very good for big things 😢
@Typocat9 күн бұрын
yay another electronic in excel
@aciddev_9 күн бұрын
so now we can compile porth down to excel cpu intruction set? cool
@Bubo_Scandiacus_0o08 сағат бұрын
Still faster than my computer
@aqqalularsen33226 күн бұрын
hell yeah, we love risc
@midevilgmergamingКүн бұрын
If possible, do you think you are ever going to make a fully functioning computer along an operating system within excel?
@InkboxSoftware10 сағат бұрын
Not anytime soon, but never say never.
@Kitulous9 күн бұрын
seeing some similarities between this computer and mattbatwings's ongoing series' computer. did you get inspired by that or is it just a coincidence?
@InkboxSoftware9 күн бұрын
It's just coincidence. I just looked him up, and he looks like he's doing some impressive stuff in minecraft. I guess on such a low level all computers really work the same way.
@ALG3974 күн бұрын
something strange look at the first ccomment is the same
@anon_y_mousse8 күн бұрын
Is there a way to do something like the Linux shebang with Windows cmd.exe ? Or would you have to wrap it in a batch file? It just seems kind of annoying to have to manually call the Python interpreter to execute a program instead of just calling the program directly and having the shell figure it out. And in case anyone doesn't already know, yeah there are builds of various Linux shells that can be used on Windows, including a full set from either MingW or CygWin, but I'm wondering about solutions that don't use third-party tools.
@CH11LER.5 күн бұрын
Im not really clued up but, this system you are making, reminds me of how a NES works. It would be cool if you could make a simple game. Perhaps something like a gameboy. You might be able to run doom then
@DrewWalton3 күн бұрын
Hint: MOV is Turing-complete. All you gotta do is move.
@mido-gq3xe7 күн бұрын
I think will be cool if you load some sort of program in to equal ic, like micro 8-bit processor
@cartoony5719Күн бұрын
now overclock it :D
@Anquarza9 күн бұрын
20k views in 20 hours, perfection.
@_beyi9 күн бұрын
insane clock optimisation =1-C2 (C2 is 0: 1-0 = 1) (C2 is 1: 1-1 = 0)