Transcript for:
Overview of Embedded Systems Fundamentals

[Music] <font color="#E5E5E5">okay good morning and</font><font color="#CCCCCC"> welcome to</font><font color="#E5E5E5"> you all</font> to<font color="#E5E5E5"> this course on embedded systems we</font> will try<font color="#E5E5E5"> to understand in today's</font> lecture which is the first<font color="#E5E5E5"> lecture how</font> embedded systems differ or how embarrassed system poses some additional constraints over the other <font color="#E5E5E5">general-purpose systems that we have</font> encountered<font color="#E5E5E5"> in our learning process till</font> now now embedded system what<font color="#E5E5E5"> is an</font> embedded system<font color="#E5E5E5"> if we ask this question</font> what is an embedded system<font color="#E5E5E5"> the possible</font> answer is an embedded system<font color="#E5E5E5"> is a system</font> where a microcontroller based or microprocessor based programmable<font color="#E5E5E5"> system</font> is embedded in a larger system<font color="#E5E5E5"> so you</font> will<font color="#CCCCCC"> have a larger system which can be</font> this is the larger system in which there is a microcontroller based<font color="#E5E5E5"> or</font> programmable system embedded always it may not be programmable by the way it may be also<font color="#E5E5E5"> hardware programmed okay so</font> there is a some processor embedded inside this and which interacts with this larger system at different levels so this system actually<font color="#CCCCCC"> takes inputs</font> from the world and by the<font color="#E5E5E5"> world I mean this environment</font> with a world for<font color="#E5E5E5"> this embedded system so</font> it takes inputs from this world processes the information tense it back to the world it can come<font color="#CCCCCC"> from different</font> points of this larger system and the after<font color="#E5E5E5"> computation the responses can go</font> to again different points of this system the<font color="#CCCCCC"> points which are affected because</font> you see the larger system can have many things everything may not be controlled <font color="#E5E5E5">by the embedded system everything may</font> not be sensed by the embedded system so the parts which are sensed acted upon and actuated upon are known as often <font color="#E5E5E5">known as the sphere of control so might</font> be there is a sphere of control around this embedded this embedded system within this larger system that is<font color="#E5E5E5"> being</font> affected<font color="#CCCCCC"> by this embedded</font><font color="#E5E5E5"> system all</font> right now typical<font color="#CCCCCC"> examples of embedded</font> systems now you can think<font color="#E5E5E5"> of embedded</font> systems are everywhere everywhere you <font color="#E5E5E5">can say if you take</font><font color="#CCCCCC"> your mobile phone it</font> has<font color="#CCCCCC"> got many communication systems but</font> also the other<font color="#E5E5E5"> processors even earlier</font> if<font color="#CCCCCC"> you</font><font color="#E5E5E5"> take the printer inkjet printers</font> or color printers they're also the controllers are there even<font color="#CCCCCC"> if I go even</font> earlier there<font color="#E5E5E5"> are some</font><font color="#CCCCCC"> disc systems</font> where intelligent controls are embedded <font color="#CCCCCC">okay printers have already said so there</font> <font color="#E5E5E5">are there have systems have been</font> embedded inside larger systems for longer time nowadays we find intelligent washing machines where depending<font color="#CCCCCC"> on</font><font color="#E5E5E5"> the volume of the clothes</font> the extent of dirt<font color="#CCCCCC"> in the clothes the</font> gyration the speed at which the will be centrifuged or how much detergents will be required all are controlled automatically how is it controlled automatically using some embedded systems again if<font color="#E5E5E5"> we go to more advanced</font> things now most of the modern<font color="#E5E5E5"> cars are</font> <font color="#CCCCCC">coming with not one</font><font color="#E5E5E5"> embedded system but</font> multiple embedded systems<font color="#CCCCCC"> okay which</font> some are taking care<font color="#CCCCCC"> of controlling the</font> brakes some are taking care<font color="#CCCCCC"> of the</font> cruise control<font color="#E5E5E5"> some are taking</font><font color="#CCCCCC"> care of</font> the locking system<font color="#E5E5E5"> so there are number</font> of embedded systems impregnated inside the larger system that is<font color="#CCCCCC"> the car if we</font> look at<font color="#E5E5E5"> the airplanes most of the</font> airplanes now are said to be not<font color="#CCCCCC"> so much</font> dependent on the pilots right so there <font color="#E5E5E5">is a set of embedded controllers inside</font> that which can negotiate with<font color="#CCCCCC"> the</font> environment<font color="#CCCCCC"> okay and those are also</font> embedded systems in warfare when we find the when we want<font color="#CCCCCC"> to have some rocket</font> launchers they're also embedded systems are there which are taking signals from here so the list gradually becomes endless nowadays now if<font color="#E5E5E5"> we look at now</font> <font color="#E5E5E5">this is also known as a sometimes a</font> variant of such embedded systems are known as cyber physical systems this term<font color="#CCCCCC"> is</font><font color="#E5E5E5"> becoming popular day by day</font> <font color="#E5E5E5">whether cyber part means the computer</font> interacting with a<font color="#E5E5E5"> physical environment</font> so the physical environment can be a road on which a car is moving right the road will<font color="#E5E5E5"> have different frictions at</font> different points that is<font color="#E5E5E5"> a physical</font> reality and now I have<font color="#CCCCCC"> got a car which</font> has got<font color="#E5E5E5"> a controller which will keep the</font> speed fixed at a particular set level now from your school level knowledge of physics you know that in order to keep <font color="#CCCCCC">the speed constant when the friction</font> increases you have to apply<font color="#E5E5E5"> more force</font> and the reverse when the friction goes down in order<font color="#E5E5E5"> to keep the same speed now</font> that the physical reality is the road the physical<font color="#E5E5E5"> reality is a condition of</font> the tires of the car and the controller is within<font color="#E5E5E5"> the car this</font><font color="#CCCCCC"> is one sort of</font> thing once out example of cyber-physical system this<font color="#CCCCCC"> can be further extended</font> nowadays to the term which many of<font color="#E5E5E5"> you</font> have heard which is internet of things iot as it is told<font color="#E5E5E5"> IOT is nothing but a</font> set of systems spread around maybe distant each of them have got their embedded controllers embedded sensors everything and they are<font color="#CCCCCC"> communicating</font> over the<font color="#CCCCCC"> Internet and one system can</font> communicate and actuate another one at a distance therefore everything gets connected through<font color="#CCCCCC"> the communication</font><font color="#E5E5E5"> of a</font> set of embedded systems<font color="#CCCCCC"> okay now coming</font> back to embedded systems proper if we think of an embedded system it will consist off say a microcontroller based system or processing system let me call it<font color="#E5E5E5"> the</font> processing system which usually our microcontroller or microprocessor based if they<font color="#E5E5E5"> are programmable and on the</font> other side we<font color="#CCCCCC"> have got the</font><font color="#E5E5E5"> sensors</font> which interacts with the<font color="#CCCCCC"> world and</font> provides the data to the processing unit <font color="#E5E5E5">and there are actuators</font> okay actuators now these actuators are actually affecting the physical world or the larger system let me call it the other system whatever that<font color="#CCCCCC"> other system</font> might be<font color="#CCCCCC"> alright and the sensor is</font> sensing some variables from this other system and feeding it<font color="#E5E5E5"> to the processing</font> unit and depending on whatever actions are to be taken there the actuator is actuated it now in between I have missed out certain things intentionally that is it can the sensors are sensing the data which are coming from<font color="#E5E5E5"> the</font><font color="#CCCCCC"> other system</font> which is the<font color="#E5E5E5"> physical world which</font><font color="#CCCCCC"> is</font> mostly analog<font color="#CCCCCC"> alright mostly</font><font color="#E5E5E5"> analog</font> right if it were an analog system therefore<font color="#CCCCCC"> the there can be two things</font> the sensor can directly sense the data in the digital form otherwise if it does <font color="#CCCCCC">not do that then here we need a layer of</font> interface which is the analog to digital converter because this processing system is a digital machine similarly we have <font color="#E5E5E5">to give the data to</font><font color="#CCCCCC"> the physical</font> environment<font color="#E5E5E5"> mostly analog may or may not</font> <font color="#CCCCCC">be but if it be an analog system then we</font> <font color="#E5E5E5">need here</font> addie to a converter digital to analog converter right now often the actuators can be directed digital and can provide the control that<font color="#CCCCCC"> we'll see</font><font color="#E5E5E5"> some examples</font> <font color="#CCCCCC">later</font><font color="#E5E5E5"> alright so this is the overall</font> environment so in order to learn embedded systems we<font color="#E5E5E5"> have to learn some</font> we have to have some knowledge about the sensors what sensors how do<font color="#E5E5E5"> you specify</font> sensors may be many<font color="#CCCCCC"> of you know how</font> analog-to-digital converters or digital-to-analog converters are working we will try<font color="#E5E5E5"> to brush up on that he also</font> in and most important part is this processing unit where we will<font color="#E5E5E5"> see that</font> different types of processing can be involved now you one can ask the question that in a typical architecture of a<font color="#E5E5E5"> computer system we also have got</font> the input device the CPU and the memory the processing device pricing block and the output device so where does<font color="#CCCCCC"> it</font> differ from<font color="#E5E5E5"> a general-purpose system so</font> how does<font color="#E5E5E5"> it differ from the</font> <font color="#E5E5E5">general-purpose system so</font> <font color="#CCCCCC">general-purpose system versus embedded</font> systems usually the embedded systems are one embedded system is for one purpose so single purpose<font color="#CCCCCC"> okay or single</font> application that is point number<font color="#E5E5E5"> one the</font> other point is the embedded systems is severely usually what happens here what do you<font color="#E5E5E5"> mean</font><font color="#CCCCCC"> by</font><font color="#E5E5E5"> this a single application</font> program is repeatedly run<font color="#E5E5E5"> whenever for a</font> particular say for example let me give the example of<font color="#E5E5E5"> an answering machine</font> telephone answering machine<font color="#E5E5E5"> it is</font><font color="#CCCCCC"> going</font> <font color="#E5E5E5">to fix task that when the call will come</font> after five or seven rings if the receiver is not picked up see all these things<font color="#CCCCCC"> that we sensed that the receiver</font> <font color="#CCCCCC">has not been picked</font><font color="#E5E5E5"> up then the</font> answering machine goes on after the delay gives of a flute plays a message and gives a bit<font color="#E5E5E5"> after recording for a</font> particular delayed cuts it off all<font color="#E5E5E5"> those</font> things now<font color="#E5E5E5"> this</font><font color="#CCCCCC"> is a fixed program it</font> <font color="#E5E5E5">has been written once and have been put</font> in an embedded processor which has been put in the answering machine or the telephone system so that program is repeatedly working the other option is other distinguishing feature is it is very tightly constrained compared to<font color="#E5E5E5"> the</font> <font color="#CCCCCC">general-purpose</font><font color="#E5E5E5"> system general-purpose</font> <font color="#E5E5E5">system is not single perp single purpose</font> it will be multiple purpose it can be used for different purpose now is tightly constrained in terms of what it must be low cost the cost cannot be exhibited<font color="#E5E5E5"> exorbitant like a</font> <font color="#E5E5E5">general-purpose server right it should</font> be low power mostly we would like to run this on battery it should be portable ok it should be sometimes it must be real time in general in general it should be fast it should be fast all the time but <font color="#CCCCCC">sometimes it should be hard real-time I</font> will come to that what<font color="#E5E5E5"> it means</font><font color="#CCCCCC"> okay so</font> these are some<font color="#CCCCCC"> of</font><font color="#E5E5E5"> the constraints that</font> are specific to embedded systems but not so much for<font color="#CCCCCC"> general-purpose</font><font color="#E5E5E5"> systems on</font> the other<font color="#E5E5E5"> hand general-purpose systems</font> are more powerful<font color="#E5E5E5"> in the sense that it</font> can do many<font color="#E5E5E5"> more things it is not single</font> purpose it is<font color="#E5E5E5"> not constrained</font><font color="#CCCCCC"> by these</font> things it consumes more power usually runs from the<font color="#E5E5E5"> direct electric supply</font> with some battery backups and all those so<font color="#E5E5E5"> that is the differentiation between</font> <font color="#E5E5E5">general-purpose systems and embedded</font> systems most important thing is<font color="#CCCCCC"> it is</font> predefined what I am going to run on an embedded system is predefined application in some cases you will find <font color="#CCCCCC">that multiple applications are running</font> on an embedded system but those are also predefined three or four it cannot<font color="#E5E5E5"> be</font> just like a<font color="#CCCCCC"> general-purpose system that</font> you can go on adding to this right I will differentiate between another thing that since right now<font color="#E5E5E5"> I have said</font> real-time systems let me also differentiate between RTS and embedded systems what<font color="#E5E5E5"> our real-time systems real-time</font> systems<font color="#CCCCCC"> our systems it can be of two</font> types hard hard real-time systems and soft real-time systems harder TS and software tears now hard drive<font color="#E5E5E5"> real-time</font> systems have got a stringent time constraint the time constraint that is given is very stringent now this stringent time constraint must be adhered to must be respected if this time constraint is violated then violations will lead to catastrophic you have to land within a plane has to land within maybe one minute<font color="#E5E5E5"> all right now if</font> it exceeds<font color="#E5E5E5"> one minute then it can crash</font> take another example say a nuclear power plant or some power plant some thermal plant where you find that the <font color="#CCCCCC">temperature has gone very high beyond</font> the safety limit and you<font color="#CCCCCC"> have to start</font> the coolant and put the power put the shut off<font color="#E5E5E5"> the plant within some specific</font> time and suppose your system<font color="#CCCCCC"> that is</font> controlling it is sluggish enough that it does<font color="#CCCCCC"> not respect that time it does</font> the thing but does it much later by that time the situation has blown off right so that is not allowed in hard real-time systems why do you call<font color="#E5E5E5"> it real time</font> systems because this time constraints are specified<font color="#CCCCCC"> in terms of real</font><font color="#E5E5E5"> time real</font> time means what one second to second by this clock this<font color="#E5E5E5"> is a real time clock</font> time is ticking on the other<font color="#E5E5E5"> and what is</font> the other sort of time that<font color="#E5E5E5"> we discuss</font> <font color="#CCCCCC">about we discuss about so many cycles</font> suppose I say that the light must be switched off after 50 cycles vasavi I say that the light must be switched off within one second or one minute a<font color="#E5E5E5"> one</font> <font color="#E5E5E5">second what is the difference if</font> the cycle clock is 50 Hertz then they are equivalent because<font color="#CCCCCC"> i have said after</font> 50 right so it will be fine but if the clock is slow then 50 cycles will come after<font color="#E5E5E5"> two minutes right so that is the</font> basic difference<font color="#E5E5E5"> between real time</font> systems and normal I mean that typical computer systems that we talk of on the <font color="#E5E5E5">other hand hard real-time soft real-time</font> systems if we violate the time constraint then we the quality of service gets reduced quality of service reduced but no catastrophe pans no catastrophic happens<font color="#CCCCCC"> ok</font> now embedded systems can be real time systems or may not be<font color="#E5E5E5"> real time systems</font> <font color="#E5E5E5">all right it may be a real time system</font> or may not be<font color="#CCCCCC"> a real time system again</font> on the other<font color="#E5E5E5"> hand similarly real time</font> systems may be embedded usually real time systems are embedded but real time systems can also be say a server based system<font color="#E5E5E5"> okay so these two are not</font> <font color="#E5E5E5">equivalent that all embedded systems</font> should be real time systems that should be kept in mind next<font color="#CCCCCC"> we'll come to a</font> slide that will give you an example of an embedded system here so this<font color="#CCCCCC"> is an</font> <font color="#CCCCCC">example of an embedded system which is a</font> <font color="#CCCCCC">digital camera it has been taken from</font> the book embedded system design<font color="#E5E5E5"> a</font> <font color="#E5E5E5">unified hardware software introduction</font> by Frank vahid and give urges<font color="#CCCCCC"> ok it is a</font> wily publication so here you see typical digital camera what do<font color="#E5E5E5"> we have inside</font> now first of<font color="#E5E5E5"> all it is a single function</font> <font color="#CCCCCC">it's single function is only one</font> function that is being done<font color="#E5E5E5"> that is</font> photograph is taken and stored right it is tightly constrained how it is<font color="#E5E5E5"> low</font> <font color="#E5E5E5">cost otherwise people will not bite low</font> power it is<font color="#E5E5E5"> small portable must be</font> portable and should be fast now we do <font color="#E5E5E5">not call it real time system if the</font> picture is captured a little slow no catastrophic happens what it is reactive and<font color="#CCCCCC"> real time i will explain what is a</font> reactive system and real-time system but it is a reactive system and<font color="#CCCCCC"> real time</font> only to a small extent because if you <font color="#CCCCCC">take the image it is a soft</font><font color="#E5E5E5"> real-time or</font> hard real-time if soft real-time obviously because if it is very slow then probably will not buy this ok but no catastrophic will happen now what is there you can see<font color="#E5E5E5"> the lens</font> which is capturing the world through a <font color="#CCCCCC">CCD charge-coupled device there is an A</font> to D converter which is converting it there is a<font color="#CCCCCC"> charge-coupled device</font> preprocessor then here you see one thing <font color="#E5E5E5">that I in the slide that I was showing</font> about the embedded system architecture all through you can see there is<font color="#CCCCCC"> a</font> communication<font color="#E5E5E5"> channel going on all</font> through this that<font color="#E5E5E5"> I did</font><font color="#CCCCCC"> not explicitly</font> mention but communication is another very important part<font color="#E5E5E5"> of this entire</font> embedded system ecosystem so here you see that through the bus they are communicating<font color="#CCCCCC"> all</font><font color="#E5E5E5"> right this is Sydney</font> Prosser data is going everywhere and there is a microcontroller there is a JPEG codec which is doing the conversion and compression and also there is a dma controller memory controller bus interface eart is a serial parallel to serial converter<font color="#CCCCCC"> okay and there is an</font> LCD control so there are so many components inside an embedded system <font color="#E5E5E5">besides the process now</font><font color="#CCCCCC"> you see how many</font> processes do you see here you can<font color="#E5E5E5"> see a</font> microcontroller as a processor here you can see your<font color="#CCCCCC"> CCD p processor pixel</font> coprocessor here is and the<font color="#CCCCCC"> jpeg</font> processor multiplier you can say<font color="#CCCCCC"> that</font> this<font color="#CCCCCC"> is</font><font color="#E5E5E5"> not a price i j-just a</font> multiplier but that is also doing some privacy so there are<font color="#E5E5E5"> so many processes</font> communicating now the key point<font color="#CCCCCC"> is that</font> some of these can be hardware can be implemented in<font color="#E5E5E5"> hardware some of them can</font> be implemented in software<font color="#CCCCCC"> alright we</font> will see this part next so what<font color="#E5E5E5"> are the design challenges</font> before i come to the design challenges let me make another<font color="#E5E5E5"> system level</font> classification one is reactive systems <font color="#CCCCCC">versus</font> transformational systems reactive systems are those which react to an event that<font color="#CCCCCC"> occurs</font> for example there is a<font color="#E5E5E5"> system like a</font> <font color="#E5E5E5">camera it does not of itself work</font> whenever you create an event<font color="#E5E5E5"> you there</font> is an input<font color="#E5E5E5"> and in that input you put a</font> pulse like suppose you are<font color="#E5E5E5"> pressing</font><font color="#CCCCCC"> the</font> shutter then only it starts working similarly it could be that this<font color="#CCCCCC"> is</font> continuously it is keeping watch it is active another<font color="#E5E5E5"> system but whenever there</font> is an alarm<font color="#E5E5E5"> situation then only it</font> starts working and immediately it sends the response and usually such reactive systems you in many<font color="#E5E5E5"> cases such reactive</font> systems react to an event which is<font color="#E5E5E5"> an</font> argent event and therefore in many cases they are real time systems on the other <font color="#E5E5E5">hand so these are working on external</font> events<font color="#E5E5E5"> on the other side there can be</font> transformational system for example image processing systems you get a set of images you get an image and you <font color="#CCCCCC">process it in image processing you do a</font> lot of<font color="#E5E5E5"> things you do noise removal you</font> do segmentation right and you do go on doing all these things different activities that you do right now that you are taking<font color="#CCCCCC"> a data some data is</font> <font color="#CCCCCC">coming in and that data is being</font> transformed through stages not in the event of any not in the event of some explicit event asking for service<font color="#E5E5E5"> okay</font> here if we go to this diagram you can find that<font color="#CCCCCC"> there will be some reactive</font> components also here and some will<font color="#CCCCCC"> be</font> transformational components so often the system is a mix of these<font color="#E5E5E5"> okay now embedded systems</font> have got a number of<font color="#E5E5E5"> design challenges</font> <font color="#E5E5E5">major design challenges the cost</font> <font color="#CCCCCC">obviously cost</font><font color="#E5E5E5"> is a very important</font> aspect now the cost has got two components one is the energy<font color="#CCCCCC"> costs</font> energy cost means non-recurring engineering costs okay you have to we will have<font color="#E5E5E5"> to incur</font> some cost on that so here are what are the challenges the challenges are mostly mostly the challenges are optimizing on different aspects<font color="#E5E5E5"> okay one is the cost I</font> mean how<font color="#E5E5E5"> much time how much how much</font> money I will spend in order to do this development and that is also<font color="#E5E5E5"> dependent</font> on the time<font color="#CCCCCC"> this</font><font color="#E5E5E5"> also depending on how</font> much<font color="#E5E5E5"> time</font><font color="#CCCCCC"> i will</font><font color="#E5E5E5"> give size of the device</font> the system the power power will come back we'll come back to power time and again power is a very<font color="#E5E5E5"> very important</font> factor in embedded system design nowadays the performance and flexibility<font color="#CCCCCC"> okay what do I mean by</font> performance performance means how in in regard to time how fast does it work for example<font color="#E5E5E5"> and it can</font><font color="#CCCCCC"> be latency it can be</font> throughput what is the difference between these two latency means the time to take<font color="#CCCCCC"> a task let me give an example</font> suppose the camera that<font color="#E5E5E5"> we just now saw</font> takes point two five seconds to take a picture right now I have<font color="#CCCCCC"> got a camera a</font> some camera a therefore can take four pictures per second right because I have designed<font color="#E5E5E5"> it in such a way that it can</font> take a picture with in point two five second process it do everything now so it's<font color="#CCCCCC"> to put is also for pictures per</font> second latency is point two five this is latency and this is a throughput now there can<font color="#E5E5E5"> be another camera B which has</font> <font color="#E5E5E5">got the same latency but it can take</font> eight pictures per second how is it possible so this<font color="#CCCCCC"> is the throughput and</font> this is the latency I said the camera B has got the latency of camera B also as the latency of 0 point 25 second right so the camera B takes a picture in order to take a<font color="#E5E5E5"> picture it also requires 0</font> point 25 second just as camera a date but camera<font color="#E5E5E5"> B had two threads running two</font> parallel processing so therefore while one is being processed it could be pipelined one is being processed another is being fetched in that way I can enhance the throughput but the latency is same I hope the differentiation between throughput and latency is clear so that is performance the flexibility is a very another<font color="#E5E5E5"> important thing and</font> flicks if<font color="#E5E5E5"> I bring a product which has</font> got the flexibility of adapting to suppose now I having a phone which can work in<font color="#E5E5E5"> 44 g as well as 5g vasavi there</font> is a phone which is coming in 4G or only in 5g now there is a feature differentiation my phone which<font color="#CCCCCC"> I am</font> bringing now and work in 4G and 5g versus your phone which works only in 5g so I have<font color="#CCCCCC"> got a flexibility by that I</font> can get a hand over<font color="#E5E5E5"> the market that is</font> one another point is another point is that if I have got the flexibility i bring the product<font color="#E5E5E5"> in the market and then</font> <font color="#CCCCCC">i find that there are some more demands</font> coming up from the user can<font color="#E5E5E5"> i adapt to</font> those demands if my system is flexible<font color="#CCCCCC"> i</font> can add new features to the system and make it more flexible<font color="#CCCCCC"> ok so these are</font> some of the<font color="#CCCCCC"> challenges that we have to</font> face<font color="#E5E5E5"> now in order to complete the</font> <font color="#CCCCCC">discussion today will go</font><font color="#E5E5E5"> back to another</font> very important issue the design matrix are all these the energy costs and all those<font color="#E5E5E5"> things in any cost you should try</font> <font color="#E5E5E5">to bring down power is another now each</font> of these constraints are competing among themselves they are competing among themselves therefore we have to<font color="#E5E5E5"> always</font> find an optimization right there is no unique solution now let<font color="#E5E5E5"> us look at this</font> <font color="#E5E5E5">diagram what I am talking of now which</font> is a very vital factor in embedded system design is hardware software raid off and that is why<font color="#E5E5E5"> amira system design</font> also goes by the name the task also goes by the name hardware software<font color="#E5E5E5"> co design</font> both of these things are<font color="#E5E5E5"> designed hand</font> in hand now let<font color="#E5E5E5"> us look at this picture</font> here in the<font color="#E5E5E5"> digital</font><font color="#CCCCCC"> camera chip we have</font> got so<font color="#CCCCCC"> many functions to achieve now</font> this CCD processor preprocessor I can map it to a hardware the JPEG codec I can map it to a hardware or this JP codec had the option that<font color="#CCCCCC"> I run a</font> software code on the microcontroller for having the compression right so I have <font color="#CCCCCC">got an option of doing this compression</font> in hardware or in software similarly the pixel coprocessor could be done<font color="#CCCCCC"> in a</font> software or could be<font color="#E5E5E5"> done in the</font> hardware<font color="#E5E5E5"> what is the advantage if I do</font> it in a hardware it will be faster what is the<font color="#E5E5E5"> disadvantages</font><font color="#CCCCCC"> of doing it in the</font> <font color="#E5E5E5">hardware the cost the area it will</font> become more it will<font color="#E5E5E5"> become heavy all</font> those factors will come into<font color="#E5E5E5"> play what</font> is the advantage of making it in software it will be flex I can tune it further but what is the disadvantage of doing it in<font color="#CCCCCC"> the software</font> it will be a<font color="#E5E5E5"> little slower and there</font> will be the of course<font color="#CCCCCC"> I will</font><font color="#E5E5E5"> need a</font> microcontroller<font color="#E5E5E5"> and power consumption</font> power consumption<font color="#E5E5E5"> will come well deal</font> with<font color="#CCCCCC"> that separately similarly this but</font> some of the things that for<font color="#CCCCCC"> example the</font> eyes<font color="#CCCCCC"> Abbas interface that is hardware so</font> summer some are fixed or assigned esteemed to be hardware some are destined to<font color="#E5E5E5"> be software but some can be</font> implemented by<font color="#E5E5E5"> either hardware or</font> software and the designers challenge is to really decide on which one should be <font color="#E5E5E5">done in hardware and which one should be</font> <font color="#E5E5E5">done in software ok so we'll take it up</font> from this<font color="#E5E5E5"> point we conclude today</font><font color="#CCCCCC"> ok</font>