Re: Questions regarding PC CPU

Chris Michalak (cmich@CAM.ORG) Sat, 2 Dec 2000 21:07:16 -0500 (EST)


Date: Sat, 2 Dec 2000 21:07:16 -0500 (EST)
From: Chris Michalak <cmich@CAM.ORG>
Subject: Re: Questions regarding PC CPU

Let me take a crack at some of these questions. > 1) I assumed that 'fast, typically computationally - intense applications' refers to desktop PCs. So the question is: > > PC CPUs ' speed is comprised of it's bus (front side) speed multiplied by it's internal clock speed, and the clock speed is usually referred to the 'multiplier' which comes in 3,4,5,6,..etc.. no more than 7 that's useful for modern PCs. For example, if you have a 600MHz cpu, that means most likely, the bus speed is 100 MHz with internal clock speed fixed at 6. So, is that clock speed mentioned in the notes same as the internal clock speed I mentioned? (apparently it's not) , then is it referring to the speed of the CPU? (the 600MHz) Or am I mistaken with the whole thing? I'm not sure if I understand this question. But 600Mhz is the clock speed at which CPU instructions are executed. 100Mhz is the speed at which external I/O is accessed (at most 100Mhz, but it gets cut down even slower to the PCI bus (33Mhz typicaly, 66Mhz for high end motherboards) and much slower on the ISA bus (8Mhz)). > > 2) If I'm not wrong, CPUs can read, write, and when it's not doing either, it's in an idle state. Usually when I load up my PC, and after every application is loaded, windows tell me that the System Idle Process is running and the CPU usage is at least 94% for about a minute or so. > > Question: during idle state, the cpu isn't doing either reading or writing, why is it being used so intensely? Is it simply because windows refer system to be idling when actually after loading applications (after a reboot), the cpu is still processing something else that's not applicaiton related? say memory dump etc? (or does memory gets dumped before computer shut down? <---- question 2.5 :) ) Various OSes "idle" differently. I think windows does it with a loop of NOP instructions (NOP = no operation, takes up a clock tick and does nothing). Linux on the other hand uses a CPU sleep function that sleeps for a longer period. This results in Linux running "cooler" than windows. If you have a CPU thermometer you can actualy see this difference, boot up in windows and do nothing. Try the same thing in Linux and you will see that your CPU temperature is much lower. > Modern monitors can show at least 256 colors (up to 32 bits), and I believe that what color to be used is instructed by the graphic card (which is told by the cpu?), So, does the graphic card have a unique set of binary numbers for each of 256 color pallet? When you are running in 256 color mode (VGA), you can program your palete to contain any combination of 16.7 million colors. You specify for each indexed color it's desired RGB value. So what you end up having in your video RAM is the palette taking up 256*3bytes of data (1 byte each for R, G, and B) and then say 1024*768*1byte for the actual image on the screen (where the 1 byte is the index number of the color you want at that particular pixel). One cool trick that was used extensivly used in videogames and the "demo" scene was to show a static image, but change the palete in such a way as to have a cool effect. For example, this is how you would fade-out and image. It's much faster to change the palete than to change the entire image, since it's much less data to move around. When you run in 24bit color, you do not have a palete, you just specify RGB for each pixel. AFAIK, no PC video card is "truly" 32bit. They use 32bits per pixel, but only 24bits are used for the color, and 8 bits are wasted. The reason to use 32bit instead of 24bits is that it is easier and therefore quicker to access the data since it is a "rounder" number. Of course it means you need more video RAM, so it's a tradeoff. Anyways, I hope this answers at least some of your questions. Chris Michalak