okay so last time we were looking at what is the memory map the meaning of memory map is how is the address space dedicated to the various memory chips that you have okay and we had looked at this diagram this was an example given in the book okay and the idea here was that you will need some kind of decoding circuit decoding means for examp example here there is a decoder so internally what does the decoder have decoder can consecrate and gate so which means effectively at the end of the day you will need and and or Gates okay if there are multiple address rows that you are to capture you will need end and then or gates to capture or decode a particular chip so I had asked you to do reverse engineering we had discussed Ram 3 last time and I asked you to figure out what are the address ranges or what are the chip selects for the remaining boxes okay so hope you have done that okay okay so let's take a look at another example so how do you think about this process of doing address space allocation okay so let's say what you think about is first whatever boxes you have you try to figure out what is the smallest possible box that you have smallest possible meaning in terms of the address bus size or effectively the number of words that are stored okay so in my case I'm going to assume that my smallest possible box is going to have 128 words so as soon as I say 128 Words which means which address lines will it need for addressing meaning total seven lines it will need which means it will need a0 to A6 okay so which means whenever now you draw a table what you do is you write X for a0 to A6 and for the remaining addresses you try to write the table for it okay so in this table whenever I look at any one given row it is actually how many addresses 128 addresses okay because bit right one particular row is actually having how many dedicated addresses 128 why because these X's means what 0 0 0 all 11 one which means from 0 127 it means 128 okay okay now comes the allocation part right so once we have drawn the this kind of a table we need to allocate whatever chips we have to the particular address range so let's say I have Ram 1 whose size was 128 so I'm allocating it this first row which means the first 28 addresses are given to Ram 1 then Ram 2 okay so if I ask Ulta question what is the size of ram 2 based on what you can see it is 128 + 128 what 256 okay okay then what do you think about Ram 3 it is 128 size ROM 1 128 rom 2 256 so now it is easy for you to figure out why because now you know that one row here is equal to 128 so that is why I'm saying that whenever you are creating this table think about the smallest box you have and accordingly first draw the table okay all right so this is random meaning I could have chosen other places also to allocate ROM one ROM two boxes okay these are just boxes I have to allocate some space to them now once I have allocated space it is easy to figure out what is the actual address range for example Ram 2 address okay starting address so what will be the starting address I will choose this row 0 0 1 and then I will write how many zeros 7 zeros so I have written this 0 0 1 and then 7even Z's convert it into hexade decimal so you get 080 what is the last address for Ram 2 this second row 0 1 0 and then convert all of these to one okay 1 one one one one okay so last 0 1 0 and then seven 1es now from the right hand side start converting it into exxod decimal characters so one 7 F equal that is how you can figure out once you have allocated the boxes to the rows you have to figure out what is the actual address range for them okay starting address and ending address same for example rom 2 starting address one1 and then all of these are supposed to be zeros and then ending address 1 1 0 and all of these are one one okay it is straightforward all right and then once you get this please convert this into hexadecimal okay then it makes sense okay so once you have this okay now remember this diagram is not for this okay example okay random allocation I'm doing eventually I want to find out what is the chip select signal that I need to give to my box and what is is the address bus that I need to give to my box okay that is what is needed so here are the solutions so it is saying the first box Ram one okay your RAM one or here you see chip select one and Chip select two bar for example right so what will be the value of Chip select one for the first box okay so you have to look at this for the first box okay the chip select will be a function of A9 to A7 where they are supposed to be 0 0 0 okay so which means here I have an end gate which is taking A9 bar A8 bar A7 bar 0 0 0 end K and it goes into chip select one and if Chip select two is the bar version then I'm just taking the invert of it and putting it in chip select to Bar okay the author here had done slightly differently what he had done is he had taken A8 and A7 put it into a decoder and later on for chip select 2 he had used A9 M okay so we are doing it in the very generic way of thinking about it you basically Bally have to create a function out of three variables A9 A8 A7 see the end get okay then next Ram 2 okay so here is Ram 2 whose size is 250 six okay okay now for Ram 2 there will be a problem for something that we want to figure out okay but Ram 2 let's think about chip select okay what will go as chip select for Ram 2 so now you see that it actually occupies two rows which means the value of a98 A7 could either be 0 01 or 0 1 0 so when I speaking this statement itself you have figured out that orate or the end Gates because the rows here okay that is what is shown here okay I have A9 bar A8 bar A7 meaning 0 0 1 and then 0 1 Z now see chip select two was actually was actually chip select to Bar okay now if a chip select to bar is present in your your box then you have to give it something okay so then you can simply take the invert of this and give it over there okay I'm just trying to stick to it because it was given in the book in the original diagram okay we had chip select to bar but it was a barred version okay let's say but then this wire will also go here but then it defeats the purpose of then why do you need two chip selects what you can do is you can use a combination at the end of the day what do you want that all the combination of A8 A9 and A7 should get covered so if you want you can separate it out meaning chip select one A9 A8 combo or A7 use chip select two okay but that's odd thinking okay for now we will assume that a chip generally will have only one chip select and you take the ending of whatever is required okay all right now there is a slight difference here between Ram 1 and Ram 2 what is the address line going into RAM one box A6 to a0 okay so A6 to a0 7 bit address line directly now what is the address line going to ram 2 because Ram 2 is how what size 256 address which means bit which is A7 so which means will you simply write A7 colon a0 going there what is the problem that is the question see if I just imagine that there is a box that I have drawn here which includes A7 then what is wrong in that box because starting zero typically when you have any variable you want everything to have zero and then eventually everything goes to a one right so there is a slight problem with simply pasting A7 a0 over here okay what is the problem we can just quickly imagine that see what you want to do is you initially will be tempted to do what simply put A7 along with A6 and A6 to0 which means this is what we want to do right this is what we want to do here but if you do this then eventually what will happen under memory addresses they will get assigned this way which means it will actually get mapped on the first 28 set or okay that will get mapped to the bottom 128 in the actual box you don't want this okay what you want is 128 so what you want is something of this sort okay to do something of this sort what is the change that will be needed when you give or generate the eight lines you can look at this bit and then figure out what do you want to do A7 invert okay so one right so now this was a simple example this can become more complicated you want to ask a question let's assume a new case okay new example of allocation okay example let's say the first two I allocate to some box one okay size box 256 and now the next four I allocate to box two box two size okay box is this box is 526 so now I'm asking a question box one if I'm drawing okay address lin8 bits because okay what is the address that you can give without having a problem which means effectively you need problem A7 because it seems to be in the correct order which means here you can give A7 to 0 okay so luckily this example doesn't have that problem now you think what will happen with the second larger box Okay so here this is how many bits box two nine bits okay so box two is now n Bits okay you have to include now two bits in your calculation right do these two bits A8 and A7 do they seem to be in order typically it is 0 0 0 0 1 1 1 1 right so the generic way of thinking about this would be like this okay I'm just showing you the generic strategy I'm taking that value and you actually want this to become what0 0 1 1 Z and 1 one this is what you want right from which values A8 and A7 M version B okay so I'm going to say this is f F2 and F1 meaning two functions I want which are a function of the values A8 and A7 okay I'm showing you the generic method that could be a small trick that you can use and do away with it but I'm not saying small trick okay you want to understand the generic method whenever you run into a problem of this s no you want to think about a tabular method of doing it see you have four versions of A8 and A7 okay so which means FS2 is actually a two variable function similarly fub1 is also a two variable function right so can you define FS2 for me soes of A7 so it is 8 bar A7 bar right or with A8 bar and A7 okay so A8 bar and A7 right then what is fub1 equal to so it is A8 A7 okay then A8 bar and A7 which means now you know that the address line that you want to give here okay at this location is what F2 comma F1 comma A6 col 0 yes sub concatenation me just clearly write it okay take we are not giving A8 and A7 we are giving a revised version of A8 and A7 okay that is what I initially said I want to teach you the generic method okay generic method is table mapping there could be any dummy table which you want to map into a different version which is F2 F1 okay take so this generic method is what you should know now after solving this if you get one or two variables reduced in terms of literals all okay but table mapping structure should be clear this is the generic way of thinking about it A8 A7 a97 different set of varibles okay okay any questions [Music] here okay so now you know a very nice way of doing mapping boxes to a particular address space okay and you want it to be mapped in that order okay to preserve that order we are doing this table mapping or changing the variables okay okay we move on this is just for reference so that we know what is the meaning of all these words for example here it is saying petabyte is kind of 2 ra to 50 okay okay 2 to 50 kilobyte 2 to 10 okay why because 2 to 10 is 1 0 24 okay and so on this just table is just for your reference why we are creating this reference is because where is most of the world's largest data stored okay the eventual backup is always going to be tape drives okay not a hard disk not a magnetic hard disk but a magnetic tape drive so here it is saying that all the world's data research data data in various domains is all stored on tape drives this is an example showing what is where you can store large amount of data so this is IBM data cluster but this is made using hard disk how many hard disk 2 lakh hard disk put together into some configuration gives you 120 PAB bytes worth of storage so 20 into 2 to 50 okay first all the address space okay 2 to 50 address 120 multip anyways anyway this is an old article 2011 okay this is magnetic tape drive libraries okay and robotic versions of them as you can see that this is like a big Warehouse house okay and each of this small thing is a tape drive okay tape drive meaning size of your palm and then this is a robotic moving arm which will go and latch to one particular tape drive okay this is like a cylindrical version of that all these small things that you can see are tape drives and this robotic arm will move to a particular tape drive so what do you think is a problem here CP load store instruction address 0x 89 something okay 89 so when you have a tape drive what is one thing that you should be aware of so address you write whatever you want right 1 143 0 heximal character right so here how does it know once I address so which means now suddenly there is a physical location as he was say right address dri which means if you want to access data from there then it means you have to move the robotic arm to First that particular tape Drive address location okay so there is now a table needed which will convert your actual address into the physical address of that tape drive tape drive latch and then that data will be located at some location on that tape itself okay so it is a complicated matter now that your address which was released by the CPU is actually converting into a physical address on the one of the tape drives and then on the tape itself into a certain record okay okay in the bottom what is stored is the state of the art okay you can buy this I don't know how much it costs okay possibly not in anyone's budget okay and this can be scaled up to 1.2 xab bytes so EXA is here after Peta okay all right so now let's talk about magnetic hard disk and about tape drives okay one additional slide with the tape material here it is saying that 1 square in can I odate 2011 gab bits which means this is the most densest form of storage that is available to you okay take and then here it is saying that one particular cartridge one tape drive okay will have 330 terab bytes of data but meaning why are people not using it what do you think and then most people like us would be interested fast okay so tape drives are not going to be fast okay so a tape drive will look like this okay and then the tape itself will be marked in certain ways okay so we'll come to this slide let's look through this so now we are looking at see we had looked at Dam SRAM they were part of main memory or Cache now we are starting to look at auxiliary memory where the thing that we generally use is magnetic hard disk and then the second version would be tape drives so here for understanding any such mechanism which is not semiconductor based memory you will run into these three elect electrical properties mechanical properties and then electronic properties so there are three things one is moving components that is why mechanical okay and then electrical because you need to rotate a motor so and then comes Electronics because whatever magnetic component you have read that has to be converted into equivalent Z 0 or 1 which means 5 or0 volts or whatever is your logic range so here it is saying magnetic tape drive is a strip of plastic which is coated with Magnetic material and on that magnetic material you are going to store your data bits are recorded as magnetic spots on the tape itself then because it is a moving item right you can imagine that audio ass said that you had okay before several years problem what do you think so one is sequential which means is lying either in the start or in the end then you run into trouble okay okay because then I have to wait for that much amount of time for the tape drive to rotate so that I reach the end or the starting point okay then how do you read from there so which means one of the Assumption is you have to rotate the tape at a constant speed only then you are able to read data in that order okay so if you start rotating you have to wait for some time so that what the rotation comes to a certain fixed speed fixed speed rotate you will not be able to read something from from the tape drives so to come to that to come to a juncture where you are rotating at a constant speed there are some places where you see empty spots okay so this hashed version is called inter record Gap the purpose of this Gap is those Gs are where your spindle is going to come to a certain speed once it has reached a certain speed you will actually come to a place where you have recorded something useful okay Gap basally start or stop it would be on a gap once it reaches a particular speed your assumption is you are on a particular record okay stop then you will stop at which location you cannot stop randomly you have to stop at starting of a gap okay so that again you start Gap you have achieved a certain constant speed okay if you have constant speed only then you can read from this okay okay so this R1 R2 something is just the internal naming convention or addressing convention for your records so this is record one record two record three within those records there will be parall lines of bits or storage magnetic storage addressing okay which means unfortunately our address that we understand will have to be converted to to First the the address physical address of the cartridge then within the cartrid it has to be converted into this block one block two block three within the block it is converted into record one or record two or record three and so on okay then you will be able to access your data all right so whatever we described is written here in words gaps of unrecorded tapes are inserted so that you can start or stop the tape and so on and then tape has an identification bit pattern at the beginning and end of the gaps or record basically so you know all right then magnetic disk okay which means now we come to hard disk hard disk is a set of and of diss of this sort okay the discs are coated either on a single side or both side with Magnetic material the disk is going to rotate now okay this is not tape drive this is a dis Drive okay disk are rotating dis head so this is like a head or you can imagine in the top view this is like a head for reading or writing okay so this I will describe slightly in detail let's say I take the figure from here so what you see here this circles are known as tracks track data stored okay then within a given Circle only this much area okay or this strip is known as a sector okay so there is a concept of track on the hard disk and there is a sector so one can say for example this concentric circles that you have let's say I have one24 tracks which means circles okay one24 then each circle is divided into those small wedges those wedges are then called sectors so one can say that on a given track on a given track there are let's say 20 48 sectors okay which means in other words what can I say 360° of meaning 360° of a circle are divided into how many sectors 20 48 okay sector deg M 360 divided okay angle okay and then each sector will have certain number of bits so each sector sector let's say has 512 bits you are going to have 512 bits stored it is very dense okay we are using the hard disk for what reason density of storage okay take and hard disk is cheaper okay that is why more data is on the hard disk all right now how do you read from this again the question is how do you read similar to the question saying how do you read from tape drive so the answer was tap Drive loc okay so here what will you have to locate track concentric Circle so whatever address is released by your CPU that address our physical address in hexadecimal or binary has to be converted into track address okay particular track which means what it means here is that this is your reading or writing head okay mechanically is and you will have to bring it on a certain circle ccle okay okay I'm moving it trying to bring it on a particular track phally move meaning the head will physically move it has come to the Inner Circle now your data could be located let's say in this particular sector below your head okay head is not going to move the spindle is spinning the dis is spinning which means okay so now if I ask a question okay think about the worst case okay what is the worst case movement for your head horizontal is this range worst case is this worst case horizontal motion worst Cas circular motion 36 okay because okay dat is almost in the last angle so for example what I meant is let's say your data is here okay dat is sitting just below the head correct reverse if it is possible to do reverse rotation it will not be like that rotation will be constant in a certain direction right here generally all the plates keep on moving okay is the Assumption okay you don't start and stop the rotation only thing that you start and stop is move the head okay this is also complicated okay so one thing that I want you guys to remember or appreciate is over here for example okay you converted your heximal address into tape drive number you are moving that robotic hand you go to a tape drive you attach to the tape drive you start rotating your tape and you come to a record number so will you read one bite you will possibly read a large amount of data because if you located that bite you better read a big chunk of data from there meaning read a complete record or read a complete file from here okay so it's it was showing that block one 2 three means one particular file so you will read a complete file from there you will not read one bite because time similarly over here in this one what do you think you will at least read yeah at least what will you read one sector one wedge is what you will at least read okay why because you have made so much effort to go to that place okay so now what has happened is our memory access is kind of turning out into not one address access it is like you're almost accessing a chunk of so much main memory sector better put it in main memory why because if let's say I have asked for address 133 most likely next time my program is going to access 134 okay all right so here the total storage okay that you can have is basically what the number of plates that are there in your disk okay then number of heads also could be there which means not just one head you could have a head here also here also here also similarly the magnetic coating could be on both sides of this dis okay then now you know that are you storing 512 bytes or bits per sector then how many sectors are there how many tracks are there how many discs are there that is going to Define your total space of storage for a hard disk okay so this is how you think about it all right so with this we can actually look at one example a numerical for it so here it says hard disk has five plates and they are one-sided okay p dis it has 2048 tracks per plate which means cires 20 for okay then it has 2048 I mean two one24 sectors per track okay so sector angle 360 by this okay okay it is saying fixed number of sectors are there for each track why was this specified by the way track one24 sectors but it is fixed why was there a need to write this statement no why is there a need you can imagine it this way toore the bits but we are not considering that scenario here otherwise it will become even more complicated okay okay Z bits are stored on a larger Circle and come bits are stored on smaller Circle we are not going to assume that but that is true in real life okay so we'll assume that each circle no matter it is big or small is storing the same amount of data okay CES we can asse okay that may be one assumtion okay so that is why this was specified this just once okay but it is enough for you to think or appreciate the fact that smaller circles you cannot store enough data with larger circles you might be able to store more data but we are not making that or considering that here okay then next 512 bytes per sector okay so what is the total capacity of this disk okay just a dummy example so it is saying 512 bytes per sector multiplied by number of sectors okay multiplied by number of tracks multiplied by number of plates okay you see that things are canceling out okay eventually it gives me these many bytes which is 5 GB seems to be very small for a hard disk okay so which means okay this is a toy example okay but you are going to have several hundreds of plates or thousands of plates okay then next this is saying hard disk plate rotates at 15,000 revolutions per minute okay has 1024 tracks and 2048 sectors per track is saying the dis head which means read right head okay is located at track zero and tracks are numbered from zero all the way till one 23 why because tracks total one24 okay the seek time of the disc head okay seek time so now there is a new term here okay seek means what seek okay that is why I said Z to reach to that particular place it is saying seek time of the dis head is 1 millisecond for every 100 track that it crosses okay so you have how many circles 1 2 4 say 100 circles cross 1 Mond which means if I want to go from track zero all the way till track one 23 okay you have to do this almost 10 times okay 100 100 100 100 your head is moving or 100 tracks move it is taking 1 M right so start thinking this way so here it is saying what is the average seek time I'm repeating the word here is on an average worst case movement worst case movement is how much movement from 0 to one23 but on an average let's say most of the time head okay so on an aage 5 on either side okay so on an average during the functionality part okay you can assume that and your average is now going 51 to this side or 51 to this side which means we don't always start with location zero okay so there is a difference between these two words average versus worst case so be careful with the question in the exam average worst case so average simply means okay so what is your average seek time is the question here it is now you can figure out 1 millisecond for 100 tracks so 512 tracks time 5.12 milliseconds if this same question was what is the worst case seek time then yeah so now you understand right worst case move okay okay next a new term all this is related to hard disk okay magnetic hard dis here it is saying what is the average rotational latency see in the previous question what was the time that we dedicated was to move our head to a particular Circle next is G dis okay so this question is about rotating the disk okay the question was about the horizontal movement of the head now the question is about rotation of the disk so it is saying 15,000 revolutions see this was already given to you in the question 15,000 revolutions per minute okay this is saying 15,000 revolutions you have 1 minute so one revolution takes how much time you will get 4 monds okay take because 15,000 revolutions take 1 minute meaning 60 seconds so one revolution will take how much time so 60 seconds by 15,000 4 milliseconds by the way one revolution means what 360° worth of rotation okay so now again there is a difference between the word average and the worst case Okay worst case meaning reolution 360 degre but if it is average then you will rotate how many degrees only one 80° okay with the Assumption sector okay so on an average you have to move or rotate your disc by simply 4 milliseconds divided by 2 meaning only 180° so this is your average rotational latency which is 2 MCS okay worst okay so now comes the next part sector loc okay we Lo we located a track then we located a sector sect what is your job to read a complete sector okay please don't read one bite and come back okay read a complete sector so here one track has 2048 sectors okay so 2048 sectors will roughly 360° okay but 360 we want to read only one sector but a complete sector a complete angle corresponding to a sector okay so here one sector will take how much time 4 millisecond was for 360° so 360° divided by 2048 so 1.95 microc May sector data read okay now comes the final question okay what is the total average time to resolve a memory access request on the hard disk okay we had defined earlier right somewhere here let's say 512 bytes per sector so byes read okay so that final question is here what is the total average time to resolve a memory request in the hard disk so it will be a combination of the three things head average time which is called average seek time we already calculated it it was 5.12 milliseconds then the average rotational latency which means on an average 180° Kum that is 2 milliseconds we found out in the previous then the time to read at least one sector because we will read always one sector which we found out in the previous case 1.95 microc seconds the total time is now 7.1 milliseconds okay so which means what is the penalty CPU M 0x 137 137 M memory so that one one instruction that you wrote is going to cost you 7.12 milliseconds okay with against what against let's say five clock cycle and your clock cycle was let's say very simple 1 microc okay so P microc may you are expecting to finish your instruction instead of 5 microc it is now costing you 7 millisecond okay 1 microc versus let's say 7 milliseconds 7,000 times slower okay 7,000 CL C clock cycle roughly okay all right so now similar way you can think about a tape drive but we are not solving numericals for T drives okay we are just going to stick to numericals for hard disk okay so now there is an introduction of a new type of memory okay so all this was magnetic type okay tape drives was magnetic hard disk was magnetic okay we are coming back to our semiconductor memory there is a new way of thinking okay and which is referred to as associative memory or content addressable memory which is made using Gates and made using S okay Gates also we know what is gates from digital logic this is a type of memory which is slightly different in terms of of thought process okay which is known as content addressable memory so the word itself is describing some feature of the memory what is the feature content addressable okay whereas traditional memory Works which way how does a memory work if you want to read from some place how does it work you give the address you will turn on the read signal address P okay the decoder will enable that row and then it is going to read out here in this associative memory there is no concept of address okay if you want to read something you have to actually provide a word on data in which means we are not writing but still we are providing a word on data in it is going to do a parallel search across your complete memory stored word then it is going to tell you yes or no okay so which means you are addressing something by the content itself okay content okay you cannot pinpoint through an address there is no concept of address what you will do is you will give it search thing it is going to generate yes or no at a particular place then there is the second part of of this memory okay so we'll come to that eventually okay so this is easier to think of hence I'm giving you this analogy for it okay so what you see here okay is the bit map for some characters okay you are which batch section one you you are doing that led while seven segment all right so this is similar to that you have bit map of LEDs whatever okay okay and if you want to display something then that has to be one backy sub zero okay so grid okay so the first line is 0 0 0 0 second line is 0 0 0 then third line is 0 1 0 1 0 and so on okay so this data for a particular character is stored in this Y part of the table so sequence is basically to display this similarly to display this there might be the second sequence so I'm now assuming that there are two separate parts in the memory okay one part is storing what you are supposed to display the bit pattern the bit map pattern stored Y part of the table May stored okay what is there in the X part of the table okay the X part of the table is actually a code assigned to this figure for example 30 two so you see that this is three and then two okay so yeah for example character any code which identifies that small figure okay so how is this related to a Content addressable memory that is what we are trying to figure out right we were actually here okay this is a good example which will you can remember what is a camp so what happens isable table X there is a table y so if you want to do something with the content addressable memory to that memory you have to give some data to be checked okay you are going to do a parallel search you are going to do a seek so for example if I give it the address 72 not address now you have to give it data okay what it will do is X part of the table par search okay and it will try to figure out if 72 is present in this table or not will it be present we can check yes 72 right 72 this is 7 and then this is 2 so 72 is present which means the content matching part where you are doing this parallel search this is your searching space parall search and what it will do is it will turn on this particular row matching signal one all other matching signals will say zero this seems to be like what is one winner if it matches all the others are not matching hence their value will be zero that set of 0o and one will now act as if it is the decoder's output for the second part of the table which is the enable why because zero so what is the final answer that will come out from the SRM part it will be this particular bit pattern which is sorry this particular bit pattern which is for 72 okay and then this bit pattern can be used to directly display that digit so what we have done is we have never given any address here what we are saying is I'm giving the aski code or some data it is going to do a parallel search if that data is present or not if it is present one hot coded match line will get activated the match line will directly go into something which is designed as an SM typic memory left decoder right which is basically a converted version of The address deod does this part need a decoder no why because this lines itself are acting as if it is the output of a decoder one hot coded line is either okay so this can work very easily one of the rows will get activated that item will come out okay so you this SRM part does not need a decoder why because that decoding process or that process is done by the content matching part okay so actually there are two memories here part X and part y the left hand side is called matching part and the Y the second part the right hand side is generally a storage part traditional okay okay so why this is needed we will figure out okay why because we want to understand what is Cash Cash B but how does it work it works as if it is a cam okay here if you have any question let me know if you don't have a question I will raise a question for you to think why this is useful okay suppose mat me doing parallel matching okay let's assume this is a very simplistic kind of a memory default memory okay default memory I want to find out where 72 is stored how will you do that so he is saying linear search which means standard memory let's say assume temporar so which means you will give address zero data no okay change the address to one 2 3 4 5 6 7 worst case let's say your data is lying in the end of that okay memory and then you will say okay my data is lying at the end okay so it will take a lot of time to do the search sequentially but here the search is happening in parallel that word that you are giving 72 is getting compared in parallel to that particular memory set of locations okay so it is not a simple memory it is actually a memory that can do comparison okay how do you compare One 8 bit value with another 8bit value what is the gates that are needed X so which means let's say this is 8 Bits 8 x second row again 8 xor third row xor third fourth row xor so there is a big set of xor GES in addition you have to also store one which means okay that's there is a storage cell and there is an xor gate and you have to do what if all the exor gates are saying that it is a one then there is a match which means I will also need which other gate and gate saying yes which means end gate okay so this is actually very costly why okay so MoneyWise okay area wise it is very costly but benefit is parallel search Okay a so it is used for such kind of cases where you want to give something and expect an answer very quickly okay so you can imagine if this is used for cash cash is possibly the fastest memory that you have in your system functionality wise so that is why we are investing our money in associative memory you want to very quickly find out that 7 millisecond penalty dis okay so I'm just trying to put the context into place that all this investment we are doing for exor and endgate and all that is you want to quickly find out dat okay okay so we'll stop here and we'll continue with this next St