This guy saved me this semester. He deserves an oscar compared to my prof who is just rolling a bunch of slides.
@wagneralberto5456
7 жыл бұрын
you deserve everything that u desire, it's so satisfactory to be more smart everytime that i watcch one of your videos. TY MY Brother!
@alizwellscott
6 жыл бұрын
Damn! Mr.Schaffer, you are my savior!!! I've never found any other MIPS lecture that concise and easy to understand! Thank you so much XD
@brycedevon5547
3 жыл бұрын
Sorry to be so off topic but does any of you know a method to get back into an instagram account..? I somehow forgot my account password. I would appreciate any tips you can give me
@patrickjoel8779
3 жыл бұрын
This guys explain it perfectly i wander why j never say his video he deserves more subscribers.
@jpohbw
8 жыл бұрын
I have been searching through many forums to search for a nice explanation, but gave up and tried youtube instead. Found this vid. Thanks a lot! It was really helpful, especially the mention of labels, and the examples given.
@Nadzinator
8 жыл бұрын
Agreed, same here.
@lordad
5 жыл бұрын
This was the clearest and best structured well explained explanation i ever heard for jumps and branches in Mips ! When we had this topic in University i did not understand anything but this video is so clear and easy to understand. 10/10 job !
@foziljonnosir4930
3 жыл бұрын
Hi every one, I need your help guys... ■ Which registers are affected by a branch instruction? ■ How many bytes are used to store one instruction? ■ Can the computer execute an assembly instruction? Can someone help me please?
@louischiu4833
3 жыл бұрын
Thank you! I am going to have a computer organization exam tomorrow, this video helps a lot!
@Andrew_k_
11 ай бұрын
You really just oversimplified the concept. Thank you so much!
@hamzanasir1590
3 жыл бұрын
Your explanation clear all my concepts. Thank you so much Sir. 👍
@abuhorraira8081
5 жыл бұрын
better explanation then my 16500tk course instructor
@hiddensamphire5316
6 жыл бұрын
great video...but the answer to how far you can jump with the branch instruction is (-2^17) to (2^17)-1 as the entire point of multiplying the number by 4 is so that we can extend the 16 bit immediate to 18 bit immediate.
@Momo-zu2vc
6 ай бұрын
Which is why the correct answer does say instructions instead of bytes! Additionally, you would actually not be able to jump (2^17) - 1 bytes since that's not a multiple of 4.
@mcangenc
3 жыл бұрын
Best explanation in KZitem, thank you!
@dancingpillow8951
4 жыл бұрын
i didnt found more consise and understandable than this series..thanks a lot
@hussainalramadan7517
2 жыл бұрын
Thank you very much, this is so much appreciated
@bw-fd1uy
11 ай бұрын
This is perfectly clear explanation thank you so much sir !!
@maziarghorbani
7 жыл бұрын
I should have waited little more. I got the answer from the loop example. Thank you for the great videos.
@Unicorn775
2 жыл бұрын
Thank you, I was looking for ages for this!
@mohbit3336
4 жыл бұрын
also you can conclude from the above video the following equation : pc=oldpc+4+(offset * 4) from the above example suppose that we want to branch to address pc = 104 (should be multiple of 4 as discussed in the video) and current pc value =12 we want to know the offset value that we want to insert in the following instruction bnq R0,R1,offset so by using the above equation offset= (pc - (oldpc+4))/4 = (104 - (12+4))/4= 22,you can calculate oldpc value by counting the number of instruction and multiply by 4 oldpc= IN * 4.
@liamsmitchell
2 жыл бұрын
Very well explained, cannot thank you enough. You're rockstar guy
@ladyexci
6 жыл бұрын
I'm happily married, and yet, I feel a certain affection that I can't quite explain for you. Thank you for helping me out with your amazing videos!
@mithunshaha4342
4 жыл бұрын
Many many thanks sir for clearcut undertand the concept
@Zscor27
5 жыл бұрын
Would be helpful if you showed how to calculate machine code for when you're actually presented with a label and not a number. So like, for your beq to 3, what if it said beq to label1, how you would find out that label1 = 3. And same for jump.
@nimit8849
7 жыл бұрын
Thank you so much! Better explained than my professor!
@luojihencha
8 жыл бұрын
8:51 jump needs to plus 4. But previously, you said jump doesn't need to plus 4
@JGunlimited
7 жыл бұрын
I think it is a problem of confusing word choice. The instruction is *bne* despite the use of _jump_ in the question.
@tanjimbinfaruk9145
6 жыл бұрын
We add 4 to current PC in case of conditional jumps. (bne/beq) The jump instruction ( j ) is different from this.
@grayhat_9x
3 жыл бұрын
Excellent explanation!
@tatyanaroyer7880
8 жыл бұрын
This is a great video and made this clear as day for me. Thanks.
@gopavaramsaimadhuree520
3 жыл бұрын
i had a clear understanding.THANK YOU SO MUCH
@seifeldeenzeidan9876
2 жыл бұрын
amazing video man
@VietnamSteven
2 жыл бұрын
this is fantastic, thank you!
@namigwe8842
8 жыл бұрын
Wow thank you so much, this was perfect.
@khalilrouatbi6345
6 жыл бұрын
man you just saved my life thx!
@sharklion3
5 жыл бұрын
Very helpful video, thank you!
@mohammed_mairajuddin_musharraf
11 ай бұрын
I think for Calculating Next 32 bit PC in JUMP instruction, first four bits of PC+4 must be concatenated with left shifted 26 bit immediate data. Correct me If I'm wrong.
@rowysuny9717
Жыл бұрын
Thank you, really helpful
@hahaman7211
5 жыл бұрын
great explanation!!!
@عبداللهالنور-ز1د
6 жыл бұрын
شكرا جزيلا .thank you soooo much
@CH_name258
Жыл бұрын
Ur the best…
@user-cvviwion
8 жыл бұрын
7:34 I also heard that '=' operations take more CPU cycles, compare to '==', '=!' operations. In order to balance each instruction, MIPS provides only beq, bne.
@mohamedismail381
3 жыл бұрын
Why when we calculate the new addresses for the "jumb", we need to replace the 26 bits of the PC? I think we can do the same with bne/beq by considering them as "relative offset". what is the logic behind replacing the whole value of the PC to a new value. similarly, when calculating addresses for beq/bnq, we can replace the values in the instruction with absolute values
@SPeeDKiLL45
6 жыл бұрын
beautifull explained
@BladedgeES
8 жыл бұрын
When you calculated the PC for the jump, where did you get the constant 2 from? I know that the command said j 2, but why 2?
@May-sy9jk
7 жыл бұрын
it's the same as jump label, the "2" is actually label when you write assembly, but if you do not have assembler translate labels into machine code ,this will be the number that indicates second instruction in this case.(0 based), as you've already known ,memory in mips is 8 bits wide, so you have to combine 4 memory addresses together to form 1 instruction, if you want the second instruction in memory , 0-3(very first instruction which means 0th instruction) 4-7 (first instruction 1) 8-11(this is what you want)
@azkahV9432
7 жыл бұрын
Thank you!
@sam_is_people1170
4 жыл бұрын
nice video!!!
@maziarghorbani
7 жыл бұрын
I have a question! While in I-format, after we sign extend the intermediate value, you mentioned that we shift it to get the two LSBs "00", however, according to what happens, "00" is just added to the value and has nothing to do with the intermediate value. Later we shift the intermediate to get the effect of multiply by 4. Is this correct?
@jessiegross8868
6 жыл бұрын
I noticed a difference with RISC-V 32 assembler is that the I-format is 12 bit immediate. Why is lower than MIPS?
@Ghaleon15
6 жыл бұрын
How does Jump Register works? It's a R-type because it addresses a register, right? What happen to the rest of the bits (RS, RT, RD, Shamt, Func) ?
@fatimahassan3205
6 жыл бұрын
i think your course has been deleted from this website www.scalable-learning.com,because your enrollment key doesnot acccess to your couse. kindly check it
@liemh9290
5 жыл бұрын
3:25 the 26 bits address look like it SHIFTED as well?
@Logofatu114
7 жыл бұрын
When you say branch instruction address, you refer to the address the branch will jump at if its taken? In beq R5, R1, 3 , 3 is the branch address?
@tanjimbinfaruk9145
6 жыл бұрын
The branch instruction basically says if the expression is true then jump at that label. beq R5,R1,label We use label when writing assembly code. But later it gets translated into machine code and the label is replaced by an number which in this case is 3. So the instruction is basically saying that if R5 == R1 then go to label enumerated by 3. Here 3 is used to calculate the actual address where the jump will take place.
@ZachBugay
8 жыл бұрын
I am totally confused with calculating the destination register for Jumps. If I am currently at register 20, the binary is 10100. If you take the first 26, you still get 20 (decimal).
@JGunlimited
7 жыл бұрын
4:24 The jump value of 8 is obtained by ( ( 20 & 0xf0000000 ) | ( 2
@JGunlimited
7 жыл бұрын
Though I think there's an error and jump should be based on PC + 4, not PC. Such that ( ( 24 & 0xf0000000 ) | ( 2
@JGunlimited
7 жыл бұрын
The formula is ( ( ( PC + 4 ) & 0xf0000000 ) | ( immediate
@alexcipriani6003
7 жыл бұрын
he was talking about jumping (j) back to 8 from 20
@foziljonnosir4930
3 жыл бұрын
Hi every one, I need your help guys... ■ Which registers are affected by a branch instruction? ■ How many bytes are used to store one instruction? ■ Can the computer execute an assembly instruction? Can someone help me please?
@zahreddinesoualem3213
5 жыл бұрын
but what happen with load and store is it the same !!
@asteok2740
Жыл бұрын
ксо ретейк, передаем привет
@surrendereverything244
5 ай бұрын
in mip we use labels, not numbers. For example on line 8: beq R5, R1, 3 ; would be beq, R5, R1, OTHER or beq R5, R1, EXAMPLE. How come you never mention this/explain how the labels would become numbers to do the math in your example that isn't even commonly used
@ner0718
7 ай бұрын
I wonder how crappy Universities have to be, if a guy on youtube can explain it to me perfectly in under 10 minutes, but they barely can.
@philipT8989
3 жыл бұрын
2:50 how do you get that 16 bit imm?
@lg2389
8 жыл бұрын
I LOVE YOU
@philipT8989
3 жыл бұрын
in beq there is no value 3, it should be a label so I dont know what this is, so bad
@sidikabubacar4062
3 жыл бұрын
when u use SPIM (Mips simulator) , bne $t0,$s5,Exit is translated by the machine to : opcode=000101(in decimal 5) reg$t0=01000(in deimal 8) reg$s5=10101(in decimal 21) Exit label=000000000000010(in decimal 2) the value 3 is the value yielded by the machine when he want to compute the effectif address of the jump location! that's why it is calling immediate format, because the computer knows the offset from the BNE instruction to the destination address.... read this Great Book page 111, you'll undestand bunch of things ict.iitk.ac.in/wp-content/uploads/CS422-Computer-Architecture-ComputerOrganizationAndDesign5thEdition2014.pdf
@alexandrakung9905
6 жыл бұрын
wow!
@shoshoar6414
7 жыл бұрын
thank U ^_^
@Kitchen-Raccoon4572
6 жыл бұрын
i love you
@MehmetAltuntasmehmetcc
6 жыл бұрын
I hope you will get every chick your heart desires
Пікірлер: 76