Тёмный

Machine Code & Assembly Language - Let's Make a Redstone Computer! #4 

mattbatwings
Подписаться 226 тыс.
Просмотров 26 тыс.
50% 1

Опубликовано:

 

22 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 170   
@mattbatwings
@mattbatwings 4 дня назад
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/mattbatwings You’ll also get 20% off an annual premium subscription.
@Realduokidsfan
@Realduokidsfan 3 дня назад
First
@Hnxzxvr
@Hnxzxvr 3 дня назад
I eat bats:)
@kaiperdaens7670
@kaiperdaens7670 3 дня назад
Brilliant is back
@SF124-was-a-taken-username
@SF124-was-a-taken-username 2 дня назад
Mr ingenious wants us to me smart too :)
@snibo1024
@snibo1024 3 дня назад
For some reason making it a Minecraft tutorial is much more aprochable than videos that use actual computers or a shit load of diagrams, even though it's exactly the same principles
@deltamico
@deltamico 3 дня назад
the reason is that the target group has hours of experience with redstone
@selikwilhelm4086
@selikwilhelm4086 3 дня назад
@@deltamico nah, not even. I'm actually a computer science student and this is is actually miles better than the stuff you get at my uni in terms of complexity. much more easy to follow along in here.
@mitchratka3661
@mitchratka3661 3 дня назад
​​@@selikwilhelm4086literally bro, I'm a compeng student and these videos are a perfect summary of the topics in my system architecture classes, both compeng and compsci
@fus-ro-dah
@fus-ro-dah 2 дня назад
@@selikwilhelm4086 I think it's because you're seeing it being built, rather than just being told how its built. The concepts appear much less arcane.
@joltedjon
@joltedjon 2 дня назад
@@fus-ro-dah This and his format works well to explain how it works because there is animations for everything. A lot of time for presentations it's just lecture slides with info dumps and pictures. An example, him showing how assembly goes to binary, he shows each part of the instruction turn into their respective bits, which provides an extremely solid connection to the opcode/operands and what they're represented with in binary.
@mrBrod._.
@mrBrod._. 3 дня назад
IM SO EXCITED FOR THIS SERIES!!!
@mehradzeinali9703
@mehradzeinali9703 3 дня назад
me too
@pannekook2000
@pannekook2000 2 дня назад
I actually adore that you made the metaphor of the CPU being a tiny man pressing buttons real
@Saucy26
@Saucy26 3 дня назад
As a CS student taking a computer organization and architecture class rn, I love seeing the stuff that I'm learning implemented like this. Keep up the good work bro :)
@EinSatzMitX
@EinSatzMitX 3 дня назад
Im currently building my completely own 16bit cpu together with a friend and this series already helped out sooo much, im really grateful for having some one like you teaching these things in a relatively approachable way
@pierrotledino3256
@pierrotledino3256 2 дня назад
wow, same!!! u doing it on minecraft or irl ?? if irl, maybe we could talk about it !
@LightslicerGP
@LightslicerGP 3 дня назад
Also key point: having r0 always be 0 is useful in not needing a "read" signal for when you do rightshift, just noticed that If you had been able to use r0, you would NEED a read line for right shift so you don't accidently use the data in r0 when "plugging in" r0 for the "second operand" (which doesn't exist) Amazing, gg as always
@undersunbit
@undersunbit 3 дня назад
I've been so excited and couldn't wait for Mattbatwing's series to build my own computer that I started to search more and I already made some add programs using Program ROM and Path control using Control ROM. and started my ISA. so whatch Mattbatwing's series will be useful to synchronize knowledge. if you are excited as me, just start do learn by yourself everywhere on internet
@rafal.qwerty
@rafal.qwerty 2 дня назад
I am very impressed with your understanding of these topics. I graduated IT university a few years ago and even though I had quite a high grade, when I watch your videos I feel stupid. With your knowledge and deep understanding you can achieve big things in your future carrier. Not only as a redstoner.
@oPlazmaMC
@oPlazmaMC 3 дня назад
Me jumping back and forth between "this is so easy" into "what is even going on"
@dmitryvolovich4357
@dmitryvolovich4357 2 дня назад
Great video! Small typo in the table at 6:00 though: it's "pseudo", not "psuedo".
@SubatomicPlanets
@SubatomicPlanets 2 дня назад
I would really love a video about different CPU architectures! Which ones are used most often, which are easiest, which are most redstone friendly?
@mrBrod._.
@mrBrod._. 3 дня назад
I loved the video! I will get started on this once I finish my other project!
@yarrakobama3417
@yarrakobama3417 3 дня назад
Nice work, but... writing mc assembly just to use a python script to translate that into a minecraft structure to run a program within a game inside a game engine handling graphics via OpenGL controlling a graphics device who's driver was started by the OS which was itself started by the bootloader which was itself started by the BIOS loading the MBR but only after performing a POST which was triggered by you pressing the power button which is only possible due to centuries of research by people way smarter than us. (I can't wait for someone to make a C compiler for this)
@hikariwuff
@hikariwuff День назад
I've never seen concepts like this explained so clearly. Awesome job man
@henrynagel2658
@henrynagel2658 3 дня назад
Bro is ADDICTED to the brilliant sponsorships
@mcblaze905
@mcblaze905 3 дня назад
Ya Matt, great video. I'm totally loving these series but just to ask, can you do a live stream of you building with redstone. Just wanna see how redstoners actually do their build
@SubatomicPlanets
@SubatomicPlanets 3 дня назад
Amazing video! Now we've got to wait at least a week for the next one 😭
@thebluefroganimation
@thebluefroganimation 3 дня назад
LESS GOOOOO ANOTHER EPISODE!!!!
@braytongoodall2598
@braytongoodall2598 3 дня назад
There are a lot of people who build CPUs in minecraft: it'd be wild to see you implement the first GPU Nvidia released (or the early generations of graphics co-processors in the Japanese consoles)
@ryan_boulds
@ryan_boulds 3 дня назад
I’m really excited for this, as this is what I’m currently beginning work on for my own project!
@deadrosas
@deadrosas 3 дня назад
I love these episodes! My fav series in yt right now
@blu3260
@blu3260 3 дня назад
"Still not as nice as C++ or Python" To each their own I guess
@minercraftal
@minercraftal 3 дня назад
Thank you for teaching me computing, this is what I called learning computing 😂 knowing how exactly switches are doing is so important
@TOPHATTIMMY-SAYS-HI
@TOPHATTIMMY-SAYS-HI 3 дня назад
Who here loves redstone?
@mcblaze905
@mcblaze905 3 дня назад
Me!!!!
@chiken99100
@chiken99100 3 дня назад
Not me im shit at it
@Oogiescat1234
@Oogiescat1234 3 дня назад
🖐️
@RandomytchannelGD
@RandomytchannelGD 3 дня назад
ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME ME
@moni9710
@moni9710 3 дня назад
Me!!
@kaiperdaens7670
@kaiperdaens7670 3 дня назад
Lessgoooo more computer
@dannyhoang9623
@dannyhoang9623 3 дня назад
This so so cool to watch while also taking a computer engineering class
@thehexagon_yt
@thehexagon_yt 3 дня назад
9:42 I'd argue that it's more nice (even though much less options) than std::cout >> "Hello world!";
@irp3ex
@irp3ex 3 дня назад
std::cout
@thehexagon_yt
@thehexagon_yt 3 дня назад
@@irp3ex yeah, didn't use C++ for a long time tbh. >> Was for input, right?
@irp3ex
@irp3ex 3 дня назад
@@thehexagon_yt yeah cin >> input;, how i memorized this is
@lukasjetu9776
@lukasjetu9776 3 дня назад
idk why but i still like to use printf("Hello world!");
@Realduokidsfan
@Realduokidsfan 3 дня назад
Hello mattbatt Tysm!
@annevanderbijl3510
@annevanderbijl3510 3 дня назад
I actually have an exam on assembly and matt is helping me out
@DarmiGames
@DarmiGames 3 дня назад
Explained really well! Really cool series, as always😅
@Pingvinusz_pingvinovics-q9b
@Pingvinusz_pingvinovics-q9b 3 дня назад
Brilliant got back, (u can run but u can't hide from it😈)
@Garfield_Minecraft
@Garfield_Minecraft 3 дня назад
make a compiler next so the way your assembly work is it adds 2 numbers but require third register for storing the result? that's quite weird because in real world you only need two arguments/operands it stores in the first register. there isn't eax, ebx, ecx, or stack pointer esp. I guess you're not trying to replicate x86 architecture it could be use with jumping to labels and calling functions
@valshaped
@valshaped 15 часов назад
This is a RISC architecture-it aims to do more with less, and a large part of that is forcing every register to be general purpose. Since there's no special-purpose accumulator register, you have to design the instruction set to allow storing results in an arbitrary register. It complicates the register design slightly, but means that you can omit entire classes of instruction. That's also why the zero register is a necessity. For example, you don't need a register-to-register move instruction, since `mov r1, r2` is equivalent to `ADD r1 r0 r2` You can even bake support into the assembler for this kind of pseudo-instruction, and map the mnemonic `MOV r1 r2` to the machine code `0010 0001 0000 0010` (ADD r1 r0 r2) or any other equivalent instruction.
@thecossackfromukraine
@thecossackfromukraine 3 дня назад
9:27 Assembly Lanuage 🙏🙏🙏
@HMT_main
@HMT_main 3 дня назад
I was just watching the new GPU video from Branch Education!
@GerardoGonzalez-pv6wh
@GerardoGonzalez-pv6wh 3 дня назад
Nicely explained
@TobCraft
@TobCraft 3 дня назад
awesome series
@BlockAtlas
@BlockAtlas 3 дня назад
Mattbatwings on top!!!
@Vitrivius
@Vitrivius 3 дня назад
and i’m the bottom
@HyperNightGalaxy
@HyperNightGalaxy 3 дня назад
Always nice videos :)
@whyamihere-rc7ib
@whyamihere-rc7ib 2 дня назад
this teaches me better then in school no cap
@SobTim-eu3xu
@SobTim-eu3xu 2 дня назад
Man, you're the beast
@rodrigoqteixeira
@rodrigoqteixeira 3 дня назад
10:55 Now that you talk about it. I have been considering wether making an intermediate assembly language for optimisation reasons would be worth it for the compiler. It woule be good to avoid a pop instruction emediately after a push. Also avoiding multiple ADIs to r3 one after the other.
@Lino-ty5hv
@Lino-ty5hv 3 дня назад
This is absolutely a thing; in fact most compilers for high-level languages will go through multiple intermediate representations and perform optimisations at each step. The most basic example is that a lot of languages compile to the LLVM intermediate representation, because then they can take advantage of the massive amount of work that’s already been put into making optimisers for that bytecode. It also has the advantage that a person making a high-level language doesn’t have to worry about the different machine codes for different computer architectures, because the people who work on LLVM have that mostly sorted already
@rodrigoqteixeira
@rodrigoqteixeira 2 дня назад
@@Lino-ty5hv ok, but the question is if I should do it on the compiler
@JiosX
@JiosX 3 дня назад
This is how programming in Assembly feels like
@BotturasStudios
@BotturasStudios 2 дня назад
what are you going to do in the next video? like what is the next step so i can start trying to figure that out before you make out a video of it (probably the 26th)
@Wmann
@Wmann 3 дня назад
Gotta love reinventing the computer within Minecraft.
@Borbarad13
@Borbarad13 3 дня назад
Very nice video!
@rodrigoqteixeira
@rodrigoqteixeira 3 дня назад
After watching this video I kinda wanna make a program rom but I'd need to build the alu and register file first
@Pedritox0953
@Pedritox0953 3 дня назад
Great video!
@matthewparker9276
@matthewparker9276 2 дня назад
Well at least three of the remaining instructions has to be SET, MOV, and some kind of conditional jump. I wonder what the plans are for the other 7.
@matthewparker9276
@matthewparker9276 2 дня назад
Although, come to think of it, with the three operand setup, MOV isn't strictly necessary.
@xPlay5r
@xPlay5r 3 дня назад
Yay! Another coolest video!
@Slicudis
@Slicudis 3 дня назад
Greetings!
@tyboro2275
@tyboro2275 2 дня назад
why is the right shift fixed to shifting 1 bit instead of making the user able to shift n bits we have 4 bits free now cant we use those for this?
@Cosiner
@Cosiner 3 дня назад
i finally have a video thats ACTUALLY a computer not just "HeY gUyS i BuIlT a ReDsToNe CaLculAtOR" even though the thumbnail name is "i made a redstone computer!!!"
@Cosiner
@Cosiner 3 дня назад
by the way i actually get every single thing you say. even if im a low level dev i still made 3D in scratch and made a CPU with a logic engine
@shub9869
@shub9869 3 дня назад
@mattbatwings why not make a Hex redstone component?? Pls
@RandomMinecraftUser8
@RandomMinecraftUser8 День назад
Python translator when
@mrBrod._.
@mrBrod._. 3 дня назад
Yesssss!!!
@oxygen2623
@oxygen2623 3 дня назад
So, that assembler can be made as we wish? Like you wrote 0010 0001 0001 0010 But can i customize it to 0001 0001 0010 0010?
@samuelhulme8347
@samuelhulme8347 3 дня назад
The 1s and 0s the assembler outputs must match the instructions you have in the Control ROM and how you have ordered the instructions’ operands.
@deltamico
@deltamico 3 дня назад
That would make it postfix, a format somewhat compatible with his calculator design
@Vitrivius
@Vitrivius 3 дня назад
nice boykisser pfp
@luketurner314
@luketurner314 3 дня назад
This reminds me of Ben Eater's series on a breadboard computer, but in Minecraft
@lucasdeleeuw1417
@lucasdeleeuw1417 3 дня назад
I will have a computer architecture course for school in a few months and this is making me extremely excited for some reason (most students view it as a horrible course)
@superasax3245
@superasax3245 3 дня назад
This vid isn’t in the playlist yet :p
@justinnamilee
@justinnamilee 2 дня назад
I'm having trouble with your 6-bit ALU configuration but 4-bit opcodes... But other than that, neat! EDIT: Oh yes, it's been a while since the ALU video, but nevermind. EDIT2: Yeah, really you could have just stuck with NAND and said heck the rest of the bitwise operations. xD
@sidarth632
@sidarth632 3 дня назад
Clicked as soon as I saw
@Lorem_ipsum_404
@Lorem_ipsum_404 3 дня назад
Hello Matt, great tutorial, but I didn't understand a thing, how do you put nombers into the register in the first place, I mean, you can put them manually but is there a way to write numbers in the register automatically with the program ? Because I'm trying for over a year to make a redstone computer on my Nintendo Switch but I never saw someone wo well talked about the instruction memory. Bye PS : (excuse my english, i'm learning, (I'm french))
@ellipticalsinewave
@ellipticalsinewave 3 дня назад
my guess is that he's saving the first opcodes for some type of "write" instruction. I think the problem is that everything he built uses registers for numbers ("ADD r1 r2 r3") and he doesn't have a way to use numbers. So he might add that later.
@Lorem_ipsum_404
@Lorem_ipsum_404 3 дня назад
​@@ellipticalsinewave I think like you that he saves the first 8 bits of instructions to whatever instruction he wants (the first 4 bits) and the adress of the register he wanna write on (he last 4 bits), so if the instruction is to write a number, he can stops the last 8 bits from being the two read input and makes them the number that he wants to write
@jobamay5740
@jobamay5740 3 дня назад
Regarding instruction memory, I am pretty sure that that will come at some point. However, it is "just" simple memory, in theory it would be possible to store a (tiny) program in the registers he already has. Then you need some type of pointer (a program counter) that stores the memory address of the current instruction and increments with each clock signal sent to the current register
@ericcheng5496
@ericcheng5496 3 дня назад
Guess we would need an ‘immediate generator’ next😊
@endcore282
@endcore282 3 дня назад
Mattbatwings can you build a giant redstone comparator without using any redstone comparators
@caut-arg
@caut-arg 3 дня назад
It would be nice to have people knowing what they are explaining at college. My teachers look like random people brought from the street
@Pazi-so2yd
@Pazi-so2yd 23 часа назад
can u make a tutorial on how to make a flat tile display like in the one u did on the 2048 game or the minesweeper game
@balr1221
@balr1221 3 дня назад
See you in another month for the next component ;-;
@RandomMinecraftUser8
@RandomMinecraftUser8 День назад
Doom when
@noobdodo6027
@noobdodo6027 3 дня назад
Lets go
@lukasjetu9776
@lukasjetu9776 3 дня назад
where
@tominoss1399
@tominoss1399 3 дня назад
Yipee a new video
@zombiechameleon614
@zombiechameleon614 3 дня назад
Im kinda sad i couldnt watch it right when it was posted ):
@WhoStoleMyFreakingUsername
@WhoStoleMyFreakingUsername 2 дня назад
Next video: CPP compiler in minecraft
@SnT-l8d
@SnT-l8d 2 дня назад
im the only one in my class (Informatics) who understands shit, beacuse u explain better than the teacher
@Understated4
@Understated4 3 дня назад
I can barely make a screen 😅 you just casually make an entire cpu 😮😮 with me, to no avail😢😢
@uktwf57sfF7f20k
@uktwf57sfF7f20k 3 дня назад
can you do a block by block tutorial
@thunderd7904
@thunderd7904 3 дня назад
Damn, I’m learning assembly code rn and I HATE it compared to C. Maybe this vid will change my mind
@Omena0
@Omena0 3 дня назад
Why not be able to rightshift by n? Would it take too long?
@kaida_mtd
@kaida_mtd 2 дня назад
Is there a way to convert the asymboly language into machine code in game using redstone?
@loukas130
@loukas130 3 дня назад
LET’S GOO !!!
@domzi
@domzi 3 дня назад
Hi! Just a short hint: you got a typo in your spreadsheat. It says „psuedocode“ and not not pseudocode. The E and U are flipped in pseudo
@damyankerchev4455
@damyankerchev4455 56 минут назад
Can you please make an IDE in minecraft?
@koyarnosredstone5783
@koyarnosredstone5783 3 дня назад
Allright, so after 3, 4 years, bennyQBD has been surpassed. that has to be celebrated!
@SomeGuyWithALife
@SomeGuyWithALife 2 дня назад
THE VIDEO IS SPONSORED BY BRILLIANT
@amynagtegaal6941
@amynagtegaal6941 3 дня назад
Will it ever be able to run doom tho?
@Kynatosh
@Kynatosh 2 дня назад
8:29 "Psuedo" Code typo ;-)
@Official-Fake
@Official-Fake 2 дня назад
No Von Neumann Architecture?😐
@foxypiratecove37350
@foxypiratecove37350 3 дня назад
Bro, what about me making an OS for that computer when it will be finished?
@mistrzdrewna233
@mistrzdrewna233 3 дня назад
the cpu is too limited
@foxypiratecove37350
@foxypiratecove37350 3 дня назад
@@mistrzdrewna233 Currently, yes because it has only mathematical and logical operations. But later it could be possible. Some thingg we have to remind are that Windows started as a CLI OS using the VGA text mode ([MS-]DOS), and that when the (real) Windows appeared, it was using framebuffer GUI.
@samuelhulme8347
@samuelhulme8347 3 дня назад
@@foxypiratecove37350Windows on DOS did not use text mode, it still used a graphical framebuffer. When Windows became an actual OS was when Microsoft moved away from DOS and made Windows NT, which used a new kernel.
@foxypiratecove37350
@foxypiratecove37350 3 дня назад
@@samuelhulme8347 I know and when I talked about the VGA text mode I was talking about DOS that is like the ancestor of Windows.
@NieMamNicku
@NieMamNicku 3 дня назад
nareszcie
@rodrigoqteixeira
@rodrigoqteixeira 3 дня назад
Really wish nop didn't exist on the rsa. A jmp to value in register x would be so much more usefull and nop could be a pseudo instruction for... Oh yeah, not compiling.
@roostydoo2
@roostydoo2 3 дня назад
Lanuage 9:28
@deleted_handle
@deleted_handle 3 дня назад
Stopping all the kids from saying Stopping all the kids from saying first
@RobRed1011
@RobRed1011 3 дня назад
I can't Believe i'm learning Japanese Learning To Make A Computer Learning Arabic Learning How Balls Bounce Learning How Mazes Are Created At The Same time
@RobRed1011
@RobRed1011 3 дня назад
And learning To Animate To Make My Kids Show Thats Like gravity Falls And Also Creating A New language 5-8# 8# 5-3 /@!&7@&3 a new coding language Say.(/"this is the language"\) Another coding assembly language Msg R1, H Msg R2, E Msg R3, L Msg R4, O TXTDIS R1 R2 R3 R3 R4 R0 R0 R0 R0 R0
@jaimeenparekh3122
@jaimeenparekh3122 2 дня назад
Hey hi mat ?
@rzgames3847
@rzgames3847 3 дня назад
"41 SECONDS AGO"
@plopgoot5458
@plopgoot5458 3 дня назад
Im going to try to make the smallest still useful computer Speed not withstanding.
@CharlesHe-b2x
@CharlesHe-b2x 3 дня назад
i made a dissembler in like 30 minutes
@CodeCorruption0
@CodeCorruption0 3 дня назад
Ngl first learning assembly can be a bit confusing.
@danishsayyad9136
@danishsayyad9136 День назад
Thanks to brilliant for sponsoring this video!
@PrivateAccount80527
@PrivateAccount80527 3 дня назад
Assembly and machine code is impossible to learn on its own, let alone in minecraft 😭
Далее
How do Graphics Cards Work?  Exploring GPU Architecture
28:30
I Made The World's FANCIEST Redstone Calculator!
18:51
DIY Pump Solutions
00:18
Просмотров 1,5 млн
Ребенок по калькуляции 😂
00:32
Просмотров 148 тыс.
I Build Your DUMB Redstone Ideas
14:52
Просмотров 196 тыс.
Faster than Rust and C++: the PERFECT hash table
33:52
Просмотров 592 тыс.
What is the Smallest Possible .EXE?
17:04
Просмотров 433 тыс.
We Built the Internet in Minecraft
25:18
Просмотров 3,1 млн