 Myself Rohini Mirgu from Vulture Institute of Technology talking about ARM core resistors. Learning outcome at the end of this video you will be able to explain ARM core resistors explain CPSR resistor in detail. So, ARM core data flow model video is already in that video already the resistors we have discussed. So if you have gone through that video can you recall how many number of resistors are there in ARM core architecture. You can thank and write the answer. Thank you I hope you have written the answer. This is the ARM core data flow model in that I discussed about the resistor file there are total 16 resistors that we have already discussed and these resistors are named from R0 to R15 each resistor is 32 bit wide. So we are talking in detail about the resistors in this video. So active resistors there are total 15 user resistors plus PC, PC is the program counter which are the 15 user resistors these are R0 to R15 these are available to the programmer from R0 to R15. In this R0 to R14 are the general purpose resistors R15 is a program counter. The resistors R13, R14 and R15 have given a different color which indicates that these are the special function resistors along with that one more resistor which is CPSR. These CPSR and SPSR these are the two program status resistors and in these resistors this resistor which is called as CPSR which indicates current program status resistor. Resistors as we have discussed R0 to R12 are general purpose resistors what for they are used they are used for data processing. There are three resistors which are used for special function that is R13, R14 and R15. R13 is a stack pointer SP we have seen in the previous diagram this is the SP R13. So this SP points to the special area of memory which is called stack. Stack is nothing but the area of memory used to hold the data that will be retrieved soon. The stack pointer can refer to one of these what is that main stack pointer MSP or process stack pointer PSP. Along with that there is R14 which is link resistor what it does it holds the return address for branch and link instructions R15 is a program counter it is used to control the sequencing and execution of instructions and why it is called as a program counter because it holds the address of next instruction to be fetched by the processor resistor. So ARM core uses CPSR for what for monitoring and control of internal operations. So for that CPSR is useful, CPSR is divided into four fields each field is of 8 bit 1. So each field that means out of these four fields the first field is flag, second field is a status field, third is the extension field and lastly the control field. So these are the four fields in CPSR. In the extension and status fields these are not used and these are reserved for future use. So the programmer cannot use this extension and status fields whereas control field. Control field is again containing the processor mode, state field and interrupt mask bits. The processor state we are going to talk much about the processor state in the upcoming video. So in this video I am mostly focusing on the resistors. In the flag field, flag field contains the condition flags. So different condition flags are available we are going to see them in detail. This is the CPSR resistor that we have talked about it is divided into four fields. This way is a flags field, status field, extension field and control field. The flag field contains the flags which are the condition flags NZCV and here control field contains again the different bits like for interrupt mask there are two bits. For state there is one bit for mode there are five bits 0 to 4. So let us look at these different flags as well as the modes and the interrupt mask bits in detail above of the CPSR. Let us look first at the condition flags. In condition flags first bit that we have seen is the N. So N is negative, N equal to 1 indicates it is a negative bit and when it is set when it is equal to 1. So bit 31 of the result has been set indicates a negative number in signed operations. The number of the result obtained is a negative number in a in signed operations. Z is the 0, Z indicates a 0 flag, Z equal to 1 that means if Z is set it indicates that result of operation is 0 and it is used to indicate the equivalent. C is the carry flag, C equal to 1 that means when C is set it indicates that the result of operation causes an unsigned carry. C1 indicates the result of operation is caused an unsigned carry. V equal to 1 this V is overflow it is not indicated as O but it is indicated as V overflow. So when V equal to 1 that means when V is set that indicates the result of operation causes signed overflow. So this is the difference in C and V. C indicates the result of operation has created a carry for unsigned carry whereas V1 indicates result of operation is overflowed and it is a signed overflow. So control bits are interrupt mask bits, there is I and F are the interrupt mask bits. If I is set it indicates that the interrupt request is disabled. There are two types of interrupt request in ARM core, fast interrupt request and interrupt request. So I equal to 1 indicates this disables the interrupt request when F, F bit is set it indicates disables the fast interrupt request. So based on I and F we can enable or disable the interrupts. Another bit after interrupt mask in the control field is processor state. In processor state there is a single bit T that T indicates thumb. When T equal to 0 it indicates that the processor is in the ARM state. When T equal to 1 indicates thumb state. Now in the control bits only there are the five bits which indicates the processor modes. The five bits from 0 to 4 indicates the different processor modes. These are the different modes abort, fast interrupt request, interrupt request, supervisor, system, undefined and user. All these modes can be identified based on different bit patterns in the mode field 0 to 4 of the CPSR. Then coming back to the resistors, when I am talking about the resistors already as I said there are only 16 resistors R0 to R15 and one CPSR resistor total 37 resistors. Now you can say what is this conflict? So I want to resolve the conflict here actually in active mode there are only the 16 resistors which are active along with CPSR. But even I change the mode in that case the number of resistors are going to vary the different resistors will be there. So if I count all those resistors those are coming to be 37. So out of 37 resistors 20 resistors are hidden at different times and these resistors are called as banked resistors. So remember the hidden resistors which are called banked resistors such resistors are 20 so total resistors are coming to be 37 and they are available only when the processor is in a particular mode. Which resistors are available in particular mode? Banked resistors otherwise the active resistors are available in user mode. Now resistors set which I said 37 resistors how the count come 37? 30 general purpose resistors considering in all different modes one dedicated program counter one dedicated CPSR current program status resistor and 5 dedicated SPSR saved program status resistors. This is the one diagram which I have already shown to you in which the user mode resistors there are 16 resistors and CPSR. When the mode changes like interrupt request mode these two resistors will be there which are banked out and along with one more resistor SPSR. So as I said there are R0 to R12 are the resistors and then one dedicated CPSR, 5 SPSR and one more we have said one dedicated program counter that you can see that program counter is not banked out in any case as well as CPSR is as it is it is not banked out and these resistors are also there. These are the references used for preparing this video. The upcoming video the next video will be based on processor modes and states. Thank you.