we discussed two pipeline stages, fetch and the decode will combine. So, moving on today we look at the remaining wide stages of the walk. So, the third stage is the is the issue instruction issue stage and there are three issues that we have mentioned last time. We will talk about the issue points and the address key. Three issue keys are in particular and it is a collapsible format type of 7 memory. So, this allows you to discuss last time this allows you to compare a value with all the entries and select 7 entries. So, this is bigger for comparing the registrar identifiers to wake up instructions and essentially it is such as for reading which instructions among this is the issue at most 2 instructions to a use and it can issue back to back to the instructions. So, this is possible because you can pick up the values to the bypass. The address queue is slightly more complicated it is not a collapsible can. So, this one is collapsible because you can issue instructions out of the program orders which means whichever gets ready will issue and that will create all holes in between the queue entries. So, to free up the slots towards the tail of the queue you have to collapse it. So, that the holes can move to one end where you can keep allocating. This one is a P4 can meaning that instructions cannot issue out of the program they will only issue in order and when a load or a store is issued the address is still not home. So, we have also discussed this problem earlier that what kind of complications that can arise because of this. So, to simplify matters what RTK does is that it issues loads and stores in order. So, which is why this is a P4 can it is not a collapsible can. So, that is the address queue there are couple of more logics associated with the address queue. So, there is a load with retry unit. So, let us try to first understand what we require retrying a load instruction. First of all is a data cache miss that is a initial load instruction that misses the data cache. So, what we essentially have to do is that you large of this request. So, that the data comes back from somewhere in a higher level of space in the hierarchy and when the data comes back the load will have to retry possibly. So, we issue a load and hopefully this time we can get the cache. And there is a memory address and the second situation where we want to retry a load is a memory address conflict. So, this one we have a discussed when discussing caches. So, let me try to explain it now. So, what happens is that suppose you have a cache miss. So, what you need to do is you issue the miss request to the next level of the load hierarchy and also you start selecting an replacement candidate. So, it is where the data all that why I am doing the same. Now, the problem arises if while that miss is outstanding you get one more request to the same cache miss which also misses the cache. So, now of course you can say that well I can continue doing my replacement run request policy without the already selected replacement candidates. So, essentially if I have a 4 way cache I have 4 candidates to select for replacement. So, I say that the first cache miss already selected this one from replacement. And before this one comes back there is another request that goes to the same same cache miss. So, what are the options do I have well I can say that you cannot use this one for replacement. So, this one is already kind of result you can only select one from these three. So, it is not doing that which r 10 k does is that it is allows the second request. The second request will have to be retried once this miss result. We essentially say that you can have at most one cache miss request path cache set outstanding at any moment. So, that is one example of memory address conflict. The second example is easier where suppose you have a load instruction we missed in the cache. And the request has gone out to be fetched. And you get a second load instruction which maps to the same cache that has just missed because the cache log is several bytes. So, I can have two load instructions. So, if this is my cache log I can have one load instruction loading from here another load instruction that is loading from here. So, these are maybe 4 bytes each whereas I have a cache log of say 32 bytes. And then suppose that this one is this one happens first this one goes second. So, when this miss happens you have already sent a request for this cache log. So, of course then it does not make any sense when you have this miss you send a request again. So, in this case what we will do is that we will reject this load and we retry for the cache log conflict. That is another example of a memory address conflict it is not exactly a conflict it is essentially a request mapping to a cache log which is already outstanding. So, for both of these you retry the load instruction later. So, there are two 16 cross 16 matrices that track address dependence information and rows and columns are address geometry because there are 16 entries in these fields. The first matrix avoids unnecessary thrashing by allocating one way in a set to the oldest conflicting address geometry. So, it makes sure that the oldest entry always makes progress by allocating a replace with cabinet. The second matrix records load store dependency at 64 to drain and carries out load following. So, we saw we discussed earlier that if a load overlaps with an already outstanding store then the load can take the value from the store if it overlaps completely. So, that is what is tracked by the second matrix a returning refill. So, a refill is essentially a message that happens in response to a cache list. So, you send a cache list request eventually the refill comes back to the cache. So, returning refill slopes the address queue and wakes up all matching instructions. So, there may be multiple load store instructions waiting for this particular cache log. When that comes back it will essentially compare the cache log address with all the pending addresses the 16 entries to the queue. And anybody that matches will retry to a dedicated cache log. So, the this port allows one retry per cycle. So, we will retry one of the parameters. So, that is pretty much the address queue logic. So, as you can see there are two simplifying factors that help the design. One is that the address queue is a P4 queue. So, we issue load storing order that takes care of your loads by passing a store the same address and getting a long time. And the second simplification is this one that it allows only at most one cache list for cache index. So, this matrix essentially keeps track of your index conflicts this one. And if there are two address queue entries that require the same cache index it will make sure that the oldest entry gets a way result. So, that will make progress. If you did the other way if we allocated the younger entry to this particular way the older entry may actually replace it before the younger entry comes back. So, they keep on replacing each other it does not make any sense. Because remember that between a refill and a retry there is a window of time where the refit block may actually be replaced and the retry may generate one more cache list. And you definitely won't worry about that because this may lead to a life loss. They keep on happening forever. There are two entries that are pretty grossly thrashing each other. The problem is more severe in mid certainty because there are N1 caches at two ways in our system. So, that makes it very vulnerable to these problems. If you have more ways then it becomes much easier. Any more questions? So, this is one point about the dependent instructions that take value from a node. This is essentially talking about a situation where you have a node instruction may look like this. And then you have let us say an add instruction that confused all of them. So, this is a dependent instruction of the node. So, the load state two cycles may execute. During the first cycle the address is computed. In the second cycle the data key will be the data caches. So, essentially if you look at the pipeline of the load instruction it will look like this. So, first stage is fetch, second stage is pick out rename. Then it issues. Then it I will call it address generation and then the memory stage and then it will commit some time. So, this is roughly what your load pipeline looks like. So, ideally I want to issue an instruction dependent on the load. So, that the instruction can pick up the load value from the bypass just in time. So, if I want to add instruction I would basically want my add instruction execution stage to be positioned here. So, that it can pick up the value from the bypass from the memory stage. So, moving back what it means is that I must issue the instruction here. Because for add instruction this is essentially the execution stage. And then you know decode rename. So, assume that a load issues in cycle 0. So, this is cycle 0. So, time moves in this direction. Compute address in address 1. So, this is cycle 1. And looks of cache in cycle 2. So, this is cycle 2. And remember that this particular stage may take several cycles depending on whether I hit or miss in the cache. What I am showing here is the best possible scenario. But I will give you the cache. So, I want to issue the dependent in cycle 2 as I have shown here. So, that this can pick up the value in the execution stage. So, that it can pick up the load value just before it is coming in cycle 3. So, this coming may not be exactly here maybe further away. So, the load looks of cache in parallel with issuing of the dependent. So, this is that is what is happening in this cycle. While the load is looking of cache I am issuing the dependent. So, what I am assuming here essentially what I am assuming is that this load is going to hit the cache which is why I am issuing it here. So, this is essentially a speculation we have talked about this earlier. So, dependent issue event before it is known whether the load will be in the cache. This is called load hit speculation. And essentially what may happen is that your speculation may go wrong in cases when the load misses the cache. Now, you might ask I mean what is the big deal anyway we are going to use a large number of cycles since the load has missed the cache. What is important is that instead of issuing this load if I knew this load is actually going to miss the cache. Instead of issuing this load in this cycle I could have issued an independent instruction which would not have wasted this cycle. Because essentially I am now wasting this particular cycle this particular issue is not because of this type of miss speculation. The good news is that this particular speculation is correct most of the time because hit rate is normally high in the caches. So, for most programs you can easily assume that your hit rate will be in excess of 90 percent. So, with the likelihood of 0.9 more than 0.9 I would be assured that this will not miss the cache. All right is it is it clear basically this particular speculation. Now, we will look at Pentium 4 very soon probably next week sometime we will find that it has actually multiple issues stages because Pentium 4 cycle is much deeper than this point. So, now you can imagine what is going to happen here this dependent issues here all right and it will go through several pipe stages before it goes to execution and based on that decision dependent of that particular instruction. So, for example, there could be another instruction here which consumes dollar 3 I will assume that this add will actually pick up the value in the right time and I assume that I will issue this instruction also before even going anything what is going to happen this structure. So, here we are talking about wasting just one issue slot where you find that this particular instruction. So, here when you come to that point we will just take any question for this. So, Arten Kassar does not do anything actually to improve this particular speculation activation this always assumes blindly assumes that the load will be over time. You could actually have predicted here which could learn the behavior of a load. For example, it is known that certain load instructions miss heavily the cache. They are just missing the cache. So, for those dependence you could actually not do this. So, but it does not really do anything of that sort. We will look at one such predictor we will discuss the answer next. So, this is a summary of the functional units sorry the slide is very dense. So, right after instruction is issued it reads the source operands taken by the physical register number from the register file and forward the instructions execute. So, let me see. So, in that in this example I skipped one stage here just for the sake of explanation. So, actually if you have one more stage in between. So, if you could rename the issue the register fetch then you will execute. So, this is essentially the stage four right. So, stage one stage two right. So, this r f and r f and execute is where we use together stage one ok. So, this is actually ok. So, there are two ALUs branch and shift can execute on ALU one multiply divide can execute on ALU two. All other instructions can execute on any of the two ALUs. So, ALU one is responsible for triggering rollback in case of yes because it executes the branch instructions and this prediction recovery we have already talked about this marks all instructions after the branch is washed restores the register map of correct branch stack entry sets the fetch PC to the there are four coding points one dedicated for coding point multiplying one for coding point divide one for coding point square most of the other instructions execute the code for the code. And there is the local unit has two address calculators. So, result of one is actually selected. So, I will also explain why this is done in this way. Data DLB is fully associated with 64 entries and translates 44 bit virtual address to 40 bit physical address. Physical address is used to match data cache tags which is virtually indexed data. So, your pipeline looks like this issue register fetch then execute or what I call the address generation stage here.  So, any question on this? So, can somebody guess why this is done like this? There are two address generation units. But, you select one of them why should I have two there is a 64. Under what circumstances you would actually do that. It is clear that you are doing something on two areas. And the reason why you are doing using both the areas is because you probably do not know which one you produce the character means the later point you get to know which one should be selected. So, essentially you are doing some kind of a speculation. What to that? Program counters. So, this ALU these two ALUs always receive load store instructions. So, there is no ambiguity here. Program counters we have routed to this particular area. Well actually branch targets are complicated in the second stage itself will come to branch targets. That was a problem. This ALU only computes a comparison of them. So, the ALU is computing that these two ALUs produce two addresses one of which is connected. So, branch is connected. Sorry. One of them is connected based on taken branch? No, no, no nothing like that. Now, I first of all do not understand what you mean by that. I mean the load is. So, I have an instruction, a load instruction. Load instruction. No, there is no PC there. We are mixing the branch target. This is a load of the two ALUs. So, you will have a base register with an offset. But it is trying to say it is like if we have a branch that changes your base register. How can it? For example, if you have a if structure, then your base register only gets modified. It can get modified in two ways. Like in if part and as part. That is right. So, with base register change you could have to get anything different. And where is the load instruction after the set structure? After the set system. That is not what is done here. So, the answer is that with starter key has two different formats of load instructions. And this format is not decoded until the load reaches this point. So, you sent the instruction to both the ALUs. One ALU will assume one format and complete ALUs. Other ALU will assume the other format and complete ALUs. In parallel, you decode the format for the load instruction. And finally, you put a multiplexer which will select one of these based on the output. So, let us see how many read ports and write ports are there in the register file. There are seven read ports. So, you have got that we have two separate register files. One for integer instructions one for integer values So, what are these seven read ports? So, remember that we have two integer ALUs. We just discussed in the last slide. So, for those you require two read ports each because there will be two operands for each of these functions. That makes it four. There are two read ports for the address generation ALUs. So, there are two ALUs each of them may require one register. So, that makes it six between store because store will require store will require reading one register for the value that is trying to store it. JR and JAL are they will be they will need to be one register to know the branch target because these are indirect branches and move to floating point register file. So, these are these are your MTC instructions move to the processor. So, that will require one point. So, these three actually share a port. So, it means that there will be a scheduler which will hopefully make a fair scheduling between these three types of instructions to give that give access to that protocol. So, that makes it seven. So, again notice one interesting design rate of here. He could ask well why didn't they have my reports. So, then I could actually get rid of this protocol sharing. The point is that these three types of instructions are not. So, it doesn't make any sense to dedicate one port for them because they will be very rarely used. So, they say that well even if I have one port very rarely I will have a cycle where two of these actually are containing for this port. Most of the time this port will be given to the instruction there will be only one instruction containing for this port. Three write ports one for each ALU. So, these two ALUs are talking about address direction ALU doesn't need to be write port because it doesn't write to the register point it generates an address which is used to look up the TLP and the cache. And one shared by load JL and JLR and move from 40.5. So, these instructions would need to write the return address to a register. And again the same argument actually follows that these are more frequent instructions ALU instructions these are not so frequent. And again the second point is that rarely you will have a cycle that would have you know two of these instructions ready and they will contain for the same way. We talked about the predicate predicate bit last time we talked about conditional move instructions right. So, there is a 64 bit predicate vector attached to the integer file needed for executing conditional move on zero instructions. So, there is a bit attached to each integer register. So, of course the way the implemented is that there is a separate 64 bit register which is treated as a vector alright. And i th bit corresponds to the i th predicate value which essentially says that whether register i is 0 or not. So, that is what we mentioned. So, whenever you produce a value in register i you also compute this particular predicate at the same time and set the floating point file. So, let us see what these are to each for adder and multiplier. So, they would require two opponents to it and one shared between store and move. So, why do we need any need for for loading instructions floating point loads sorry. At the same. At the same. At the same. At the same. Exactly. So, the only thing that we need for a load instruction is an integer register which is required to compute the address. The address is an integer value. But it will require a right code. So, that is what is mentioned here. So, three right quotes one each for adder and multiplier. So, these two and one shared between load and move. So, here this move instructions that we are talking about. What are these move instructions? Oh, I am sorry. So, move from the 20.5 to the integer file. And this one is essentially move from integer file. The floating point move instructions that moves from one 40 point register to another 40 point register. That execute on the on the remaining. Yeah, on the remaining. So, one for multiplier one for divide one for square root and add, subtract, move and everything else negate, etcetera, etcetera would execute on the last. So, floating point stores will require a floating point value. So, they would be so, the address same address and making the same. Yes, floating point and integer load store would share the same address. Okay, as I will write back this execution the result is given back to the register. So, as I just mentioned no need to wait till the has guaranteed that is basically associated with a unique instruction also the results are from the to inputs of is guarantees that the can be issued back to back and still they can receive for example, here is the load bits this guy will pick from the bypass only because you are doing this. So, as soon as the instruction completes you launch the result on the bypass. Yeah, so for example, here right I can issue these two instructions back to back. So, if you look at the pipeline timing for these two instructions so, the first add instruction etc and I want to position the second add instruction so, that you can pick it up from the bypass. So, I will be issuing it here essentially what it means is that on two consecutive cycles I will be issuing the two add instructions one after another without any bubble in between and still the second add will get the value on time. So, if the second add will actually read read R3 from register file here which will be a wrong value which will get overridden here from the bypass. So, retirement or commit means this is the last phase of the instruction immediately after the instructions finish execution they may not be able to leave the pipeline because you have to guarantee in order retirement which is necessary for precise exception. When an instruction comes to the head of the active list R10K retires four instructions every cycle. So, we discussed that last time which is why you are the active list is a four way band. So, what does the retirement involve? It updates the branch predictor and frees the branch stack entry if it is a branch instruction it moves the store value from the address queue entry to the L1 data cache which is a store instruction. So, remember that the store values because you do not really know if the instruction will retire because there will be a branch report the store instruction which may be spread the store may not even retire So, this has an implication which is that the address queue entries must have a field to hold the value of the store. It frees the old registration physical register and updates the register free so this one we discussed last time an internal floating point instruction frees the issue queue entry immediately operate issues but a load store instruction holds the address queue entry until it retires. So, why is that? What is the difference actually? So, what I am saying is that this add instruction for example would free the issue queue entry right here as soon as it leaves the issue queue but if it was a load instruction what is the reason for running this? It has to retry and it has to store the value of store So, stores I am going to understand but retries so load instructions they can be Yeah, sure So, I can say that well those which miss the cache may immediately once they complete on their issues and things but that is still earlier than on it is like delaying it longer what is the reason? So, you do not know that actually which is fair enough So, the reason why it is here is that is a purely multi processor what may happen is that some other processor so let us say you are loading from address X some other processor may modify address X So, what may have happened is that you have loaded the value from address X because the load has completed but you have not yet retired because you have not yet moved to the care of the activist So, while you are sitting in the activist waiting to be retired some other processor modifies address X So, we will do that the question is am I is it ok to retire this load without any concern because remember that this load must have loaded the previous value the value will not reflect the value that has been produced by the other processor So, essentially I have two processors P1 and P2 this one had a load from address X this one had a store to address X this load happened before the store but it retired after the store So, in certain situations it is not correct to retire this load you have to retry even after that So, to catch that you maintain this Q entry and actually grow when the store actually comes up in this processor actually it does not happen in that way but roughly speaking that is what happens and any processors Q holding this address would actually retry the load and all dependents so the load must get the new value dependents must read it So, this is the reason why you need to hold address Q until you retire and the reason why you cannot do this search on the active list is because the active list is not a searchable entity it is not designed to be a searchable and finally you free the activist entry itself that completes the life of an instruction any question So, all the way left to it is the memory hierarchy which we have already discussed So, there are on chip instruction data caches both are two ways data cache has 32 byte line size while instruction cache has 64 byte line size Why? Instructions usually have higher special quality and that is because usually execute sequential unless we talk to a branch which takes you somewhere else So, this is the reason why you have a longer cache block size instructions Both the caches are virtually indexed and physically tagged we need that the cache index is not physically attached So, this has some implication on how you actually design the cache So, let us try to understand that So, with a 4 kilobyte page size data cache runs into a synonym problem So, this one we discussed in the class what a synonym problem is So, just to remind you quickly imagine that this is my data cache which is virtually indexed meaning that if I this is a virtual address So, let us try to figure out how many bits of the address So, data cache has 32 byte line size So, block offset is 5 bits how many bits is the index is the L1 data cache So, you can verify that 9 bits and remaining things are tagged So, we say that I think it is a 44 bit virtual address Yeah, 44 bit virtual address translates to a 44 bit virtual address So, page size is 4 kilobyte So, my page offset is somewhere here 12 bits So, now imagine two virtual addresses V1 and V2 belonging to two processes and they want to share these these two virtual addresses So, essentially what it means is that the pages containing these two virtual addresses will actually point to the same physical page Now, so what this means is that So, remember that the translation when you translate the virtual address to physical address these 12 bits will be unchanged because it is the offset within a page So, that means if I take V1 and translate it to the physical address what will happen is that these 12 bits will remain unchanged and since these two addresses share the same physical page is guaranteed that whenever they are referring to the same cash lock same physical cash lock these 12 bits will be identical that is guaranteed what is not guaranteed is about these two bits they may or may not be identical So, let us consider the situation when they are not identical what will happen is that V1 will map to some cash index and V2 will map to some other cash index So, now the first process modifies this particular cash lock to V1 and gets context switched out The second process reads from this cash lock it is a wrong map So, essentially the sharing in variant is not wrong So, this is called a synonym problem So, essentially these are these should be synonyms which was not guaranteed Is it clear to you today So, that is the problem is mentioned here upper two bits of the index creates a problem So, that is the first problem that you have to worry about The second problem is if you think about the tag the tag of the tag So, we are saying that it is a physically tagged cash So, each tag of the cash lock comes from the physical address So, this virtual address gets translated to the physical address and essentially what we do is that you take the upper 30 bits of the physical address for the tag So, let us see if that can lead to some problem So, imagine two physical addresses V1 and V2 upper 30 bits are going to be there So, these two cash locks are going to have identical tags Now, I will have a real problem if these 14 bits in the virtual address are identical because then what will happen is that the same cash index they have two cash locks with exactly identical tags they have no way to distinguish them they have the same index they have the same tags Is it clear to you today So, I am talking about two two addresses two cash locks that have upper 30 bits identical in the physical address and the lower 14 bits are identical in the virtual address that can happen So, there are two problems So, how do you face it So, it talks about the solution to the second problem It says MIPS Art and Key uses the complete physical page number as a tag It uses this part for the tag 32 bits Does this solve the problem Does this solve the second problem What do you think If it does not There are two physical addresses that have identical 32 bits upper 32 bits in the physical address and identical lower 12 bits in the virtual address that is what we are essentially saying but there are identical addresses because translations do not change the lower 12 bits So, this one solves the second problem if we use the complete physical page number as a tag which only extract two bits for tag So, what is the usual solution for avoiding synonyms So, all the pages together which could have all the synonyms All the synonyms in this way we ensure that they match the same same No, can you explain what is the what does it do So, you have these two bits here in the virtual address So, you divide your virtual pages into four bits based on these two bits and whenever two processes request for two virtual pages to be shared they are picked up from the same column but can it is that these two bits should be identical So, that does take care of this problem but there is an additional issue that is and after this we have an L2 cache and we said that when we have an inclusive cache hierarchy ok if you replace a block from L2 cache you must invert the block in the L1 cache to maintain inclusion and after it has an inclusive hierarchy So, now imagine the problem your L2 cache is physical index physically cache So, when you replace a block from L2 cache you can derive its physical address from the index of the cache So, now you send a physical address here to the L1 cache asking that invalidate this block L1 cache has no way of beginning of writing this block is not a physical address because it is indexed by the virtual address but if I give you these two bits of the virtual address you can actually derive the virtual index because these 12 bits are going to be same in the physical address as the virtual address you take these two bits of the index in the L1 cache and then you can invalidate them So, this is the reason why it maintains these two bits of index in L2 cache So, that for the inclusion these invalidations can be performed when you go to multiple processors there will be many other messages that come from the L1 cache So, remember the addition to this you have to do page analysis this does not allow solving However, this takes care of designing an inclusive hierarchy where your lowest level cache or the innermost level cache is actually possible Is it clear? So, our data cache has four ports what are these four ports one is used by labels one is used by the issued address one is used by the load retry and the one is used by store graduation So, remember that when a store commits it will write to the cache the retry unit has a dedicated port and these are the traditional addresses that come to the cache from the address generation unit so, again I have erased that and refills are coming from the next level of the address it reads the data RAM from both the ways speculated so, what it does is as we are talking about the L1 cache it has two ways as it says that So, it actually reads the data from both the ways in parallel and selects one or zero based on the tag RAM option what was the other option the other option would be that you first do a tag RAM lookup compare figure out if you actually have a hit and then look up the data RAM based on the data RAM So, you save time by doing this in parallel So, look up the data RAM and the tag RAM in parallel both come out together you do the hit check on the tag RAM and then figure out whether to pick one or not to pick anything from the two outcomes of data RAM So, you save time what you sacrifice you come to more power I definitely so, the power consumption will be actually more than double because in many cases and even on a hit I will be accessing only one here in all cases I will be accessing two So, this is often called parallel tag data lookup and traditionally used in L1 cache to save time So, that is the main purpose and since L1 cache are normally have small associativity the energy consumption is still within limit but you are really targeting a low power design then probably you will be able to do this you will be sacrificing in terms of latency but you will be saving in terms of energy I think this was the last slide which I will comment next time or maybe I will probably take for it because let us try So, it is a two way pseudo setup cache configurable at good time so, what is two way pseudo setup one of the ways in the second you look up one of the ways yes which is in the second way so, there are so, you serialize the lookups to the two ways so, there is a fast hit and a slow hit so, why was it done normally why is it done so, you go say now sorry we speculate that only one of the ways will be more use why not put the more you should get into that way you do not have to look up the other ways so, what do you think time so, the fast hit latency is same as a direct map cache radius so, that is what you say we have certain hit did not do serial series because of that and guess why that is a hit so, imagine what you have to do if you have to look up both the tags compared to looking up one tag at a time what you gain what you lose yes, but they did not have serial series for the reason of having direct map cache latency on fast hits there is a separate reason for that why they did not have a two way serial series cache they do gain latency if it is a if it hits in the first way but that was not the primary reason and the different company reason and that has to do with the off chip part of the entry cache so, your main processor does not have entry cache inside it is outside so, there is a separate package which has the entry cache so, you read the tag bring it here I think the more bandwidth so, what if we are succeeding more so, there will be less data every day yeah, so why is that important 32 bit scan right sorry this is a 32 bit scan so, yeah so, I say it saves what why is that important more web more web outside outside outside outside more web more web outside the chip on the board why is that important take about the reason why we multiplexed nascent cache in memory what was the reason so, this is a pin limitation that was the main reason you need pins to get the data right because this is off chip so, you need more pins on the chip to get the get two tags in parallel because the nascent cache addresses because the data is not only pins exactly same as we have just the limitation of pins authentically say that we cannot accommodate so many pins to have two tags in parallel we have to do so again so, there is an MRU way selection RAM that is maintained on chip so, it is a it is kind of a predictor you can say what it maintains is that for each into cache set it says which way is the MRU way and they predict that this is the way where you are likely to get this time because it was the MRU way last time so, in the first cycle the 16 data bytes of selected way is read in parallel with the tag in the next cycle next 16 data bytes of the selected way is read in parallel with the tag of the alternate way actually we are talking one extra address bit so, as a tags and I am on chip they are compared heat on first tag returns predictor data in the same cycle so, you have a 32 byte cache line size here you can see that actually because L1 cache 32 bytes so, whenever L1 cache request request data to the N2 cache it is always in chunk of 128 data pins here and however many bits you need for the tag that is determined by the capacity of the cache


