This conference call transcript was computer generated and almost certianly contains errors. This transcript is provided for information purposes only.EarningsCall, LLC makes no representation about the accuracy of the aforementioned transcript, and you are cautioned not to place undue reliance on the information provided by the transcript.
1/12/2023
Good afternoon, everyone. I am Su Zhikai from the Legal Affairs Department of TSMC. I would like to welcome you to the Legal Explanation Conference of TSMC in the fourth quarter of 2022. Since this conference will be broadcast to investors around the world at the same time, we will use English throughout. Please excuse us. Good afternoon, everyone, and welcome to TSMC's fourth quarter 2022 earnings conference call. This is Jeff Hsu, TSMC's director of investor relations and your host for today. TSMC is hosting our earnings conference call via live audio webcast through the company's website at www.tsmc.com, where you can also download the earnings release materials. If you're joining us through the conference call, your dial-in lines are in listen-only mode. The format for today's event will be as follows. First, TSMC's Vice President and CFO, Mr. Wendell Huang, will summarize our operations in the fourth quarter 2022, followed by our guidance for the first quarter 2023. Afterwards, Mr. Huang and TSMC's CEO, Dr. Cici Wei, will jointly provide the company's key messages.
i make a thousand dollars a day trading wall street secret market for two hours do you want to learn how to do it my top students have learned this successfully and many of them were beginners too for example one of my exceptional student is a retired man who trades for extra income before working with me he was always losing his money but here's how he's done in the last two weeks thursday was 200 friday i made 300 and then today uh 350. it was a nice day today Another one of my dedicated students recently made $225 on his first trade. First trades like this feel amazing. Wouldn't you love to be able to do this? It's not complicated. You can learn my strategy right now by watching my new free training. Just click the link on your screen and you can watch it immediately. In this training, you learn how my strategy works and you learn the exact steps my students have taken to get results like this ones I've shown you here. if you're new to trading this is what you need and if you're more experienced i'm confident this can simplify things for you too so click the link on your screen and let me show you how this works
Hello people, I am Bharat Acharya. Welcome to our new video. So, in today's video, we are going to learn the basic introduction to microprocessors. You may be learning 8085 microprocessor or 8086 or any microprocessor or a microcontroller. The basics of processing remain the same. So, I will tell you something about this subject. It is my favorite subject when I was doing engineering. It has been 18 years. I have been teaching this subject for 18 years. The opinion that I always get, I want you to listen to this. The opinion that I always get from students is before they start learning the subject, many students say this is the toughest subject of engineering. It's not. It's probably the most interesting subject of engineering. You're going to love this subject if you understand it the right way. I'll tell you why people find this subject tough. Because they try to learn big things without having their basics right. So, that is the point of this whole lecture. Now, this lecture when I take in the class, I take it for 3 hours. I am going to compress it, try to fit it in 45 minutes maybe an hour at the most, but we will cover all the basics that is required, a foundation that needs to be laid. You want to learn big things, your basics have to be right. So I'm going to start with basics, give you an idea what this whole subject is all about so that you can start learning. I would suggest in case you come across this video by seeing other videos of mine, I would suggest first of all watch this video completely before you start watching the bigger topics. It'll give you a very clear picture. Sometimes when I've uploaded architecture and other videos, the bigger ones, and students ask questions, when you look at those questions, I feel you've got to be really understanding the basics first. Otherwise, these questions will never come up. These questions only, the silly doubts, I won't say silly, but innocent doubts, because you don't know the basic concepts, okay? So, let's start. Before I teach anything, the first thing I always tell students is you should know why you're learning it. If you know why you're learning anything, the whole interest level increases and things just start making more sense. So why are we learning microprocessors? Such a big subject that you're going to learn. Why are you spending that time? are microprocessors used in the world? They are used everywhere, everywhere around you. In fact, between you and me right now, all the various devices from the one which is shooting this video till the one that's going to be uploaded and all the routers, the servers, they all use microprocessors. So, that's the only reason why you and I can right now communicate with each other. So, where do you require a microprocessor? Is there a MU-P? I'm going to call it a MU-P in short. Is there a MU-P in a fan? No. In a tube light? No. In a remote control, yes. In a mobile phone, yes. In a computer, definitely yes. So, where do you require a Mupi? A Mupi is used. Tell me where? Come on, tell me. Why do you not need a Mupi in a fan? Why don't we need it in a tube light? Why do we need it in a computer? What is it that a computer or phone or a remote control does which a fan or a tube light doesn't do? Programming. wherever programming is involved get this clear if you want to do programming you need a processor the only thing on this whole planet that can execute a program is a microprocessor so all the programs that you have written in life and which you will write eventually they will all be executed by some of the other microprocessors so from now onwards Whenever you see devices around you in your day-to-day life and you feel there is a program running this device, instantly realize there will be a microprocessor or a microcontroller. They are just two sides of the same coin. There will be a processor inside, okay? That will be executing those programs. Now, coming back to your fan. doesn't it need MUP because there's no program involved in it you switch on the button it starts you switch it off it stops yeah the remote control fans then the remote receiver would require it but i'm talking about the normal low tech the normal devices that we see around same goes with the tube light and on the other hand if you look at this remote control is programming involved of course it's not magic i press different buttons different things happen to the air conditioner so first of all there is a program that reads which key is being pressed then sends appropriate data through serial wireless communication the receiver receives it sees the data understands which button was pressed and does the appropriate action all of this requires programming so here and the receiver in that ac both of them require a microprocessor to send and to understand what's going on okay now in the simplest example Oh, there's so many. There's billions and billions of microprocessors used all over the world. If you think of a traffic light, come on, since childhood you've been looking at traffic lights. In school you've been taught red, wait, yellow, start moving, green, yeah, now it's the time to go. Anyway. So, when you look at the traffic light, not as a layman, as an engineering student, you should realize this is nothing else but a program. What is the algorithm of that program? Show red, wait for some time, show yellow, wait for some time, show green, wait for some time, put it in a loop. Am I right or not? So if there is a program that means that traffic light has a microprocessor. If you go to a railway station you see an indicator telling you what train coming at what time. Inside a train you get those messages the next station so and so. All of those are programs and all of them are executed by processors. Now what we see the most massive biggest use of a processor we see it in a computer. Now suppose today you go and buy the latest computer in the market. Which microprocessor will you find inside? Yep. Good. Intel Core i7 or an AMD processor in case you're familiar with the AMD family. But what's used most often, most people in the world use Intel processors. So let's say you have a Core i5 or a Core i7 or maybe a Core i3 processor. So are we learning those processors right now? No, no, no. You don't start learning with those processors. Those are a result of 40 years of tremendous development and technology. we start with some most basic microprocessors. Most people in the world who start learning MU-P, they start learning either with 8085 or with 8086. They were such well-crafted processors and they were the initial commercially successful processors. So, let's give you a small piece of history, very small, not too much into it. The first complete commercial successful microprocessor made by Intel was 8085. Before that, there were various attempts. The closest one was 8080. Just as it didn't stable voltage so it was re-questioned to 8085 with the 5 volts power supply not getting into that i'm not getting into that i'm just telling you so the first complete mu p was 8085 but it was not very powerful it was just a basic it was the first step baby steps taken by intel to explore the world of computing Then came a remarkable processor, 8086. 8086 changed the face of this planet, single-handedly. 8086, Intel combined with IBM, made the personal computer IBM PC. And then it just took off. Then there was no turning back. Apple came into the picture. Microsoft came into the picture. Good operating systems came. Processors became more and more powerful. So every three years, new processors, three, four years, new processors were being released. They are all Intel processors. So came 80186. They all called the 86 family. 286, 386, another benchmark processor. 80386 got in some really cool concepts in computing. Whenever you learn it, you'll come to know. Mind-blowing processor. 80486, marginal improvement. 80586, again. This is what made computers a household name. 80586 is also called Pentium 1. Officially released in 1993. Beta versions earlier, but anyway. With Pentium 1, computers started engaging in multimedia tremendously because of the power of Pentium. And that's when people started realizing that computers cannot be used only for boring things. They can also be used to watch movies, play good high quality video games and stuff like that. So that's when the commercial and the entertainment angle came into picture anyway. Then came Pentium 2, Pentium 3, Pentium 4 in the beginning of this millennium year 2000. Core 2 Duo, another benchmark processor around 2004. Core i7, 2008, 2009 and still going on, further generations of it. So this is where the world has reached today. And this is what you would be studying when you start learning. If you're watching this video, this is what you'd be learning. Anyway, so the moment somebody sees this, they think, what rubbish is this? The world has gone so far ahead. Why are we wasting time? You're not wasting any time. You can't learn poetry if you don't know basic grammar, if you don't know ABCD. Yeah, your goal is to write poetry. But for that, you have to do the effort of learning basics first. Same goes with processors. They are far more complex than writing poetry. I'm not saying that it's easy, but these are far more complex and far more technically developed. So to learn all these powerful processors, you need basic processors like 8085, 8086, any one of them, you need thorough knowledge of them before you can launch yourself to learn bigger processors. Now where are they used? 8085, 8086 are not used in modern computers. Modern computers have become way too powerful. People do wonderful things using their computer which I will not even get into. That's your personal computer, do what you want. My point is, to do all those things which you started imagining already, you need good powerful processors come back to the point please you need good powerful processors so for that you need something like these these ones okay so this is what most people use today and will be using for a long time even now because they're pretty good processors anyway so where are 8085 8086 used now Intel as such is no longer interested in manufacturing these processors. It has outsourced the architecture license to other small companies. They make processors of the same grade as 8085, 8086 and so on. not exactly the same numbers, but processors of the same grade or the same category. They are used in mass volumes in small basic applications. That is why microcontrollers come into picture. They are of the grade 80, 81, etc. They are of the grade of 80, 85. But they are not ADD5 as such. They are same grain. So, where are they used? Something like a traffic light. Like I just told you. A traffic light you are pretty sure by now a traffic light works on a program. If it is a program that means there has to be a microprocessor. You think those traffic lights have a core i7 inside? or a core 2 duo your railway your that message that comes with sometimes is very annoying the next station the next station very informative of course also so do you think that has a core i7 or a pentium inside no it doesn't need something like that something as basic as an 885 or an 886 will do the job if you look at this remote control there is no way there will be a pentium processor inside or anything of that sort because it's not going to run windows it's not running android it's not running ios or Mac it's running a basic program to just see which button is pressed to do something like that you need basic processors so please do not think that the processors you are learning are outdated they are not outdated they are still very much used yeah you will not if this remote control breaks and you see the processor inside if the number is not 8085 don't be surprised it may not be the same number but if you ever learn its architecture you'll come to know it's of the same grade of 885 and 886 anyway so you're learning them because they're used in the world and as i said to learn bigger processors you need to know smaller ones now those were numbers starting with some concepts i'm going to start with basics the whole idea of this video today is to cover your basics okay so it's going to start with a very at a very basic level but do not make a mistake of thinking that it's too basic it's not Soon, before you realize, new concepts will start pouring in from every direction. By the time we end this video, you'll have a fair enough knowledge of what microprocessors are. You could directly start watching architecture immediately after this. So, it may seem very basic in the beginning, but it will not be at that level throughout. Now, suppose you look at a computer. You have a computer in all probability right now in front of you, unless you're watching this on a iPad or a phone or whatever. If you're looking at a computer, there's so many objects in a computer. Where does the microprocessor fit in? Let's see. You have a keyboard and a mouse. The keyboard and the mouse are called input devices. You may understand. Obviously, this is taught in school. Keyboard and mouse are used to give inputs to the system. Are they required? Yes. Are they running our programs? No. two numbers is the keyboard adding them no is the mouse adding them no but are they required yes to give the numbers inside so their job is to give inputs similarly printer and monitor what are they called output devices their job is to give outputs neither is the printer adding the two numbers nor is the monitor adding those two numbers monitor is not deciding what has to be displayed it is just displaying it just i will i will teach you that soon printer is not deciding what has to be printed it is just printing they just get a bitmap file which they just plot ink or plot colors on the screen and that's how you get outputs they don't decide anything all that decision making happens inside that big box called as cpu i'm sure you know that okay now when you open a cpu You see a motherboard. I'm sure you've seen it. If not, you can check out any video about it. You need to know how a motherboard looks like. Not that your aim is to assemble them. You could, but not that most people want to do that. But you need to know. I mean, come on. A person, for the sake of general knowledge or whatever, at least you should know how it looks like. Anyway, so when you see a motherboard, right in the middle, you see a big fat chip, the size of our arm. You will not be able to see it directly. It will be covered with a heat sink. or a fan if it's a better motherboard. Modern motherboards have a fan. Earlier motherboards used to have a heat sink because the device gets heated very much. You unhook the fan and underneath that you'll find your microprocessor. That is your Intel Core i7 if you're using an i7 processor. So that's where your Mupi is in the scheme of things, in your whole computer. When somebody sees a computer, they see the big thing. When an engineer looks at it, get the plastic out of the system, all that you're seeing is basically your processor and input-output devices and some storage. Now, the same thing, same thing I have put in a small diagram. Throughout learning this subject, we keep referring to this diagram again and again and again. Okay. So, this is your computer system. I have made a simple block diagram of that. Whatever you see in a computer system, ...classified into one of these three sections. This section is called the IO section. IO stands for input and output. I repeat, its purpose is only to give inputs and produce outputs. It is not doing any processing. Are we clear? The devices are keyboard, mouse, printer, monitor, etc. You know input-output devices very well. They give inputs and they produce outputs. There is a big section inside a computer Where all the information is stored. Stored. What do you call this section? Memory. I will be discussing memory a lot. Not in this video. I would love to. But then it will become too long a video to understand. And we will be deviating from the main concept of learning processes. But I promise I will be making a video covering the basics of memory. Memory itself is a huge subject by itself. Okay, so to cover its basics itself would need about an hour or so if you really want to understand what memory is. But I will give you a brief idea though. So what is memory? Memory is used to store. Okay, simple. Does the memory do any processing? No. Do songs or movies store inside your computer change as much as you'd want to? They don't. So memory cannot do any processing. It's just used to store. Store what? It stores programs and it stores data. I repeat, everything, there are thousands of files inside your computer's memory, in your hard disk. Everything stored in the memory is either a program file or a data file. Have I made myself clear? You either have programs or you have data. Let's take examples. You have Word, Microsoft Word. What is Word? It's a program. The documents that you create out of it are the data. You have WhatsApp in your phone. What is WhatsApp? An application. It's a program. The messages that you send are data. Your camera app is an app. It's an application, means it's a program. The images that you want clicking or the videos which is being recorded right now is the data. The song player that you use, Winamp or whichever song player, RealPlayer, Microsoft Music Player app, whichever one you use, that is a program and the songs are the data your image viewer is a program the images are data and so on so i can i can go on the whole day about it i think you got my point so everything inside your computer is either a program or it is data they are all stored inside the memory for the last time what does memory do it stores nothing else it just used to store now when you say the word memory Lots of devices come to our mind. You don't know how much I'm controlling myself. I would just take a plunge into the whole thing, but I'm not. Lots of devices come to our mind. Hard disk, floppy, it's outdated, but it used to be there. CD, DVD, which are almost outdated now. Pen drives, very much there. Cache memory, I'm sure you've heard of it. RAM, ROM, etc. numerous types of memories now most of the memories that i spoke about right now fall in under the category of secondary memory they are only used for secondary storage they are not used to work on they are just used for storage the work happens on primary memory okay these things you'll understand when you watch the video of memory but i need to say this over here otherwise people start on the wrong foot they start thinking of wrong things The processors that we start learning from, 8085, 8086, they were made in 1970s. Secondary memory was non-existent at that time. Okay, towards the end of 70s it started. But at least when these were made, at that time it was not there. Secondly, memory was invented much later to increase the background storage. What computers needed mostly at that time was basic primary memory. So if you're learning 8085 or 8086, the word memory for you is primary memory. Primary memory means RAM and ROM. So, I will not repeat this again and again. When I say the word memory, throughout learning 8085 and 8086, when you say the word memory, you are talking about RAM and ROM. Are we clear about this? Nothing else. The only memories that we are interested in is primary memory that is RAM and ROM. Out of which ROM, I am sure you know what is RAM and ROM. ROM stands for read only memory. You can only read, you cannot write. So, it is permanent. So, it is used for permanent information. RAM is random access memory. You can read and write both. It is volatile, so it's temporary, but you can read and write. If you switch off the computer, the contents of RAM are erased. So it's wiped out, so it again becomes fresh every time you start again. Whereas the contents of ROM, they are permanent. ROM. Information in ROM is stored like the print in a hand. It is etched inside. So it will not change. So it doesn't need power supply to hold it. Whenever I look at it, it will be the same. But I cannot change it. It is permanent. Whereas information in RAM is changed at a day-to-day basis, at a runtime basis. So what a computer uses is RAM and ROM as primary memory, out of which ROM is used only for a few permanent programs called a BIOS. Whenever you learn memories, you know. mainly when you say memory you're talking about RAM okay so when I say memory it is in your utmost interest to keep RAM in mind okay when you say memory when I'm sure even your phone when your phone starts behaving very slow you do some checks on your phone and see how much memory is remaining. What memory are you talking about? You're talking about your RAM. Okay, the 4 GB RAM or the 6 GB RAM that your phone has or a 2 or 3 GB RAM. It shows you how much is used, how much is remaining. When you kill the apps, when you kill the currently used apps, your amount of memory storage increases, free memory storage. That means what? Those apps have been removed from the RAM, they go back into secondary storage, which is basically a flash card in your phone. See, as I said, I will go on getting into it. This lecture is not about memories. I will take a separate lecture and I will go complete in-depth, show you the whole idea. I would love to do it in the class. I will do it together because we have three hours. Over here, it will just be too long a video as a single video. In the class, I can hold attention of every student. Here, if you start wondering here and there, there is nothing I can do about it. That's why I want to cut it short. I will put a separate video for that. coming back so memory is used to do what store store what programs and data now how does data look like data can be boring numbers data can be text it can be images songs videos what do you want to know how do we store a movie or how do we store a song or an image you tell me you choose the option and i will answer what do you want to know first how to store a movie or how to store a song or an image or word documents if that's your thing. None of them. If you are thinking how to store a song, you will not learn anything because a song is not stored as a song. A movie is not stored as a movie. An image is not stored as an image. Everything is just stored as a series of millions and billions of zeros and ones. Get this clear. This is your entry point. I am opening the gate of this subject to you. Once you understand this sentence, you will take the right track to learn this subject. In our subject, everything behind me in that diagram, in that system is just zeros and ones. Is that clear? I'll tell you, I'm very sensitive when I explain this point because it's straight out of personal experience. First semester of engineering, right after 12th standard, got 95% in 12th, had big dreams about learning wonderful things in engineering, which of course got fulfilled also. But I got a shock as well. I'm from the era where we move from audio cassettes to CDs. So... Always been very interested in music. First day of the class, I asked my teacher, how is a song stored in a CD? And the answer that I got was the answer that probably motivated me to learn all this in much more detail. The answer was, don't ask such stupid questions. This is not your subject. So the mistake was mine. It was not of the teacher. It was my mistake to ask that question. The question is the wrong question. If you ask how to store a song in a CD, no, a CD doesn't even know that it's storing a song. The same CD, when you buy a blank CD, you can store a song in it, you can store a movie in it, you can store whatever you want to do with it. It is not created to store a song. It is just created to store zeros and ones. So get this picture. When you buy a pen drive today, while buying, you don't make a promise, I will only store songs. You can store what you want. You store a song, erase it, store a movie, erase it, store boring word documents, store what you feel like. So... when you think of memory you want to understand memory don't try to understand how to store those things just understand how to store a zero or a one once you understand how to store a zero or a one you know how to store anything just combine millions and billions of those whatever you want can be stored now we are talking about ram There are two types of RAMs in the world. They are called SRAM and DRAM. SRAM stands for static RAM, DRAM stands for dynamic RAM. There is a new RAM called SDRAM that is called, hmm, not static dynamic. It's called synchronous dynamic RAM. People think it's static dynamic. Can't be. They're two completely different technologies. You can't mix the two. Anyway, so it's also a type of DRAM. So there are two types of RAMs. Now, static RAM is tremendously fast as compared to dynamic RAM. I'll give you the reason also in a minute. Most computers use majority of dynamic RAM and a small amount of static RAM called cache. Not relevant in 885, 886. Cache was not even invented in these days. The problem is, today because there is so much flow of information, students hear the most latest technology and they try to search for it in 885. It cannot be. You cannot look for cache. So that's why I'm just trying to erase all unnecessary things so that you're on the right track. okay so for us there is no cache for us in our subject there is no real difference between SRAM and DRAM except for the last lecture when you try to do interfacing then there is a difference but otherwise throughout learning the subject makes no difference whether the RAM you're talking about is SRAM or DRAM I'll still tell you what is the difference between the two just out of in case you're curious so you're talking about storing images or movies whatever how do you store them zeros and ones how does a movie or an image become zeros and ones. Suppose I start my phone and I start my camera. Yes, it's the 10. So suppose I've taken an image right now. Right now, in front of you, I captured an image. That image is stored in my phone's memory. I hit on that image. That image is back on the screen. Now, you tell me what was stored inside. this beautiful image that you see you think this image was stored inside like this no what is stored inside the computer's memory is zeros and ones now how did this image become zeros and ones and how did zeros at once come back and predict this image how did that happen and that too so fast When I start clicking the image, when I open my camera, the screen is divided into rows and columns, giving you small, small intersections called pixels, picture element. In short, combined together, pixel, picture element. Okay? So, there are numerous pixels. They are rectangular in shape, not squarish because our vision is also rectangular the way it is shaped. Anyway, anyway, I'm not getting into graphics. I teach graphics also. I'm not getting into that. So, So the screen is divided into small, small, tiny rectangular shaped pixels. Okay. When I hit capture, which means I want to capture the image. What defines this image? The color of all the pixels. Am I right or no? What am I seeing on the screen? There are pixels and each pixel has a color. It may represent a classroom. It may represent your favorite movie star. It doesn't matter. It's just pixels with colors on it. So when I hit capture, the processor captures the color of all the pixels and stores it as a file when I want to project it back on the screen it divides the screen again into same number of pixels one by one starts projecting all the colors and you the same image comes back on the screen please tell me did you understand this much so what do you understand what was stored inside the memory the color of all the pixels so there are two questions over here first should there be less pixels or more pixels obviously more pixels more the pixels tinier will be each pixel come on it's so easy to understand that the same screen divided into four pixels each pixel will be so big divided into four million pixels each pixel will be so small what do you want to do suppose you're taking my picture And suppose a single pixel represents my face. A single pixel. You wanted to capture the color of this pixel. How can there be one color? There are so many shades happening over here. How can you capture one color? Now when you project it back, it'll just be... You know what I'm talking about. It'll look like a cartoon's face. You will not see real colors at all. You will not see this whole shading. So... For that, you need to have tiny pixels. Smaller the pixel, more is the detail. The tiniest detail you'll be able to capture. There is a difference of color between here and here and here and here and here. You'll be able to capture all of that. So, that's why cameras have more and more pixels. That's the difference between a 5 megapixel, 8 megapixel, 10 megapixel and so on. Megapixel camera, more the number of pixels, more is the detail captured. Of course, there's a trade-off to it. The more is the processing required. And I said, I'm not getting into image processing. Just telling you what's the meaning of megapixel cameras and what is pixels. So, again, what to store inside the file? The color of all the pixels. So, first thing that we've established is there should be lots of pixels. Secondly, how do you store the color? Are you going to store it as names? Red, yellow, light pink, baby pink, navy blue. No, no, no, you're not going to do that. You're going to have numbers. every color numbers representing colors okay now suppose I am storing here this very clearly suppose I am storing one bit per pixel for every pixel I'm storing only one bit now a bit can be just a zero or a one that means it can represent only two colors a black or a white so what happens you've taken my photo of my face All of it is not black, all of it is, I'm not, please, let's understand what I'm trying to say. All of it is not black, all of it is not white. You cannot, and it's not exactly black and white, there are so many shades happening. you try to project it back what you will get is patches of black and white which will look basically like the cartoon face that used to make when we were children that circle with the line representing the nose and two dots and two dots for the eyes two lines for the eyebrows two lines for the lips it's going to look like that all the details that you see will not be there at all so what where did we go wrong we went wrong thinking that we will have only one per pixel. Now instead of 1 bit, if for every pixel we have 2 bits, what will happen? You will get 0 0 0 1 1 0 1 1. 2 bits will give you 4 options. You understand that. So that means now you can store 4 different colors. 0 0 for pitch black, 1 1 for pure white and there will be 2 shades of grey. A lighter grey and a darker grey. So then what happens? Now when you capture it and project it back, you will be able to see some kind of shading. It will still look very ghostly. But it will be better than what it was earlier. And now you have got the idea how to make it better. Put 3 bits per pixel. What is increasing? Size of the file. Doesn't matter. What are you getting? Clarity. Put 3 bits per pixel. You'll get 8 shades of grey. You'll be able to differentiate this whole region. Not combined. as beautifully as you can see it right now. But yes, you'll be able to create shades. Four bits, you will get 16 shades. Now what do you do with 16 shades of gray? I said 16. You start putting colors. So you'll have 16 colors. This is what C programming does. If you've done graphics in C programming, you have 16 colors. 0 to 15, 0 representing black, 15 representing white, and then different colors. So you'll be able to get a colorful image. But again, those colors are not the same as colors that you see over here. You can see so many shades of brown. You'll get one or two browns. It's like a sketch pen set with 16 colors in it. Come on, how beautiful can you make an image out of that? There will be distinction. There will be something called Mac bands in graphics. You'll be able to see bands. You'll not be able to see so many shades. So what you need to do is tremendously go on pumping more and more bits per pixel. So let's take a big leap. If you have 16 bits per pixel, Per pixel. You have 16 bits representing color. You'll get 2 raised to 16. 2 raised to 16 is 65,536. 64. Okay. So, you'll get 64,000 colors, simply speaking. How many colors? You would say they are not 64,000 colors. Correct. There are 4 of those. The same... 16 colors. 64,000 divided by 16 is 4000. So for the same 16 colors, now you have 4000 shades. When I say brown, I have 4000 browns. When I say blue, I have 4000 blues. Now you'll be able to represent shading. See, that is called 16-bit color coding. Then comes 20-bit, 24-bit true code. And so on and so forth. Then becomes HD and high-quality images. What happens? I'm sure you have downloaded high-quality images at home. I'm sure you do that. Everybody does that for their wallpaper. You want the most beautiful image on your screen. When you do that, you notice those images are so good, no matter how much you zoom, they don't crack. And it is so pleasing to look at in the eye. What is the trade-off? What is the flip side to it? The size of the file is humongous. A normal image file should be a few hundred K, maybe 1 MB or 2 MB at best. But these image files go up to 5, 6, 7, 8 MB, bigger than the size of a song. Why is that so? Because of two reasons which I've already explained to you. First, there are more and more pixels. Second, each pixel has lots and lots of bits to represent color. That's how the image becomes so big. My point over here, don't deviate from the point. My point here is no matter how beautiful an image is, At the end of the day, it is just a series of zeros and ones. The next time you look at your beautiful wallpaper, understand what you see is not what is there inside. What is there inside is just zeros and ones. Yes, it represents it. This video that's coming to your house is zeros and ones. Okay? Anyway, so... An image, I think by now you got it clear. An image is just a series of zeros and ones. So can a video be a series of zeros and ones? Of course. What is a video continuous set of images? Happening so fast that because of persistence of vision, we think it's continuous. Otherwise, it's actually frames. 30 frames per second, 60 frames per second, depending upon the recording speed. Anyway, so a video is just a bigger series of 0s and 1s. That's why video files are much bigger. There are a few gigabytes going up to, depending on the length of the video. Bigger the video, bigger the file. Anyway, audio, again, with 1-bit sound, you can get 2 sounds. With 2-bit sounds, you can get 4 sounds. With 3-bit sounds, you can get 8 sounds. And bigger, the more the number of bits, more is the clarity, bigger is the file size. You can download the same song for 4MB, the same song for 8MB, 12MB, because there are more and more bits used to put the sound, so that you get more and more clarity. anyway so my point is all media in the world which may be very wonderful to look at or listen to is just zeros and ones so if you want to understand memory you don't need to understand how to store a song you need to understand how to store a bit once you know how to store one bit you know combining millions and billions of those you can store whatever you want to have i made myself clear that cd which is 700 mb in size 800 mb in size uh Stores 800 million bytes. Each byte has 8 bits. So multiplied by 8. Those many million bits. 0s and 1s. What do they comprise? What do they create? It may be a song. It may be a movie. Doesn't matter. So the question again comes back. How do you store a 0 and a 1? We are talking about RAM. I said there are two types of RAMs. SRAM and DRAM. What's the difference? SRAM stores data in flip-flops. DRAM stores data in capacitors. Students, they start losing it. How did a song get into a flip-flop? How did a movie get into a capacitor? No, a movie is not getting into a capacitor. A movie is represented as zeros and ones. All that a capacitor does, a single capacitor does is, it can be charged, it can be discharged. When I charge it, I'm holding it as logic 1. That 5 volts is treated as logic 1. When I discharge it, it's treated as logic 0. If I charge the capacitor, it will hold the charge. Of course, there is refreshing required, but assuming that the refreshing is there, it will hold the charge. When I discharge it, it will hold that discharge. That means I can store a logic 1, a logic 0. Whenever I want, I can make it 1 again. Whenever I want, I can make it 0 again. That means I can write this data. Now combine millions and billions of these capacitors, you can store a movie. Did you understand this? Same goes with a flip-flop. Simplest flip-flop, SR flip-flop or a D flip-flop, whichever. You set it, you reset it. If it's an SR flip-flop, you set it, it holds a 1. You reset it, it holds a 0. You can set it again. You can reset it again. That means one flip-flop can hold one bit. Combine millions of those, you can store a song. Billions of those, you can store a movie. That means if you want to store information inside the computer and change it at runtime, you either need to use flip-flops or you need to use capacitors. Those are the two types of RAMs. One RAM uses flip-flops, one RAM uses capacitors. Now which RAM will be faster? The one that uses flip-flops. Because capacitors take their own sweet time to charge and discharge, which I'm sure you have done sums of. If you reach this level in science, I'm sure you crossed the initial parts. So you know capacitors have a charging time and discharging time. And when you talk about millions of capacitors being charged and discharged, the time gets multiplied in a much bigger way. So DRAM works clearly much slower as compared to SRAM, but it's also much cheaper. So that's why computers have a good balance of DRAM and SRAM. My point is, I hope you understood what is DRAM, what is SRAM, what is memory, what does memory do? Memory is used to do what? Store. Store what? Zeros and ones. And those zeros and ones give you files. Those files can be data files like songs, blah, blah, blah, or they can be program files. Now let's talk about program files before we go ahead. This is your memory. It's used to store. This is your IO. It gives inputs, produces outputs. Till now, this lecture is supposed to be introduction to processors. Till now, I've not even started about it. Because first you needed some background. Here is your processor. Look at the diagram. Immediately get a point. Without my help. Come on, get a point by yourself. There are three objects on the screen. There are only two links. Between the processor and the memory and the processor and the IO. What does this mean? Processor controls the memory. Processor controls IO. Memory and IO do not control each other. Which is so obvious to understand. If that was happening, then information stored inside your computer will directly start coming on the screen without your knowledge. May even get printed. May even go out and be sent to your friends without your permission. Obviously that's not going to happen. Everything is controlled by the processor. Now, we said the main job of a processor is to execute programs. So now let's talk about programs. What is a program? A set of instructions. Where is the program stored? Memory. You type your program on the keyboard. I'm sure you've done some program or the other. At least add two numbers. I'm sure you've done more than that. Of course. So, you type your program on the keyboard. When you type, yes, you're using the keyboard to type it. Is it getting stored on the back side of the keyboard? No way. The program is getting stored in the memory. Now, your program is stored, ready for execution. You hit the execute button. What happens? This means on your phone you hit an app. That means you say you want to execute this app. That's what I'm saying. So what happens? Instructions are stored in the memory. Who has to execute them? The processor. What will it do? It will first of all take an instruction inside. That taking is called fetching. So, the first thing a processor has to do is fetch instructions. Instructions are stored in the memory. They are executed by the processor. Whether it is 8085 or whether it is Core i7, the first thing it has to do is fetch the instruction. Are we clear? So, it will fetch the instruction from the memory. Now, the instruction has come inside the processor. Now, what will it do? execute the instruction no between fetching and execution comes a step called decoding i had a specific request by this gentleman some i think somewhere in france uh asking me to make a video on what is the meaning of decoding that comes in a subject called coa computer organization architecture i teach that subject too and i will be making videos of those in some time Right now, I'll give you a brief idea what is decoding. Just in a nutshell, this is an introduction video. Okay, but if you apply your mind and you get this, you understand this, you'll be able to understand decoding at any level. Then it just becomes bigger and smarter. But the basic concept remains the same. Now, what is decoding? People think decoding means converting the instruction into zeros and ones. No, that is not decoding. The instruction already is in zeros and ones. Come on, my friend. I've spent 20 minutes to make you understand something. Don't let me down now. Everything stored in the memory is zeros and ones. Your program, when you typed it, yes, you didn't type zeros and ones. Of course, no human being types zeros and ones. That's machine language. That's why it's called machine language. You type beautiful languages. You type something like A is equal to B plus C. This is the syntax of most modern languages, C, C++, Java, etc. They are called higher level language. They are the easiest to understand. And come on, you don't have to be a rocket scientist to understand what happened over here. A gets the result of B plus C. It's directly derived from the way you write English or mathematical statements. So that's why it's the easiest language. So most people who know programming in the world, they know this level of programming. Then people who learn this beautiful subject, Learn a sub-level called assembly language. All core programming of our subject is done in assembly language. It is a little more tricky than this but still understandable. When you write add B, C, pretty much simple. You are adding the value of B and C registers. You will learn what are registers. That comes later. In the architecture lecture, I have explained that. Anyway, so add B, C will add the value of B and C. If you are learning 8086, the registers will be called BL and CL. If you are learning some other processors, the names of the registers will change. If you are learning 8051, it will be R0 to R7, A, etc. Now, anyway, so this is higher level language. This is called assembly level language. And the lowest level, lower level language, also called machine code, also called object code, also called binary language is 011, 010, 111. I have just written a random pattern. Do you write this language? No. Why? Because you have an attitude problem? No. Because it is cumbersome. You think people who pay you such big salaries because you're a software engineer, that's because in the office you're going to type zeros and ones. No, no human being types this. It's cumbersome. It's going to create a lot of mistakes. It's going to waste time. What's the point? So we write better languages, either higher level language or assembly level language. When we type a program in higher level language, we give that program to a compiler. If we type assembly level language, we give that program to an assembler. I am sure you know these words. A compiler will compile the program. What does that mean? I have asked this question to students during interviews. And I have been appalled at the answer students gave. Like, come on, you finished engineering, you are applying for a job interview and this is the answer you want to give? When you ask a student, why do you compile a program? They say to check for errors. Come on, your interview will get over that very moment and you'll be sent back home. You don't compile a program to check for errors. You compile a program to convert it into machine language. Yes, if there is an error, it cannot be compiled. So it throws up an error. But the purpose of compilation is not to check for errors. The purpose of compilation is to convert it into machine level language so that it can be executed by the processor. Are we clear? So when you compile a program, it becomes binary language. Your C file becomes OBJ file, in case you are familiar with C programming. Anyway, similarly, if you type your program in assembly language, you give it to another software called the assembler. If you've started programs in college, if in 8086 you type a program you save it as dot ASM That means it's assembly language as of now then you use TASM, MASM or any kind of assembler that gives you dot OBJ That means it's been converted to machine language. So a compiler or an assembler is used. It's a software. It's a program It's used to convert it into machine language. Are you clear? My point is Whether you type your program in higher language or in assembly language simply for the sake of convenience, when it is stored in the memory, it is in binary form. Who put it in binary form? Not you. Either the compiler or the assembler, depending on which language of programming you've done, has converted it into binary. when the mu p is going to attack your program or fetch your instruction it will get it in the binary form so decoding does not mean converting it into binary it is already in binary have i made my point clear it is the binary form that the mu p gets are you clear this binary form of an instruction is called the op code Op code is a combination of two words. Operation code. That means the binary code of the operation to be performed. That means add instruction will have an op code. Subtract will have a different op code. Multiply will have a different op code. Every instruction has its own unique op code. Say it again. Every instruction has its own unique op code. So, when you type your program, the compiler or the assembler converted every instruction into machine level language and represented them as zeros and ones called their opcodes. Are you clear? When you say the processor has fetched the instruction, what has it got? It has got an opcode. Are you clear? A pattern of zeros and ones. Now, you said after fetching we want to execute. Yes, of course we want to execute. But to execute, we should, we means the processor. The processor has to first understand what has to be done. It will look at that binary pattern and will make sense out of it. That process is called decoding. The technical definition, understanding the opcode. I repeat, decoding means understanding the opcode, making sense out of the opcode. It's called decoding. Not converting it into opcode. It is already in binary form. It just has to be decoded. Now, I'll show you decoding in the... form okay this is especially for that gentleman who had requested suppose there is a very basic microprocessor and it has four instructions just four instructions okay we talked about a simplistic microprocessor in the world so it has only four instructions add subtract multiply divide since there are only four instructions there will be only four opcodes tell me do you agree since there are only four opcodes Opcode will be of 2 bits. Do you agree? Correct? Since opcode will be of 2 bits, these will be the combinations. 0, 0 will represent, let's say, add, 0, 1 for subtract, 1, 0 for multiply, 1, 1 for divide. This is which language? Machine language. This is which language? Assembly language. You type your program in which language? Assembly. When it is stored in the memory, it is stored in which language? Machine language. Now, are you understanding it? The assembler converted this into machine language and stored in the memory. So, this is my program stored in the memory at different locations. These are addresses, this is my program stored. so this is my program 00000011 can you please read it aloud and say what my instructions are say it loud doesn't matter if anybody looking at you who cares come on what are these instructions come on loud yes add add add divide what you did right now is called decoding you did it right now by yourself what did you do you saw this you came to this table you saw 0 0 stands for add that means i have to add 0 1 is subtract blah blah blah so this is add this is add this is add this is divide what you did is called decoding the same thing the processor also has to do when it affects the instruction it got an opcode It has ready-made circuits to do addition, subtraction, multiplication, division. That's in the ALU, which is a part of the processor. Okay. So, it has ready-made circuits to do it. Now, which out of these circuits has to be triggered? That depends upon what opcode has come. So, the opcode has to be first decoded. It will Put the output into a 2 is to 4 decoder. I'm sure you know what are decoders. Even if you don't, just listen. A 2 is to 4 decoder has 2 inputs and 4 outputs. If it sees 0, 0, it'll trigger the first output. If it sees 0, 1, it'll trigger the next output and so on and so on. So, when it sees 0, 0, it'll trigger add. The next one, 0, 0, again add. The next one, 0, 0, again add. The last one, 1, 1, that means divide. This process is called fetching. this process is called decoding and then doing the final operation is called execution that entire process is called the instruction cycle the whole life cycle of instruction first of all being fetched from the memory into the processor then decoding it inside the processor and finally doing the operation that's called execution please tell me is this whole thing clear now when you look at bigger processors what happens is decoding becomes bigger and bigger you understand with the two bit opcode you had four combinations with a three bit opcode you'll have eight combinations so you'll need a three is to eight decoder four bit opcode 16 combination four is to 16 decoder of course modern processors will not have four five tens 15 instructions they have hundreds and hundreds and hundreds of instructions with multiple instruction sets you'll not know what i'm talking about as you learn pentium and stuff like that you'll come to know what What sir just said. Anyway, so with so many instructions, you will not have a physical decoder like this. This is called hardwired decoding. Then what you have is something called micro-programmed decoding. Beautiful things to learn, but much ahead. You cannot learn all of it in one lecture. Okay? And that is not a part of this subject at all. That is a part of subject called computer organization where you learn control units and you learn how they are made from inside. Very interesting, but not a part of this subject. I cannot, as I said, I can't deviate from what I am trying to make you understand here. So, I think by now you got my point. What is the meaning of fetch, decode and execute? So, like this, one by one, one by one, one by one, instructions will be fetched, decoded and executed and the program will be executed. Please tell me, is this much introduction clear? Now, there's so much more on the board that I want to teach. But, you need to know a few basics first. So, first of all, I want you to understand what is binary. The concept of binary and hexadecimal numbers. And also, powers of two. These are two things which I'll go on the other side. I'll shift the camera. I'll make you understand those. Then, we will come back into this diagram. Okay? Now when we are learning our subjects of microprocessors and microcontrollers, we only work in hexadecimal system. Every number written in these subjects is always in hexadecimal. So students wonder why? What was wrong with our good old decimal system? Why did we come up with this new thing? It's a necessity. We needed it. See why. The age-old system that humans were using and the one that you've been using since childhood is decimal system. Now, in decimal, a single digit goes from 0 to 9, which means it gives you 10 different values. Tell me, do you understand that much? Inside the computer, you know, everything is just zeros and ones. Do you know this? Everything is stored inside a computer is in binary form. So when I try to convert decimal numbers into binary, I face a problem. Here is the problem. what will zero be in binary yes so obvious it will be zero that's not the question the question is how many zeros how many binary bits do i devote to represent one digit if i devote only one bit it will have only two options zero and one i will never be able to represent two If I use two bits, I will get four options. So I'll be able to go to 0, 1, 2, 3. Similarly, if I use three bits, I'll get eight options. 0 to 7. My problem is I want to go from 0 to 9. I have 10 values. Now to represent that, 3 bits are not sufficient. I need 4 bits. Tell me, do you understand the point I'm making so far? So students say, what's the problem? Use 4 bits. Of course, we'll use 4 bits. So 0 will become 0000. 1 will be 0001. 9 will be 1001. I'm sure everybody knows how to do this. Come on, you're not going to memorize their binary forms. There is a trick, 8, 4, 2, 1. If you follow that, like how we have in decimal system, units, tens, hundreds, thousands. Similarly, in binary, they are all powers of 2. So, 2 raised to 0, 2 raised to 1, 2 raised to 2, 2 raised to 3. So, if I want 9, 9 means I want an 8 and a 1. 8 plus 1 is 9. So, that is 1, 0, 0, 1. If I want 4, that is 0, 1, 0, 0. If I want 6, that is 0, 1, 1, 0. If I want 2, that is 0, 0, 1, 0 and so on. I am sure you know that. So, coming back. To represent one digit, I use 4 bits. Is this point clear? Now the problem is in 4 bits, you can get 16 combinations. You have used only 10 combinations. So that means there are 6 combinations which are forbidden. They don't have an equivalent representation in the hexadecimal form. Are you understanding the point I am making? So then what goes wrong? If I try to do any arithmetic like simplest 8 plus 2, 8 is 1000, 2 is 0010, I end up with a pattern 1010 which has no representation over here as a digit. 10 in decimal form is written as 2 digits. But I have got a single digit because I am using 4 bits to represent a digit. So if I am using 4 bits, I am sure I am going to get 16 combinations. I need to name each of those combinations. there came the need for creating a new system which has 16 representations please tell me is the concept of using hexadecimal numbers clear if you use decimal numbers you get 10 combinations if you use hexadecimal numbers you go 0 to 9 and then 10 which is a so you got something to represent this pattern a then comes b which is 11 c that is 12 d 13 e 14 f 15. So you get 0 to 15, which gives you 16 combinations as compared to 10. So first of all, your advantage is every possible binary combination has now been represented as a digit. Moreover, on a single digit, you get 16 values, whereas on a single digit, you're getting 10 values. means you can store more information in less space now over here the difference seems to be small 10 and 16 seems to be small it is not small it is humongous if you look at a four digit number a four digit number in decimal system can be maximum 9999 9999 simply speaking 10 000 whereas a four digit hexadecimal number goes up to fff which is 65 535 do you see the difference Both are using the same space. Who is giving you far more information? Hexadecimal system. Because it used up every possible combination. So when it gets multiplied over a bigger number. You can see the difference. This is 10,000. This is 65,000. If I tell you your starting salary. Will be a 4 digit number. You will want it to be a what number? Decimal or hexadecimal? You got my point. So. in computers we do not use decimal system decimal system is for the real world because it's easy to count it came from this it's the age-old system at that time all these concepts were not there obviously but computers are from the educated world from the intelligent world where they created a concept of zeros and ones to do binary arithmetic now when you have binary to represent all possible combinations of zeros and ones. You need 4 bits because you want 10 numbers. 4 bits will give you 16 combinations. So create a new system that accommodates all those 16 combinations. So that's why everything in this subject is in hexadecimal form. Do not get confused. Inside the computer, everything is binary. But it is not the binary form of decimal numbers. It's the binary form of hexadecimal numbers. So that you can represent every 4, combination of every 4 bits. Is that clear? Now, this conversion should be very fast. I give you the trick already. So suppose I ask you what is 9. 9 is 8 plus 1. That will give you 1, 0, 0, 1. A is 10. 10 means 8 plus 2. That will be 1, 0, 1, 0. So a little faster now by yourself. I want 3. What is 3? Come on. What is 3? Nice. I want 5. What is 5? Nice. I want 35. Come on. Come on. What is 35? Come on. Don't get scared. This is 3. This is 5. I asked you 35. 35 is just the same two things. 3 is 0 0 1 1. 5 is 0 1 0 1. Hold on. Is this how you represent 35, 3 and 5? I'm asking you. Yes. If, you know what, many people think, no, this is not how you do it. It's the problem. Then people say microprocessors are tough. They are not tough. But if you start on such a wrong foot, you're starting on a tangent, how do you expect to understand big things if your basics are so shaky? There is another procedure of divide by 2, divide by 2 method. You know that, right? When do you use that? When you are converting from decimal to binary. And that will never happen in our subject. In our subject, microprocessors, we only work in hexadecimal system. I have given you the reason for that 2 minutes back. So, every time you are converting, you are converting hex to binary. And hex to binary is converted the way I have converted right now. For every digit, you represent bits. but how many bits 4 bits the reason for that is one digit has 16 combinations 16 combinations means 4 bits are you clear so 35 is this is 3 this is 5 74 0 1 1 1 is 7 0 1 0 0 is 4 93 1 0 0 1 is 9 0 0 1 1 is 3 FF 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 hold on now look at this 00, 35, 74, 93, FF. They all totally, totally required how many bits? 8 bits. That is why they are called 8-bit numbers. Now, when you learn microprocessors, you keep coming across 8-bit numbers and 16-bit numbers all the time. Instead of being confused every time and every time racking your brains over something so silly, get it clear once for all. Tell me, if after this you ever see this word written anywhere, so and so is an 8-bit register, so and so is an 8-bit number, what does that mean? What is the range of an 8-bit number? Come on, an 8-bit number has 8 bits, so the smallest value will be 8 zeros. Yes. How many zeros are these? Come on. Come on. Don't see what is just shown. Use your brains and answer. How many zeros are these? These are not two zeros. These are eight zeros. That's the irony of the situation. We call it an eight-bit number. We don't write eight bits because we don't write zeros and ones. We write it in hexadecimal form because it's easy to write. It's a compressed form. Works faster on writing, on paper. But inside the computer, this will be stored as 00000000. So this is an 8-bit number. It's the smallest possible 8-bit number. Please tell me, did you understand this? And the biggest 8-bit number will be 11111111, which in hexadecimal form will be FF. So the range of an 8-bit number goes from 00 to FF. The range of a 16-bit number is 0000 up to FFFF. Please tell me, is this clear? 8-bit number is also called a byte. 16-bit number is also called a word. Are you clear? Or two bytes if you like it that way. Now, I'm going to do a small exercise with you. I'm going to go on writing numbers on the board and you're going to go on telling me whether it's an 8-bit number or a 16-bit number. Say it out loud. Who cares if somebody is watching you? Doesn't matter. You know you're doing the right thing. Okay? Let's be quick on this. How many-bit number? Yeah, yeah. How many-bit number? Correct. 8-bit. 1, 2, 3, 4, 16-bit. I will not keep writing the H. Every number in our subject is hexadecimal. 5, 1, 4, 0, 16-bit. 4, 0, 8-bit. 2, 0, 8-bit. 8, 0, 8-bit. 8, 0, 0, 0, 16-bit. 5, 1, 3, 6, 16-bit number, so on. I think you got my point. If I ask you to represent this number in binary, come on. 5, 1, 3, 6 is 0, 1, 0, 1 that is 5, 0, 0, 0, 1 that is 1, 0, 0, 1, 1 that is 3, 0, 1, 1, 0 that is 6, that is 5, 1, 3, 6. Like this any time if I ask you to represent any number will you be able to do it? You need to. These are all basics. This is not the whole learning of microprocessor. Microprocessor is very deep and very interesting. But to learn all of that your basics have to be right. So this is a point where many people get stuck up and then they goof up in the bigger points. I just wanted this to be crystal clear. Henceforth, anybody says an 8-bit number or 16-bit number, you should know what they're talking about. Now, we're going to learn parts of two. Anybody learning microprocessors or microcontrollers or computer organization or any digital subject has this thing all the time. In our subject everything is a power of 2. Everything is in binary. So every number eventually is some power of 2 or thereabouts. So instead of being confused all the time what is kilo, what is mega, what is giga, what is 2 raised to 32. Give me 5 minutes. 5 minutes, that's it, is all I want. And you'll be damn clear about every power of 2 ever required while learning this subject. Okay, let's start. So let's look at the basic powers. 2 raised to 0 is 1. 2 raised to 1 is 2. 2 raised to 2 is 4. Let's keep multiplying by 2. It's not rocket science. 2 raised to 3 is 8. 2 raised to 4 is 16. 2 raised to 7 is 128. Okay. 2 raised to 9 is 512. 2 raised to 10, obviously, is 1024. 1024 in our subject is called 1k, a kilo. A kilo in microprocessors or in computers is not exactly a thousand. It is 2 to the power 10, that is 1024. Are you so far clear? Now, look at these and if I ask you any power of 2, you should be able to answer. If you won't take a look, if you won't try to answer it from your mind, that will be better. That will be better. 2 raised to 5. 32, 2 raised to 7, 128. Try not to look. Come on, don't cheat. 2 raised to 3, 8. 2 raised to 4, 16. 2 raised to 6, 64. 2 raised to 7, 128. 2 raised to 2, 4. 2 raise to 8, 256. 2 raise to 9, 512. 2 raise to 10, 1K. 2 raise to 11. 2 raised to 11. Now, you do not have to think all over it again. 2 raised to 11 can be derived as 2 raised to 1 into 2 raised to 10. 2 raised to 1 is 2. 2 raised to 10 is 1k. 2 raised to 1 is 2. 2 raised to 10 is 1k. So, this becomes 2k. Please tell me, did you understand? So, 2 raised to 11 is 2k. 2 raised to 12 is 4k. 2 raised to 13 is 8k. 2 raised to 16. If you learn little bit of microprocessors here and there, you will now start coming across numbers that you have been seeing in the books all the time. 2 raised to 16 is 64k. Come on, it is not rocket science. You just have to tell me a k next to all these numbers. It is not that difficult. 2 raised to 18 is 256k. 2 raised to 19 is 512k. 2 raised to 20 is 1 k k a kilo into a kilo is a mega thousand into thousand becomes million so 2 raise to 20 is 2 raise to 10 into 2 raise to 10 that is a kilo multiplied by a kilo that is a mega so 2 raise to 20 is 1 m You ever hear 1 megapixel or 1 megabyte? Understand, in our subject, that simply means 2 raised to 20. Are you clear? So now, what is 2 raised to 24? Come on now, don't make a mistake, please. 2 raised to 24, 16 mega, good. 2 raised to 26, 64 mega, 64 MB, if you want to say it that way. 2 raised to 28. 256 mega. 2 raised to 29. 512 mega. 2 raised to 30. 2 raised to 30 is 2 raised to 10 multiplied by 2 raised to 20. 2 raised to 10 is a kilo. Every time you hit a kilo, you go to the next level. OK? On every time you reach 1,000, you go to the next level. So 2 raised to 30 is a kilo into a mega. A kilo into a mega becomes a giga. So 2 raised to 30 is a giga. So when I say I have 4 GB RAM, What does that mean? 4 giga. 4 is 2 raised to 2. Giga is 2 raised to 30. That means it is 2 raised to 32. Are you clear? When I say 2 raised to 36, come on, now give me a correct answer. Make me happy. 2 raised to 36 is 2 raised to 6 multiplied by 2 raised to 30. 2 raised to 6 is 64. 30 is a giga, 64G. Are you clear? In case your phone has 64GB memory. My phone, 256GB memory. Come on, 256GB memory. Break it down for me. 256 is 2 raised to 8. g is 2 raised to 30 that means 2 raised to 38 so if you learn this thing in our subject it will be written as 2 raised to 38 2 raised to 38 for the layman for the normal people around us that's 64 256 gb 2 raised to 29 512 gb 2 raised to 39 sorry 2 raised to 40. 2 raised to 40 is 2 raised to 10 multiplied by 2 raised to 30. 2 raised to 10 is a kilo. I told you every time you hit a kilo, you go to the next level. So it's a kilo multiplied by a giga becomes a tera. So 2 raised to 40 is a tera. Of course, it goes much more than this. There is no limit to numbers, they go up to infinity. But this is what a person needs to know while learning these subjects. These are real world numbers. What's the size of your hard disk? Most of us use a hard disk of, you know, come on, most of us use a hard disk of around 1 TB at home. So when somebody asks you in oral exams, which we call Vivas in Bombay University, most universities in India, they use that word. Anyway, so examiner says, what's the size of your hard disk? They say, student says it's 1TB. Examiner says my hard disk is 2 raised to 40. Whose is bigger? It's the same. They're just trying to confuse you. These are all numbers which are parts of 2. Okay? So, just wanted you to know that. What is 2 raised to? Now, I'm going to ask you 4 questions. Try to get all the 4 right and I'll be super happy. What is 2 raised to 43? 8TB. Excellent. What is 2 raised to 36? 64 giga. Nice. What is 2 raised to 25? 32 mega. Excellent. What is 2 raised to 14? 16 kilos. Nice, nice. And 2 raised to, yeah, so now you got your powers. You just wanted to know. You may be thinking it was so basic. It is, of course. It is basics of the subject. Well, the more you learn the subject, the more you'll remember this small video that we had of this powers of 2 because you'll need it all the time. Every answer of the subject, microprocessors, has something to do with some power of 2. So, instead of being confused all the time, learn it once for all. I hope you got it. That's it. Now that you know what are powers of two and what's the meaning of binary and hexadecimal, we can come back into this diagram. Just a few more basics remaining. And then, as I said, you can start learning the architectures and everything else about the subject. Now look here. So in this diagram, wherever I put my finger, I want a clear answer. What does it do? Okay, no story. Simple, clear-cut answer. What does memory do? Store. What does Mupi do? Fetch, decode, and execute instructions. What does IO do? Gives inputs and produces outputs. What are these? This is where our focus is now. These are called buses. What is a bus? Nothing else but a set of lines. I wanted. I could have drawn individual lines. That would just make the diagram too untidy. But we still get the same information. It would just be a stupid diagram to look at. So we combine them together. That's called a bus. So a bus is a set of lines. Have you seen them? Oh yeah, you see them everywhere. Like in a pen drive. If I'm sure... At least once in your life, you've tried to peep inside a pen drive. Come on. That's why you took this whole subject. That's why you learned. Because you're interested in electronics. Yes or no? Now, when you look at a pen drive, if you peep inside, you'll see a set of lines. What is that? That's a bus. That pen drive goes into a port called a USB. What is USB? Universal Serial Bus. That's one example. If you look at the motherboard, you see lines going across one place to the other. A set of those lines is a bus. So those are basically buses. And so on. I can give you numerous examples. So they exist. They very much exist. What is the bus used for? Transferring information. Do we need to transfer information? Of course, all the time we say the instruction is first of all fetched from the memory. So when it is fetched from the memory, it won't fly and come. It needs a medium to travel. That medium is the bus. Suppose you listen to a song. For you, it's a beautiful experience of listening to a song. In reality, what is happening? Where is the song? In the memory. Who is going to process it? Processor. How do you get to listen to it? Speaker. That means there are millions of bytes traveling from the memory to the processor and going finally to the speaker. That's how... The more you learn this, the pleasure, the simple innocent pleasures of life are gone. You'll be able to see the matrix eventually. Anyway, coming back. So it's just millions of bytes going from memory to the processor, processor to the IO. Now my point is, for all that information to travel, you need some medium. So that medium is a bus. So a bus is nothing else but a set of lines. How does information travel on a bus? I said a bus is a set of lines. Take one line. What do you want to transfer? Let's say you want to transfer a song or maybe a movie. You know, on your phone, you have that charging point. to which you connect your cable that's a data cable it's not only used to give charging or charge your phone it's also used to transfer data from your computer etc into your phone I'm sure you know that very well so again over there where it connects is the bus my point is can you transfer a song through that bus yes can you transfer a movie yes image yes what do you want to know how to transfer a song or a movie or an image nice if you gave the correct answer I'm impressed The bus doesn't care what is it transferring because all it's transferring is zeros and ones. Don't try to understand how to transfer a song. If I try to understand how am I transferring voice over here, I'm not going to learn anything. What I'm transferring is zeros and ones. Well, here it's in analog form. Either way, let's not get into that. I won't confuse you. The point is you're transferring zeros and ones, okay, everywhere. So, A bus is a set of lines. Take one line. I want to send thousands and millions of zeros and ones from here to here. What can I do? I can either connect this line to VCC or I can connect it to ground. If I connect it to VCC, over here I will get logic 1. If I connect it to ground, over here I will get logic 0. So by constantly fluctuating or... shuffling this connection between vcc and ground and vcc and ground and vcc and ground i can transfer millions of bits this is how all information transfers in the world are you clear now the question is students say so we transfer a song in a jiffy one song if you want to transfer it takes barely a second a movie today gets transferred within a minute or so so song is nothing anyway so So how do we transfer so many millions of bits in a second? How can the line switch between 0 and 1 millions of times in a second? If that's a question in your mind, I have started liking you. Because that means you are interested in learning. Such kinds of questions only come to people who want to really learn the subject. Yes, there cannot be a physical switch that can do million movements in a second. That is physically not possible. It is only possible if it's an electronic switch. What is an electronic switch? A transistor. Take this line, connect it to the transistor. The transistor can be biased the way you want to. This is VCC, this is ground. You can gate it the way you want and connect the line to VCC and ground and change that biasing millions of times in a second. That's why transistors are used. That's how you learn transistors. The basic function of a transistor is to act as a switch. And then, of course, there are various functions. I'm not getting into that. One point is, so you understand what a bus does. A bus has a set of lines. Each line at the end point is connected to a transistor. Depending upon the data that is coming, it will be either biased in some way or the other so that it will either transmit VCC or it will transmit ground. That means logic 1 or logic 0. Now one line can transmit one bit at a time. If you want to transmit 4 bits at a time, you need 4 lines. This is called a 4-bit bus. 8-bit bus has 8 lines. 16-bit bus has 16 lines. More the lines, more the information can be transferred at a time. At the same time, the cost and physical space required will be more. So it's always a trade-off. So different companies do it in such a way that they get the perfect balance between the space used on the motherboard and the amount of information transferred. So a bus is a set of lines. I think I've said it 10 times by now. If I say size of a bus, what am I talking about? Am I talking about the length of the bus? No, who cares? Size of a bus means the number of lines. So, it's always given in terms of bits. 8-bit bus means 8 lines. 16-bit bus means 16 lines. Now, Any system you learn from the most basic to the most advanced will have these three types of buses. Address bus, data bus, control bus. This is the last discussion of this lecture. Okay. There are three types of buses, address bus, data bus and control bus. Together they are called the system bus. So what you saw earlier over here was a system bus, which I've just broken it down into three parts now, address, data, control. Now, all the three have very obvious uses. The job of the address bus is to give the address. The job of the data bus is to carry the data. And the job of the control bus is to control the operation. Now let's go one step detail and we are done. The first bus, address bus. What does it give? The address of the operation. Now look here, this is the memory. What do you do in the memory? You store. Yes, we are clear about these basics. Now what are you going to store? Are you going to store only one number? No. You are going to store millions of numbers. That means there will be millions of locations. It's so obvious to understand. It's like this classroom. Though you can't see this classroom, you know this is a classroom. So there will be 60-70 benches. Each bench can take about 5-6 people. You understand what I am saying? So similarly, there are millions of locations every location has its own unique address you don't mean need me to tell you this this is obvious if addresses was not unique then why would it be there the job of address is to identify the location so it is obvious that every location will have its own unique address and in that location there will be some data so if i say four thousand and twenty five what do you understand at the location four thousand the data stored is twenty five please tell me is this clear now Can this be a part of a song? Yes. Can it be a part of a movie? Yes. It can be a part of any information. It can be a part of an SMS. You get SMS on your phone, a text message. It has wonderful characters making a beautiful message most of the times, hopefully. What you see on the screen is not what is stored inside the phone. Inside the phone, alphabets are stored using their ASCII value. Today, of course, there are better representations. It started with ASCII. But anyways, ASCII, ASCII, however you want to pronounce it. Now, this could be the ASCII value of some alphabet. So that means this could be a part of your SMS. It could be a whole SMS for all you care. That stupid message, K. Anyway, so my point is, this can be any kind of information. Now, I want to change this. location 4000 carries 25 I wanted to be 35 I wanted to carry 35 that means this is what happens when you save a file Right now, start my camera, take a picture of yours. What am I doing? Saving millions of bytes at millions of locations. If you understand how to save one number, do that same operation millions of times, you have saved a whole file. Are you understanding it? There is no concept of saving a file. The concept is to save one number and doing it millions of times. Is that clear? So, you are learning how that one number is stored at one location. This is location 4000. It contains 25. Processor is not happy. It wants to store the value 35 because you asked it to store because you pressed save. okay so processor wants to send the data understand the words wants to send the data 35 at the address 4000 okay out of the three buses what do you think which bus will come into picture first which will be the first bus to be used obviously address bus good answer it's common isn't it is there anybody who thinks first we'll send data How can you send data first? You will go to some random location and corrupt something which was very nice. The first thing that you do is give the address so that you identify the location that you want to operate on. So, in any operation, right now we are doing it as a basic. Later on when you do timing diagrams, this thing will become very big. In every operation, in the beginning, the first thing the processor does is gives an address. So, it will give an address. What address? Out of all the millions of locations, this location has been selected. Now, whatever will happen, will happen between processors. and location 4000. So is there a job of address bus clear? The job of address bus was to identify the location. Are we done? Now comes the second bus. Which bus? Data bus. Processor will put the number 35. Will it put 35 on the address bus? No. If it puts 35 on the address bus, location 35 will get selected. Address bus is used to identify the location. Data bus is used to put data into the location. There are two different buses doing two entirely different things. Are you understanding my point? Then you will know they are multiplex and then eventually they are also demultiplex. All that is later. First understand what these buses are. So address bus gave the address, the location has got selected. Now comes the data bus. Data bus will carry the value 35. Is the operation complete? No. The last bus, last few minutes of this discussion. The control bus. Why do we need a control bus? See what has happened. You are the processor, I am the memory. you have given me address 4000 so i have selected location 4000 kept in front of you this is location 4000 do what you want now you as a processor can do two things on this location either you can take data from this location or you can put data into this location taking the data is called a read operation the data is a write operation. You have to tell me whether you want to do a read operation or a write operation. You as in who? The processor. The processor has to indicate whether it wants to read data or whether it wants to write data. Are you understanding my point? And that is indicated by which bus? Address bus? No. Address bus gave the address. Data bus carries the data. It is the third bus called the control bus which will control the operation by giving two very important control signals called read and write as you learn the subject more you'll understand there are many more control signals but when you say the word control bus the first thing that should come to your mind are these two signals they are the primary control signals they are called read and write they are active low so they are pronounced as read bar and write but i'm not getting into that right now i'm keeping it simple for you so there are read and write signals now many students throughout the subject keep getting confused about this what is a read what is a write Sir, if data is going like this, processor is reading, memory, who is reading, who is writing? Get this clear. For once, for once for all, get this clear. The names read and write are always mentioned with respect to the processor. I'm saying it again. They are always mentioned with respect to the processor. So, if I say a read operation is going on, who is reading? The processor. Processor is getting data. That's called a read operation. When I say write is going on, who is writing? Processor. That means it is sending data. Read means processor is getting data. Write means processor is sending data. I'll move my hand, you will tell me whether it's a read or a write operation. Try to say it loud. I always say this. Give your answers aloud. There's a big difference between thinking it and saying it. When you're thinking it, you're 50-50. When you say it, you commit. What happens? Either you know whether you're right or wrong. If you're wrong, at least you'll realize you're wrong and next time you'll give a better answer. Okay, so try to say it. Don't care about who's around you. Makes no difference like who really cares. Anyway, so coming back. I'm moving my hand, you're going to tell me whether it's a read or a write operation. Yeah, this is a read operation, this is a write operation. I repeat, read, write, this is read, this is write, this is read, this is write. Whenever processor gets the data, that's called a read operation. Whenever processor sends the data, that's called a write operation. Are you clear? So, in our example, processor wants to send data. So, it will give the write signal, write bar, active low. I'm not getting into active low logic here. So, processor says, I want to write the number 35 at the location 4000. That's when 35 will be written over here. That completes an operation. Let's take two more examples and let's get done with this. Let's say this is location 5000. I want quick answers now. Processor wants to write the value 77. Next time you press save on any file, tell yourself, I know what is happening. The whole file is not saved together. It's saved one by one. It happens very fast. Of course, modern processors do billion operations a second. So it happens very fast. What is happening is one operation, same thing, billions of times, with different numbers at different locations. If you understand that one operation, you understand how a file is saved. Come on. Processor wants to write the value 77 at the location 5000. First bus, address bus, correct. We'll send the address 5000. This location is selected. Second bus. Data bus. Processor will put the value 77. Is the operation complete? No. The third bus. Control bus. It will say I want to write. That's when 77 will be written at location 5000. One last example. It's going to be a little different. But I'm pretty sure you'll be able to answer. Look here. This is location 1000. It carries the data 33. I don't know what it carries. I want to know what it carries. That means you're going to do a what operation? Exactly, read operation. Of course, you won't keep doing the same thing again and again, right? We've done write operations a few times. Now I'm showing you how to do a read operation. This is what happens when you open a file. Next time you open a file, Tell yourself, I know the whole process inside. There is a sequence of events that take place. Come on, start. Processor wants to read. Come on, by yourself. What is the first bus? What is the first bus? Address bus. Processor will give the address 1000. This location is selected. Now, second bus. Come on. Data bus or control bus? control bus. Did you understand? There is a subtle difference between a read operation and a write operation. When you want to do a write operation, you know the data because you are writing. So you give the address, you put the data and say I want to write. When you do a read operation, do you know the data? Of course not. If you know the data, why are you reading? You only know the address. You means the processor. You will put the address and you will say I want to read. These minor points that I'm saying later on will become very big when we do timing diagrams. There is something called a propagation delay which happens in a read cycle but not in a write cycle. Laying the foundation for that. All these things that I say in this first lecture when I teach in the classroom in the first lecture, they all become very important points later on. I'm laying the foundation. Yeah, yeah, yeah. Of course, you cannot learn the whole subject together. but if you have the right foundation later on things become easier so when we do a read operation processor will give the address 1000 we'll say i want to do a read read means data will come from memory will data come from the whole memory no we have selected the location data will come from that location 33 will come on the data bus and will be given to the processor please tell me is this clear so what is the sequence when you do a write operation it is address data and say i want to write when you do a read operation it is address control signal and you get the data please tell me are you clear Address is given by the Mupi. Whether we want to do a read or a write is given by the Mupi. Mupi says whether it wants to read or write. Mupi controls the memory. Mupi gives the address. Data is bidirectional because we can read also and write also. I hope with the directions you understood all this. That's it. Now this was the introduction I wanted you to have. There was a massive demand for this video. A lot of students were saying just, you know, as I said, even if not directly, indirectly they've been saying it because of the kind of doubt students ask sometimes. I'm like, how can you understand programming? How can you understand architecture if you don't know these basic things? So I hope you understood this basic. I've tried to keep the video as light as possible. I've taught nothing technical. All of this was very simple. This is foundation, basic stuff. What I would suggest, if you like to follow suggestions, watch this video more than once. What I would suggest, Why? You'll realize it. When you learn the subject more, you'll realize why I said it. Now, I am in the process of making videos for this subject. I've been... working around the clock doing it as much as i can uh i've putting up or been putting up all these videos on my own website it's called www.bharatacharyaeducation.com it's the same name that is the name of this channel okay so um if you want to watch all the videos and learn the entire subject all you need to do is go log on to that website create your own login id like you create everywhere in every social media site it's a paid site Because all of this requires a lot of effort. But I've kept trying to keep the amount as low as possible. Subscriptions start from $4.99. Then there are better packages which are a little more expensive but give you more and more features. We are constantly working on that. So we're going to add many more features as and when we can. but anyway anyway so the subscriptions have started people are people are watching that website so uh you're most welcome if you want to learn the whole subject uh check out the website also my book is available now earlier it used to be on amazon i've removed it from there my book is now on my website all you need to do is again the same thing the price of the book i've kept it as good as possible include shipment 599 as of now as of now with the new increase in rates everywhere anyway so the physical deliveries of the book are only in India so all you need to do is again login give your full address make the payment the book will be dispatched on the very next day and generally reaches even far from places within 3 to 4 max 6 working days we say that just for the safety sake generally it's less than that okay wish you all the best do well
You're reading a preview of the TSM Q4 2022 earnings call.
Free account.
