Thanks again John! You saved me last year and this will be the first time you've saved me this year! Highly probable that it wont be the last either! Legendary.
Hello Chris, Glad it helped. Check out the others in the playlist at: ua-cam.com/play/PL6lxxT7IdTxGXX6D6j-zjzcgoOD8WYMS2.html Rergards Phil (John Philip Jones)
The decoder receives the operation code from the instruction register. It then 'informs' the control unit as to the actions it is to perform in order to carry out the functionality defined by the operation code.
Great video, but regarding the decoder, anyone know how @4:09 "the electronics works out what 3C actually means." ? Anyone? Every video I've seen glosses over it, as is done here.
A decoder informs the control unit as to the sequence of paths and gates it has to open and close in order for the control unit to action the instruction. The design of the circuits that perform this functionality consist of logic gates and sequential logic circuitry. It is a non trivial task that requires a background in electronics. Hope this helps. Best wishes Phil
Hello, I have a question, why can't the PC be connected to the bus, why do I need the MAR register? The same question about the IR and BR register, thanks in advance for the answer.
The PC and IR are designed to 'drive' the electrical signals around the electronics inside of the chip. The MAR connects to the address bus which has a different electronic circuit arrangement. The MAR has different levels of signals at its output to drive the address to the memory chip. It also allows the control unit to synchronise with the control signals. When the contents of the MAR are addressing the chips the PC will have moved on to the hold different content required for the next stage of execution.
+Bruce Collier ABCDEFHL are the names of the registers inside the CPU. A is the accumulator and is shortened to A so the other registers follow on as B, C, D etc. The HL is related to the fact that this register can and does act as a pointer to a specific memory location. The H stands for High Byte and the L for Low Byte. Regards Phil
There are numerous registers throughout a CPU and the ALU has access to these registers. Not all of these registers are accessible to a machine code programmer. So in short the 00H is stored in a register. Regards Phil (John Philip Jones)
Hello John, Really loved the video...Thanks for explaining it to me..Just I have one doubt..Please guide me, as how to obtain radical root architecture, where every other register is visible and everything is transparent..even though they aren't under the reach of programmer...I mean the TRUE 8085....all registers visible sort of architecture..
Manufacturers of the chips give a programmers model of the CPU. That is they give access to all of the registers that the machine code instructions are able to access directly. The following link gives details on the chip you mentioned. There is a Micro Architecture image on this webpage that may help. Regards Phil
Every computer program regardless as to the language is ultimately converted to machine code. It is the machine code that is executed. The machine code consists of many machine code instructions. Every instruction is executed using the fetch decode execute cycle. So every instruction will have a decode phase. Best wishes Phil
Hello, I am a first timer on this channel and it looks great I loved the explanation. I have a question though, How and when is the Instruction's address loaded into the PC register?
When a computer is switched on it always looks to the same memory location for its first instruction. Once switched on the operating system is responsible for deciding on the location of the next program (app) to be run. Regards Phil
Oh so it's as if it is scouring through the memory one by one, starting from the OS's kernel and necessary programs all the way to the user's right? You deserve a lot in return for the help you're providing out here for free ! you're one great guy and I thank you a lot.
XenoContact An operating system consists of numerous managers (groups of related software). One manager is responsible for monitoring the mouse, keyboard etc. If for example the user clicks the word icon then the operating system locates the software for word and runs it. Have a look at the following videos on operating systems: www.johnphilipjones.com/operating-systems1.html Regardless as to the program e.g word, a browser etc. they will all have a first machine code instruction. The address of this instruction will be loaded into the program counter. The address will not always be the same it depends on where the operating system loads it. Many machine code programs appear in devices such as a washing machine (that is an embedded system). Within these devices the machine code program will always be at the same address. Regards Phil
9 років тому+1
Nice video. Thanks. But I still have a question. How does the "3C" get into the memory in the first place? In other words, if I write a code and it gets translated (let's suppose the entire code translated to 3C) it's still basically a text (because code translators are basically just giant string parsers). What transfers it to physical electronic impuls resulting in 3C being writen to memory? I hope I expressed myself properly. :D
Samuel Leško When you switch on a computer the electronics generates a pulse of electricity that arrives at the reset pin of the central processor unit (CPU). Once reset the CPU always fetches from the same memory location. This location would be the boot program for the computer operating system. The boot program would have been ‘burnt’ onto the read only memory during manufacture (this memory is then fixed to this program). Once the boot program is called it is in control of the hardware of the computer. This boot program will proceed to load up the operating system and set various aspects of the computer. Once the operating system is in charge you as a user can issue commands that the operating system runs. One of these commands would be to load an editor into which you typed in your assembly language program (Inc A is an example of an assembly language instruction - numerous assembly language instructions make up you assembly language program). Once you have completed your typing you issue a command to assemble your assembly language program (an assembler is a program that will do this). This translates your assembly language program to a machine code program (e.g. Inc A becomes 3C). At the top of your assembly language program you issue directives as to where in memory you wish the machine code to be loaded. A loader (another computer program) then places the machine code in random access memory (memory that can be altered). Your machine code program is then fetch-decode-executed from this random access memory - starting at the first address of the machine code program. You indicate where the first address is using the directives at the top of your assembly language program.
9 років тому+2
John Philip Jones Nice. Thanks a lot for the detailed description! It really helps me to understand this. But I still feel my question wasn't entirely answered (sorry :P), but now I know better what I am, in fact, trying to ask. So, how does the loader place the machine code instructions into memory? I mean, physically. The question that has been bothering me for quite some time is how or when does the information stored abstractly as code get transfered to physical information, physical current going through the wires of computer.
Samuel Leško A computer system is essentially a number of pathways that carry electrical signals. The direction of these signals is controlled by logic gates (which are essentially switches). The electrical signals are either a high pulse or low pulse of electricity. A high pulse represents a binary one and a low pulse represents binary zero. Everything in a computer system is represented by binary numbers; consequently everything in a computer system is represented by electrical pulses. The opcode 3C is a hexadecimal number that we use as humans because it is easy to remember compared to binary numbers. Inside a computer the opcode 3C is a binary number byte and is 00111100. However, it is actually a low pulse, low pulse, high pulse, high pulse, high pulse, high pulse, low pulse, low pulse. Every memory location has an address which is a binary code. Every memory location has content which is again binary code. This content of a location can be an opcode, data or indeed another address that can be used to ‘point to’ another location. Binary codes (electrical pulses) representing an address of a memory location are sent along parallel lines of conductivity (called the address bus) to the memory chip. This selects a specific location from the memory locations available. Another pulse of electricity is sent along a control line to tell the memory chip it is to receive a binary pattern for storage. At more or less the same time the opcode 3C is sent as pulses of electricity along the data bus (a different set of parallel lines of conductivity).
When the computer is switched on an electrical pulse is generated by the electronics. This pulse is applied to a pin on the CPU chip and the Program Counter of the CPU is loaded with the same address every time. The first program instruction is put in this location. This instruction is part of the operating system so the operating system is now in control. So every time you want to run a program the operating system loads the program counter with the address of the first instruction of the program you wish to execute. Regards Phil
Shibdas Bhattacharya The same address is used everytime the computer is switched on. Everytime a new program executes the operating system will load the program and it will be a different address most time.
No the memory address register is filled with the binary address that is to be transferred to the address bus. The contents of the page table are used when swapping between RAM and disk memory. The contents of the Page table would be transferred to the memory address register.
8 years on and these videos you made are still so informative wow man I love this so much
11 years on and this video remain evergreen❤❤
John, this is some great stuff. Clear, straight to the point and at just the nice level of detail.
Thank you
Phil
Thanks again John! You saved me last year and this will be the first time you've saved me this year! Highly probable that it wont be the last either! Legendary.
Thank you for your generous comments. I am glad the videos are helping you.
Best wishes
Phil
(John Philip Jones)
Thanks! I'm taking a Open University course in IT, and their explanation was very hard to follow. Yours was much easier. Much appreciated.
Hello Chris,
Glad it helped. Check out the others in the playlist at:
ua-cam.com/play/PL6lxxT7IdTxGXX6D6j-zjzcgoOD8WYMS2.html
Rergards
Phil
(John Philip Jones)
yes, it is really like having a personal tutor ,thank for your great work
Thank you
Phil
hello, so there's this one thing I don't understand is what is the function of the decoder??
The decoder receives the operation code from the instruction register. It then 'informs' the control unit as to the actions it is to perform in order to carry out the functionality defined by the operation code.
Sir thank you for your good work.
What a great explanation. Thank you
really great tutorial... liked it ........ I didn't expected that i will understand in such wonderful way.... thanks for the video..
Very nice explanation
Thank you so much, learnt a lot from your video.
very nice! Thanks for that educational video.
this video is exactly what i needed, thank you!
cristal clear..in 5 minutes...amassing..!!!!
Nice explanation
veena ali Thank YouPhil
(John Philip Jones)
Thanks a million Sirs :)
Really helpful, though would I be right saying the BR is sometimes referred to as the MDR? Never heard of a BR before.
***** Yes MDR is used and it is an example of a buffer register hence the BR I use in the video.Best wishes
Phil
Thanks very much
Great video, but regarding the decoder, anyone know how @4:09 "the electronics works out what 3C actually means." ? Anyone? Every video I've seen glosses over it, as is done here.
A decoder informs the control unit as to the sequence of paths and gates it has to open and close in order for the control unit to action the instruction.
The design of the circuits that perform this functionality consist of logic gates and sequential logic circuitry.
It is a non trivial task that requires a background in electronics.
Hope this helps.
Best wishes
Phil
thanks sir for clearing my doubts.
+Rajeev Ranjan Glad it helped
Phil
thank you so so MUCH
+THE KERNEL Glad it helped
Phil
Hello, I have a question, why can't the PC be connected to the bus, why do I need the MAR register? The same question about the IR and BR register, thanks in advance for the answer.
The PC and IR are designed to 'drive' the electrical signals around the electronics inside of the chip.
The MAR connects to the address bus which has a different electronic circuit arrangement. The MAR has different levels of signals at its output to drive the address to the memory chip. It also allows the control unit to synchronise with the control signals. When the contents of the MAR are addressing the chips the PC will have moved on to the hold different content required for the next stage of execution.
Thank you!
Thanks a lot Sir.
That was excellent
A great video thank you, why are the memory address letter in that order and why is it ABCDEFHL, why not G,I,J,K,L,M?
+Bruce Collier ABCDEFHL are the names of the registers inside the CPU. A is the accumulator and is shortened to A so the other registers follow on as B, C, D etc. The HL is related to the fact that this register can and does act as a pointer to a specific memory location. The H stands for High Byte and the L for Low Byte.
Regards
Phil
what a beauty
where does the ALU keep the 00H taken from A before incrementing??
There are numerous registers throughout a CPU and the ALU has access to these registers. Not all of these registers are accessible to a machine code programmer. So in short the 00H is stored in a register.
Regards
Phil
(John Philip Jones)
Hello John,
Really loved the video...Thanks for explaining it to me..Just I have one doubt..Please guide me, as how to obtain radical root architecture, where every other register is visible and everything is transparent..even though they aren't under the reach of programmer...I mean the TRUE 8085....all registers visible sort of architecture..
Manufacturers of the chips give a programmers model of the CPU. That is they give access to all of the registers that the machine code instructions are able to access directly. The following link gives details on the chip you mentioned. There is a Micro Architecture image on this webpage that may help.
Regards
Phil
Do exe files also need to be decoded??? Because as per my understanding they are in binary
Every computer program regardless as to the language is ultimately converted to machine code. It is the machine code that is executed. The machine code consists of many machine code instructions. Every instruction is executed using the fetch decode execute cycle. So every instruction will have a decode phase.
Best wishes Phil
well, you'll know a lot in this 5 minutes!
:)
Hello, I am a first timer on this channel and it looks great I loved the explanation. I have a question though, How and when is the Instruction's address loaded into the PC register?
When a computer is switched on it always looks to the same memory location for its first instruction. Once switched on the operating system is responsible for deciding on the location of the next program (app) to be run.
Regards
Phil
Oh so it's as if it is scouring through the memory one by one, starting from the OS's kernel and necessary programs all the way to the user's right?
You deserve a lot in return for the help you're providing out here for free ! you're one great guy and I thank you a lot.
XenoContact An operating system consists of numerous managers (groups of related software). One manager is responsible for monitoring the mouse, keyboard etc. If for example the user clicks the word icon then the operating system locates the software for word and runs it.
Have a look at the following videos on operating systems:
www.johnphilipjones.com/operating-systems1.html
Regardless as to the program e.g word, a browser etc. they will all have a first machine code instruction. The address of this instruction will be loaded into the program counter. The address will not always be the same it depends on where the operating system loads it.
Many machine code programs appear in devices such as a washing machine (that is an embedded system). Within these devices the machine code program will always be at the same address.
Regards
Phil
Nice video. Thanks. But I still have a question. How does the "3C" get into the memory in the first place? In other words, if I write a code and it gets translated (let's suppose the entire code translated to 3C) it's still basically a text (because code translators are basically just giant string parsers). What transfers it to physical electronic impuls resulting in 3C being writen to memory?
I hope I expressed myself properly. :D
Samuel Leško When you switch on a computer the electronics generates a pulse of electricity that arrives at the reset pin of the central processor unit (CPU). Once reset the CPU always fetches from the same memory location. This location would be the boot program for the computer operating system. The boot program would have been ‘burnt’ onto the read only memory during manufacture (this memory is then fixed to this program).
Once the boot program is called it is in control of the hardware of the computer. This boot program will proceed to load up the operating system and set various aspects of the computer. Once the operating system is in charge you as a user can issue commands that the operating system runs.
One of these commands would be to load an editor into which you typed in your assembly language program (Inc A is an example of an assembly language instruction - numerous assembly language instructions make up you assembly language program). Once you have completed your typing you issue a command to assemble your assembly language program (an assembler is a program that will do this). This translates your assembly language program to a machine code program (e.g. Inc A becomes 3C).
At the top of your assembly language program you issue directives as to where in memory you wish the machine code to be loaded. A loader (another computer program) then places the machine code in random access memory (memory that can be altered). Your machine code program is then fetch-decode-executed from this random access memory - starting at the first address of the machine code program. You indicate where the first address is using the directives at the top of your assembly language program.
John Philip Jones Nice. Thanks a lot for the detailed description! It really helps me to understand this.
But I still feel my question wasn't entirely answered (sorry :P), but now I know better what I am, in fact, trying to ask.
So, how does the loader place the machine code instructions into memory? I mean, physically.
The question that has been bothering me for quite some time is how or when does the information stored abstractly as code get transfered to physical information, physical current going through the wires of computer.
Samuel Leško A computer system is essentially a number of pathways that carry electrical signals. The direction of these signals is controlled by logic gates (which are essentially switches). The electrical signals are either a high pulse or low pulse of electricity. A high pulse represents a binary one and a low pulse represents binary zero. Everything in a computer system is represented by binary numbers; consequently everything in a computer system is represented by electrical pulses.
The opcode 3C is a hexadecimal number that we use as humans because it is easy to remember compared to binary numbers. Inside a computer the opcode 3C is a binary number byte and is 00111100. However, it is actually a low pulse, low pulse, high pulse, high pulse, high pulse, high pulse, low pulse, low pulse.
Every memory location has an address which is a binary code. Every memory location has content which is again binary code. This content of a location can be an opcode, data or indeed another address that can be used to ‘point to’ another location.
Binary codes (electrical pulses) representing an address of a memory location are sent along parallel lines of conductivity (called the address bus) to the memory chip. This selects a specific location from the memory locations available. Another pulse of electricity is sent along a control line to tell the memory chip it is to receive a binary pattern for storage. At more or less the same time the opcode 3C is sent as pulses of electricity along the data bus (a different set of parallel lines of conductivity).
very good explained
thank you
Thank you
Best wishes
Phil
(John Philip Jones)
How does the program counter get the first address..can you please explain
When the computer is switched on an electrical pulse is generated by the electronics. This pulse is applied to a pin on the CPU chip and the Program Counter of the CPU is loaded with the same address every time. The first program instruction is put in this location. This instruction is part of the operating system so the operating system is now in control. So every time you want to run a program the operating system loads the program counter with the address of the first instruction of the program you wish to execute.
Regards
Phil
Shibdas Bhattacharya The same address is used everytime the computer is switched on. Everytime a new program executes the operating system will load the program and it will be a different address most time.
thank you !
thank you
Thanks for learn essembley language
Sir, thanks for your video. This video is really helpful. If Possible, could you please tell me the name(number) of the microprocessor system?
It is based on the Zilog Z80 microprocessor.
Best wishes Phil
@@johnphilipjones Again, I really appreciate your help, Sir. Have a nice day!
sweet. thankss :)
Is the memory address register really the page table?
Nice video btw nice and clear to understand
No the memory address register is filled with the binary address that is to be transferred to the address bus. The contents of the page table are used when swapping between RAM and disk memory. The contents of the Page table would be transferred to the memory address register.
John Philip Jones ahh so this is basically as low level as your gonna get lol... This is how the electric charges transfer binary on the cpu right?
It is a model of what happens at the lowest level. For example below machine code there is microcode.
gooooood
NICE :)
tttttttttttttttttthhhhhhhhhhhhhaannnnnnnnnkkkkkkks