Okay. Now it started. Okay. Good morning everyone. Welcome to the course BC 212 on Christian apologetics. We come to the very end of this course. So we are most likely going to finish things today, just depending on how much interaction we have. But let's take a moment and pray together and then we'll get started. Can I please request somebody to just pray with us as a class and then we will start. Anybody could pray please. Dear Heavenly Father, we come to you under the name of Jesus. We thank you for this beautiful day and for the class we are about to have Lord. God, we pray that you will open our mind and heart and help us to listen to each and every word that pastor says. We ask the Holy Spirit to invade this class. Help us to understand the deepest meanings. God, you call this to preach your gospel. Help us to grow more in you, Jesus. Grow more in your knowledge. I bless Pastor Ashish in Jesus' name as he teaches God. Be with him and guide him and throughout the class give us the good wife connections and all the other things that we need. Let this class be done for your glory and let this class bring your praise Jesus. In Jesus' name I pray. Amen. Amen. Amen. Alright. Thank you. Thank you everyone. So, we've been in the very last lesson where people are talking about social challenges. I'm going to go ahead and share the notes speedy up so that we can quickly review and then move forward on the topics we want to cover. So, when we talk about social challenges, of course, there are many, many kinds of themes and topics in areas where there are challenges and people are looking to see what the church, what believers are saying about those matters. And why should we even be involved? Because the Bible tells us that the church, this is in 1 Timothy 3 verse 15, it tells us that we are... The church is the upholder of truth, is the foundation and upholder of truth in society, so in this world. So that means the church has to uphold and support truth in the midst of all the things that are going on around us in this world. And so we have to speak the truth in love. We have to say this is what the truth is concerning many of these matters. Now, what we did last week was we said, okay, you know, let's give ourselves a framework from the Word of God based on who we see God is and what he's given to us in this world, so that we can use that as a guide to help us arrive at our decisions or conclusions. So we said, you know, when we look at how God deals with the world, with sinners, he does not overwrite other people's choices or human will. God communicates, was right and wrong, but he leaves, he says, okay, you make the choice. He's willing to reason together. That means you come and you share what you have to say. Say what you have to say and God is willing to answer. He treats everybody with love and fairness. He makes the sun to shine on the good and evil. He makes the rain to fall on the good and evil. So he treats everyone love and fairness, even those who are not, you know, walking according to his ways. And he does not, but God does not compromise himself. That means he doesn't go against himself. His truth is sure. He's holy. He's just, he's love. He cannot go against that. So this forms our framework based on which we then try to, you know, look at different areas and arrive at an answer for those areas. Now, we have to acknowledge that there are many things which that Bible doesn't specifically mention. You know, a lot of things and we'll be covering many of those things today. So in those cases, what we, how are we going to, you know, say what's right and wrong? How are we going to arrive at some conclusion? Well, we're going to understand the nature and character of God, like we shared earlier. And if there's anything, the general instruction of Scripture, even if it's not specifically, specifically on this matter, if there's something in relation to it, what does the Scripture say? And then we use our framework, you know, do what is just fair and right for every person. And then we arrive at a conclusion. And then when we communicate this, we say, look, it's my opinion. It's my understanding, right? Because there is no particular chapter and verse that we are referencing. We're just saying, look, we've tried our best to put everything together. And we're arriving at this conclusion or this decision. So we're not saying this is God is saying, we are saying it's our opinion, right? Because we can't point to a particular chapter and verse on that matter. So having given that kind of understanding, we said, okay, let's talk about specific social issues. We dealt with marriage and homosexuality and same-sex marriage and how that affects various scenarios. We were dealing with business situations, office situations, political situations, and then local church situations. So many, you know, just that area will then affect so many other or that one point marriage and homosexuality and same-sex marriage then affects so many areas in everyday life. We also mentioned our spoke about divorce and how we have to look at it and then how to be, you know, we have to love the people. Yes, they may have gone through some of these things in life and we're not saying, you know, it's the best, but we have to love them and let them know that God still loves them in spite of what they've got. So we've covered till here and we're going to go forward on other topics today. The next topic we can look at is about abortion. Now, is it wrong? What about, you know, special situations and so on and so forth? There's a lot of debate on it. Now, at a very basic level, they say, yeah, abortion is wrong because it's taking away the life of a person, though the baby is still unborn. It is actually killing an innocent life. So, yes, at that very basic level, it is wrong. And in all cases that we mentioned, you know, sometimes unmarried people get pregnant.  We didn't plan for this. Sometimes, you know, so we didn't plan for the child. And so these are not valid reasons to abort a child because these are, in many ways, preventable, right? Or it happened, but it's not a sufficient reason to take away the life of an innocent child.  And then if they've gone through it, we don't condemn or judge them. I mean, we know it's wrong. It's not right to take away the life of an innocent child, but unborn child. But we don't condemn them. They've already gone through it. We can't change it. We can lead them to a place of experiencing God's mercy and forgiveness. Talk to them about it. Let it not become a repetitive behavior. You know, so that's something we can do. We can undo what they have already done in the past.  So having said that, then there are other situations that we also have to talk about, which, for example, what if it's medically life-threatening? You know, so either the life of the mother, in many cases, if the life of the mother is at risk in this particular pregnancy. So that's one scenario to think about. Or other complications where, you know, nowadays because we can do the scans and all those kinds of tests, the doctor will do the tests and then the doctor may tell the parents, you know, the baby is, you know, it's not being formed. It's a deformed baby has serious problems or various things. And the physicians, the doctors are recommending an abortion. So what to do in such situations? Now, here's what I would suggest. Now, the Bible is known, we know the Word of God says, thou shalt not kill, don't kill. That is a commander of God. But now here you have a situation where, example, the doctors are saying, the life of the mother is at risk. And what if the mother already has another child to take care of? If she dies, what she and the baby die during the pregnancy, then who will take care of their other child? I mean, yeah, the father is there, but, you know, we don't need to have the mother alive for the sake of the other child. Those are questions, you know, or if the baby is having complications and doctors are saying, okay, this baby will not survive, et cetera, et cetera. Do we take their advice and about the child, you know, or if the child is born, and then, you know, and they survive a few days or whatever, you know, for a short period of time, so on. A lot of things are there medically speaking. So what should we do in such situations? We don't have a chapter and verse for it. Then there are other cases where there's a rib, you know, that means this woman was violated and it results sexually violated and results in pregnancy. Now, she didn't want to have the child. It was forced upon her. Maybe she's not ready to take care of the child. Maybe she doesn't have the means to take care of the child. And what about the person who did it? He may have escaped and he's not taking any responsibility. So that's another situation to think about. So we know it's wrong to kill. But then what about these kinds of situations? So what I propose, and again, I'm saying, when I say I propose, I'm saying it because this is what I think. I'm not saying this is, you know, chapter and verse. I feel we shouldn't be fixed on a certain answer because every case is different. The people involved, the parents involved, we should give them the freedom to make the choice. So, for example, you know, husband and wife, the wife is scaring and the doctor says, look, for whatever reason, you know, the doctors may do all the tests and all that. And they have the reason that the medical advice is it's life threatening. The doctor would advise an abortion termination of the pregnancy for this, you know, whether it's life threatening or other complications. The medical field is giving the parents some advice. What should we do? Well, we should just let the parents make the decision.  You pray and don't feel guilty either way because, you know, for example, in one scenario, the mother needs to live to take care of, you know, maybe they already have one or two children and the mother needs to live to take care of them and be there for them. They need a mother. So then the husband and wife may decide, okay, we'll terminate this pregnancy so that, you know, the mother can be safe and take care of the child or the children they already have. So that could be a decision they make. And so in a situation like this, my suggestion would be that we don't enforce our ideas on people. See, because God doesn't force things on. He lets people make the choice. And we say that, you know, you listen to God and you be at peace. And we won't judge them either way.  It's not right. It's between them and God. Right. So we just encourage them. You seek God. You do what you feel at peace in your heart to do. And we are not going to judge you either way.   You know, and we just, we can't force our idea and say, okay, don't terminate this child. It's a human being. You know, it's easy to say that, but she, she, it was against her will. She was violated. So, and she may not be ready in so many things. And the man who did it may have disappeared, run away somewhere. We don't know whatever happened. So we can't put that burden on the woman. So again here, you know, my, my suggestion is don't force the decision. We let this woman, let her make the decision. You know, she may choose to terminate the pregnancy. She may choose to have the baby and give the baby out for adoption. Or she may choose to have the baby and bring the baby up in spite of what has happened. You know, that is entirely her choice, whatever she decides to do. And she needs, she needs to feel at peace for whatever decision. And we will just, you know, without condemning, because she's been through a very painful, painful experience. It was against her will. And so therefore, we will just let her make her decision in peace and, and, and just support the person through, you know, what they have to go. So there are cases where we can very clearly say, no, you know, it's not right. You know, this can be prevented. It's not right. There are cases where we have to let the people involved make their decision. And, you know, in the end, we realize that there are people who have gone through it, either before they became believers or sometimes even after they become believers, they make choices. We shouldn't condemn them or judge them and just, you know, be kind, be merciful to them in spite of that life experience. So this is what I wanted to share here on, on this matter of abortion. And let me pause and see if there are any questions on this or in this regard. And we can go forward. Any questions here? Anybody wants to ask specific questions on this topic? It's not an easy topic. There's a lot of challenges around the world, politically, you know, socially, a lot of things are happening on the subject of abortion. But I think, you know, if we are clear in our minds how to approach this, we can do it without being judgmental, without being harsh on other people.  We cannot just randomly kill, you know, the unborn child. That's not right. Any questions on that? My question is not on abortion, but there was one situation, one of my close relatives, she had twins. And unfortunately, there were some weaknesses or something they were going on. And so they sent a prayer request to all our family, to all the pastors they knew to pray for the child that they will get back well soon. But we prayed for a day and then again and again. And at last both the twins said that so they were believers. They believed in God. They prayed over the child and everything was good. And in the end, we all were in a situation we don't know how to comfort them, what to say to them. And so in such a situation, how can we still tell them that God is there, Jesus is your hope, is the way, because they were expecting this child for a long time playing over it every day. And we just didn't know how to comfort them. So I just wanted to ask that. Right. So this is again a real situation, a situation where it's a very painful, painful experience to journey through, especially for the parents. And in matters, in a situation like this, it's important for us not to blame anyone. You know, so, and theologically, so we can say, okay, theologically, I mean, it's from the Bible and look at it from a biblical perspective. We know God hasn't changed. God is true to his word. His word is truth.  But we can't, we should not point a finger at anybody and say, because of your unbelief or because of your lack of faith or because you didn't have enough faith or because there was sin in your life, you know, this happened. No, that's the wrong thing to do. We shouldn't do that. So we should accept that. Yeah. Okay. We, you know, we fail, but God is still the same as what is still the still truth. So what we, in a way to encourage them, so one is, you know, when they're going through it, that's not the time to give very deep theological answers or anything. That's the time just to say, hey, we love you to just to be there. And sometimes being quiet, silent and just being there physically is more comforting than saying a lot of things. So when something like happens, just say, hey, we are there with you. We, we still love you, you know, and just sometimes not even say anything, be there if people can be around them physically, just to be with them and help them through it.  And as they journey through it, you know, then later on, you know, let's say maybe a week or so later, then they're going to ask the question, why did this happen? Of course, they're going to be asking a question right from the moment it happened, but that's not the time for us to try and give answers. That's a time for us to keep quiet and just stay with them, support them through it. And then, because they're grieving, there's a lot of pain. And then, you know, at a later point, maybe a week, two weeks, that's the time. If they, you know, based on relationship, we can say, hey, one thing we must always remember is God is faithful. God has not changed. His word is true. And we must still continue to look to him to remind them of the faithfulness of God, the unchangeableness of God. And in a very loving way, without pointing fingers, saying, letting them know that God didn't fail, you know. But of course, any failure was on our side, but don't point any finger. Don't bring it with condemnation. The important thing is to encourage them to have faith in God, that God has not changed. And from our side, we will never know the answer. You know, every case is different. Every case is unique and is very different. So we can't say, okay, this is the answer for every situation. We won't know the answers. It's okay. We don't need to know the answers. We just need to keep our eyes on the Bible, on the Word of God, and continue journeying through. So that's how, you know, from as, that's how I would say, you know, we journey with them through the situation, without condemnation, without trying to answer questions, you don't need to answer. You just need to affirm, help them look to God, you know, at the right time. And especially in the initial days, just silent support is very powerful than the words we can speak at those moments. Is that okay? Yes, Pastor. Thank you. Paul, you had something to say. I see your hand raised. Yes. To me, I concur with you as you say, we should not judge. Yeah, it is only God to judge. But the Word of God is there to encourage us. And the Word of God is truth, is knowledge, and is life soft. To me, I would again differ. I would say, at that time, this person need the Word of God. Word of God to encourage us to build our faith, not to give the Word later on, after things have gone worse. We first give the Word, and then that Word can build faith in somebody, before that somebody makes a decision. So at that time, when it's passing through that hardship, I think that's the right time that person needs the Word. Other than waiting later on, being silent, then later on, we come in and out to comfort. It would be late, so for me, that is my stand. Thank you. Paul, were you referring to the case Jeffina mentioned, or were you referring to the abortion situation? I just want to... which were you referring to? I was referring to the abortion situation. Oh, okay. Yes. Of course, I agree. It all depends. I mean, my thought is... This current answer was in reference to Jeffina's situation. In reference to the abortion situation, if it was the first three cases, so I was trying to differentiate... I agree we need to speak the truth, but here's what I wanted to say, that we need to speak the truth in love. So if it's in the first three situations, yes. We can clearly state it's wrong to take away our life, because there's no valid reason. But in these situations, so I'm differentiating between the situations. In these situations where somebody's life...  So here's a second different set of situations. So what I was saying here is we don't want to force our ideas on somebody else. We know there is life. Life is important. But here in a situation like this, whose life is more important? If the mother, if medically in a situation where the mother's life is at risk, the baby in the womb is at risk, but then there are two other children or other children in the family who need the mother, what do you do? So in these scenarios, the second set, that's where I was saying we don't force our ideas. We can tell them, but we encourage them to listen to God. Now when I was talking about being silent, I was answering Jeffina's question, which is a different scenario where the two children have already died. So that's a totally different situation. So anyway, I was just trying to differentiate. Here's one set of situations. Here's another set of situations. And Jeffina's situation was completely different, which is having to do with babies who have already died. That's when the death has already happened, parents are going through the pain. That's the time to remain silent is what I was trying to say. So there are three different scenarios that we were referring to. But thank you, Paul, for sharing your thoughts and I respect that. Anything else? Anybody wants to say anything? Okay, let's run through, you know, a few other situations. And again, these are all, you know, what I would say as these are situations where we may not always have chapter inverse. Now, for example, climate change and environment. We know that. Okay, so here's the two different biblical perspectives that we see happening. There's one group of people who will quote Genesis chapter one and two, and other scriptures like Psalm 115 verse 18, where it tells us God has put us to be stewards of the earth. They're told, man, it goes up to the earth, you replenish it, you take care of the garden, so on. So they're quoting chapter inverse and they say, we are responsible for the planet, we have to take care of it. Then there's another set of people who would quote verses like second Peter chapter three and Revelation 21 22 and say that, hey, the Bible says God is going to destroy everything by fire. The world is eventually going to be destroyed. There are going to be new heavens and the new earth. So why are you worried about the environment and taking care of it and spending so much money on worrying, being worrying about climate change and environment and so on. And both are quoting chapter inverse. And these are, I'm talking about in the church, you find both sides, both groups of people. When it comes to this whole matter of climate change and taking care of the environment. So even within the church, there are, you know, there's two groups of people who are looking at it from different perspectives. So the people who quote second Peter three and Revelation 21 22, they say, why bother?  But then there's the other part, other side, like I mentioned, who say, look, we are stewards. Yes, we know God is going to renovate the, you know, make everything new. There's going to be new heavens. And yes, we know, but at least while we are here, we need to take care of the planet and do other parts. We know God, this is all going to be gone. But while we're here, let us be good stewards. So this debate is going on. My personal position is that we should be good stewards, right? That yes, we know that in the future there will be new heavens in the new world. God will do it. But while we are here, we are fulfilling our responsibility, which God gave us in the Garden of Eden. He told us to take care of what He gave us. And so we do the best we can. We try to study, we start to research how to take care of it and do it. And do it because it matters to everybody. Everybody's affected, you know, if there are drastic weather changes, it affects the produce of crop in different parts of the world. It then affects availability of food and water and basic things. And so this matters to everybody. And so while we are here, let us be good stewards. So that's, you know, how I would like to think on this. But I am aware that, you know, there's the other side that looks at it very differently. But we shouldn't become enemies with each other. That's the sad thing that this whole matter has become so political today that it's almost like people fighting over each other, fighting with each other on this matter. And because there are a lot of vested interests, you know, and it's money is involved, of course. So it's become a very big political issue and so on. But from a biblical perspective, I think it's right to say we should take care of the environment and be concerned or invest time and effort into this. Any thoughts on that? Any thoughts on climate change or thoughts or questions on climate change and on this? So pastor, so when there is a climate change, like, let's say there's a disaster happening, like an earthquake or flood. So it's, it's obviously the work of Saturn, right? I just want to be, is it the work of Saturn, like changing with the climate like flood and all these disasters from Saturn. And so when we pray, does it really helps in that time to change the whole situation? Because if there is a flood in some place, we believers are encouraged to pray that the flood will be stopped and it could be stopped.  And how does that help? Just some little doubts in my heart. I'm still believing that God is good. He's working everything together for good. Yeah, it's a valid question. So remember, in our previous chapter on suffering, one of the things we mentioned, this is based on Romans chapter eight, verses 18 to 23, we said that all of creation is in the bondage of corruption. That means creation itself has been given over to a process of decay, a deviation from its original state of perfection. So what's happening is there is God in design earthquakes and tornadoes and hurricanes and volcanic eruptions, all these things. That was not the plan of God, which destroys lives. But it's happening because creation has deviated from its original design. So that's one reason. And that's the main reason I would say, let's say maybe 90% of what happens in these weather phenomena is because of that. Very little we can directly attribute to Satan, right? It's not like the enemy is causing the volcanic eruption or the earthquake or no. Now, everything's major things that are happening is because of that bondage to corruption, bondage to decay. All of creation has been subject to that and it's deviating. It's not in the way God wanted it to be. So that's 90% or more. I'm just putting 90% as a number. It's not a biblical number. I'm just saying that the majority of what happens is because of that. Now in certain cases, the enemy can be involved like we saw. Again, this wasn't the previous lesson where Satan caused certain phenomena to happen to destroy job's possessions. So we saw, okay, the enemy is using weather elements to bring destruction. So that would, I would say, is a smaller percentage. And then lastly, we also see God, in cases of judgment, God would use these natural elements to carry out judgment. So we have all three, but the majority is because of this natural process of decay. So when it comes to, that's why we pray or we exercise faith because God has given us faith to deal with what has happened through the fall, which is all these weather phenomena that's happening. We use our faith and we pray. We try, you know, we speak to the storm, the winds, the waves, whatever is happening. We pray and we do have a part to help people. That's why. And even in the case when it's demonic things. But when it's a case of God's judgment, then the most important thing to do is repent. Repentance is needed. Is that okay? Yes, best. So this is where, you know, this whole stewardship of the earth is involved. That is, if we can take care of things, we know everything is in decline in the weather phenomena and natural elements. We know it's in decline. But if you can do up a part to alleviate further damage or further, you know, bad things happening, that's to whatever we can. That's being stewards stewardship. Now, let's move to another topic. You know, in the, in, in, in, in what's actually happening in the world, all of these things, a lot of debate happening, you know, a lot of things going on. And I'm just mentioning it very briefly. But things are very complicated in the world. You know, when we talk about some of these topics, but it's at least good to have a, at least be clear on where we should, where our position should be. Now, let's talk about a couple of things here. Now, how about organ transplant? And I'll just share quickly some thoughts and we'll go forward.  And what if you take the organ from another person, a donor, put it into their body for the betterment of their health? Is that okay? Or are we playing God? That's the question, you know. So that is one thing. And is it right for a believer to have an organ transplant, right? A believer, maybe one of the kidneys are failing. So maybe your relative will donate, is willing to donate one of their kidneys. So is it right for a believer to have an organ transplant or are we taking the place of God in doing this? And related to that, is this whole, another big area of surrogacy.  Sometimes, you know, the wife's health is not, what to say, it's not, will not support her to carry, not enable her to carry. It's not safe for her to go through a pregnancy, but they want to have children. So what do they do? They donate their egg and sperm that's implanted in another woman's womb.  So that's a, is it the right thing to do or not? And now medical science has kind of perfected this whole thing. They say, yeah, it can be done and they keep it, it's happening all over the world. Surrogate motherhood is happening, surrogate is happening and it's all going on. Now, is it right? You know, or are we doing something against God's design? Then again, related to that, the third aspect is genetics. Now, in genetics, we're getting down to the level of the genes, the DNA within the cell and what is happening. Now, genetics can apply in so many areas. They're already doing it. For example, in agriculture, you have genetically modified plants and vegetables and fruits and so on. So they can modify the gene so that the fruit can be better. It can be more flavorful or the plant can go grow even during adverse weather conditions. So many things have already been done. And today, in the markets, in many parts of the world, the produce we're eating is actually, in some cases, genetically modified. So the plant has, the gene, the plant has been edited in some way to make it produce crop. And then of course, it's done so that people can have food to eat even so that's happening. Now, that is also being done, say, for animals. They're doing that for animals. They're also now, they have also been doing it in humans to treat. So genetics, one is to treat sicknesses. So certain conditions, they edit the genes. So just like, you know, there is medications, there is surgery. Now it's going down to the level of treating other genetic level, treating certain kinds of sicknesses. Then they're extending it to treating the unborn child. So the babies in the womb, they see the baby has a defect. So they can treat the modified genes in the child and treat it even before it is born. That is there. And so the big question is, is this okay? You know, how can we say there is no chapter in verse on these matters. But it is all happening around us, science and medicine. They're doing these in science and they're doing these things already. And we are seeing it happen. And what do we say about these things, right? What should our response be? Now, again here, because we don't have any chapter in verse, we have to try to come to the best conclusion we can by asking the right kind of questions and thinking through it based on what we know about God and the scriptures. And even in this, there are different points of view. There are, as I said earlier, there are people who are okay with it. And there are people who say, no, you should not. I'm talking about within the church. And I've just given a link to a Catholic church. I'm not promoting the Catholic church, but I'm just saying this is what they say, or some people in the Catholic church are saying, you can read it online if you're interested. But basically they're saying, look, the church needs to say something about the matter. The church has to say, you know, take its position on these matters. And so in these three situations, what should our response be? What do you think? You know, I have my opinion. I can share my opinion, but I would like to hear from you. What do you think about organ transplant, surrogacy, genetic treatments? You know, so many different, like I said, there's so many different kinds of treatments and they're continuing to discover more.  Now they're also doing it in humans. So what are your thoughts on this? And again, I know there's no chapter in verse. So we have to arrive at the best conclusion we can, but it'd be nice to hear your thoughts. Feel free to share. You know, they're not going to judge and condemn anybody on your views, but just for us to share our thoughts. In my opinion, I don't feel anything wrong about this. It just makes our life better. Yeah. I've never thought about it even. Never compared it with the Bible. I think it's okay. So your initial reaction is because at the end of it, it's making life better. It's not harming anybody. It's not, you know, doing harm in any way. It's only doing something good. Therefore, based on that premise, we can say, yeah, it's fine. It's okay. Anybody else? Okay. So I see your comments. John, John Paul says, I think it's okay. Considering God himself as a source of all knowledge in progenetic modification. It literally says I'm okay with that as long as it's benefiting mankind. Okay. Thank you for sharing your thoughts. Anyone else? So I'll give you again, I'll give you my opinion. There is no chapter and worse on this, but I think I just agree with them. You know what? All of you have shared that the way I look at it is, you know, as long as it is serving to help somebody, then it's all fine. You know, for example, organ transplant. You're helping a person.  So perfectly fine. Surrogacy. Yeah. A couple, they want to have children, but for certain medical reasons, they're not able to. Okay. It's fine. We're not destroying anybody's life. They're having their own children, but it's coming through a different way. Fine. Same thing with gene genetic editing, gene genetic modification, so on. So my perspective, and like many of what many of you have shared, it is okay because the end result is we are helping people. We're helping them in some way. And we're using the knowledge of what God has created to, we're using the knowledge. We're using what God has enabled us to understand to make life better. And from that perspective, if we use this knowledge correctly to make people's life better, then we are perfectly fine with it. So that's basically our view on it. Again, we have to say, look, we don't have chapter and verse on this. If somebody else has a different view, we respect it. It's okay. We're not going to fight about it. We look at it like this and we express our opinion without being judgmental on other people. Okay. So we have a few more topics. I just, you know, we would probably take maybe 10 or more minutes, 10, 15 minutes, just comment on some of these other things. So let's go for a break and we'll come back. And we'll just go through the other topics just to give us some thought on these things. Okay. See you all in 10 minutes. Thank you.


I was asked recently, so how are I maintaining energy and a feeling of, I guess, wellness, an intention in the midst of the disruption and the pandemic? And it's not always easy because it is just a different way of working. But one thing that's worked for me recently goes back to what I shared in other videos, which is thinking like a scientist. So thinking like a scientist, part of it is just being curious about everything. And this pandemic has made, has actually put all of us in an experiment. We're learning more about what makes human beings work individually and collectively through this pandemic than at any other point I can remember in my working life, seeing how important it is for personal connection and how important it is for us to be into groups and how important it is for us to have shared aims and goals. And that physical presence is very different from virtual presence. We're learning about how we're wired. So how am I navigating this? Because I'm noticing there are days when I'm good, days when I'm not, hours when I'm good, hours when I'm not, and starting to see my experience of this pandemic in this new world as an experiment. I'm essentially the lab lab rat. And I get to see what is it that drives me? What is it that causes me to do what I do? What energizes me? What doesn't? And looking at the experience through that lens as a scientist with curiosity, real curiosity about how I as a human being, I'm navigating this space and what I can learn has actually made what was a frustrating and not enjoyable experience into let's just say less frustrating and actually a lot of the time enjoyable and enlightening experience. I wish you the best of luck with it.