i don't know whats the name of this teacher but if you have ever read this, thank you so much you have no idea how this helped me, you're a great techer.
@programmerfresco18506 жыл бұрын
William Sawyer, Computer Engineer from MIT
@vibewithsri80643 жыл бұрын
its literally 2021 and this man is single-handedly saving my university course...and im from southeast asia on top of that. thank you Prof Sawyer
@jensmalzer63442 жыл бұрын
JEW
@yadoux8 жыл бұрын
he's an amazingly clear, interested and interesting teacher.
@captainbigdaddy56959 жыл бұрын
You have changed my life. Thank you
@olgael76809 жыл бұрын
great teacher ever
@gamar12263 жыл бұрын
You still alive?
@jensmalzer63442 жыл бұрын
@@gamar1226 are you still alive?
@gamar12262 жыл бұрын
@@jensmalzer6344 yes, I m taking a shit right now.
@mhd-em6yt5 жыл бұрын
the best teacher ever vielen Danke
@tripplerizz5 жыл бұрын
this teacher is awsome!!!
@MoaazElMasry9 жыл бұрын
I Swear to ALLAH (GOD) you are the best one i had ever seen who explained this topics for me ! Thanks Prof. ALLAH protect you dear.
@drumdude103 жыл бұрын
I think the professor misspoke about the offset. The offset doesn’t add to the value at the address, the offset adds to the address itself.
@maryihab43248 жыл бұрын
This was really helpful .. Thanks a million Prof. =))
@wristocrat2 жыл бұрын
guy in the red hoodie is smart
@OmarKAli-wz5ku6 жыл бұрын
about the homework in this class, i think that there is no difference between bne & beq in MIPS code that implement the if else statements in higher languages but it just a best practice to make the common case faster , this is my believe at this moment in my current limited knowledge, "والله عليم حكيم "
@with-jan-mohammad5 жыл бұрын
yep
@serdarakol61004 жыл бұрын
no i think it is about checking every bit. If you are checking equality you have to check every bit if it is equal. but if you check inequality, in this case getting one inequality in bit will be sufficient. So, you dont have to check every bit. Instructor was asking that I guess..
@polatsaryerli3071 Жыл бұрын
I think it might have to do with inner implementation of a comparator. Inequality check uses XOR gates, while Equality is implemented with XNOR, which means it computes the results of XOR anyway, but adds in an additional inverter. I also doubt if it is possible to do an early exit with a hardware operation.
@avishayguttman67797 жыл бұрын
15:32 what's the answer to his question?
@y09i_6 жыл бұрын
My guess is they are assuming condition not to be true is more likely, and this way "else" path uses only 2 instructions while "if" path uses 3.
@jfk-yb2vh4 жыл бұрын
@@y09i_ No that's not the reason. Look at the answer I've provided in the reply.
@jfk-yb2vh4 жыл бұрын
It is because let's say you are comparing 2 32-bit numbers. Now you'd start checking bit by bit for both numbers and see if each bit is equal. If you're checking if the two numbers are not equal, you can immediately return negative as soon as you encounter two non-matching bits. On the other hand if you check if the two numbers are equal, you'd have to iterate over all the 32 bits to determine whether they're equal or not, making the process more time consuming.
@rahul_terani4 жыл бұрын
@@jfk-yb2vhsuppose if we use "!=" In high language, then it becomes "be" checking condition in Assembly. As he said. I this case it checks each bit.
@akin.kilic.4 жыл бұрын
@@jfk-yb2vh Wow that makes a lot of sense, my first thought was to make it similar in looks to higher level, on higher level if comes first then else, if you do bne first in mips, you are writing the if instructions first and else second, same order as the higher level but your explanation makes a lot more sense.
@inspired_enough_to_grow_up5 жыл бұрын
"yani" is that hindi word?
@thatmanplayzmc15114 жыл бұрын
its Turkish and Arabic which means "means"
@a.n.73387 жыл бұрын
can someone tell me why did he used bne condition instead of beq since its in c language???
@iqbalahmad37547 жыл бұрын
for code efficiency, we he used bne . Its a trick to reduce the ambiguity and create simplicity in code.
@studentcommenter58586 жыл бұрын
Because structure of "if" statements from high level languages remains same when changed to assembly level language. if(...){xyz...}else{abc...} is compiled to get bne $r1,$r2, label1 xyz... label2 abc... label1.
@studentcommenter58586 жыл бұрын
This basically comes under MIPs design principle 1 : simplicity favors regularity. They are trying to preserve the structure of the high level program by converting it the way it is to assembly level program.
@pythonprofreak75225 жыл бұрын
In C, we don't have to create a label for the code to jump around based on the condition. Everything is running sequentially and if the condition is met, it will run the specific statement in that condition. If (condition1) else if(condition2) else if (condition3) else .... In MIPS it doesn't have that luxury. If you have two conditions, you can either use the example above by creating just ONE label by using BNE to jump to Exit label or you can create TWO labels. One for BEQ to Loop and One for BNE for EXIT. That is too many things to write and not that efficient as we are using extra memory space. On his example, j Loop is already there to indicates that as long as condition save[i]==k, it will keep looping. That way, we are saving memory space.
@mech_builder79988 жыл бұрын
what's Beechum Sel Dil mean anyone?
@hanamona58788 жыл бұрын
He says "Biçimsel dil" which means "Formal language" in Turkish
@ericwang49176 жыл бұрын
why i is 2 ???????? why i is not 1?? 22:34
@y09i_6 жыл бұрын
For every loop iteration we want to calculate the address of save[i] which is 4 * i bytes forward from save[0]. We left shift by 2 to find 4 * i (for example 001 -> 100).
@pythonprofreak75225 жыл бұрын
It is because 4=2^2 which is 4 bytes == 32 bit size of each element in the array. We have to jump 4 bytes on every increment of the i address in the save array.
@MoaazElMasry9 жыл бұрын
I Swear to ALLAH (GOD) you are the best one i had ever seen who explained this topics for me ! Thanks Prof. ALLAH protects you dear.