Site Statistics
 
Threads: 4,060
Posts: 17,765
Members: 3,096
Users Online: 9
Newest Member: abubu


Go Back   PC101 > Computer Related Forums > Hardware

Hardware Thinking about adding some new hardware and looking for opinions? Having problems with your current hardware? This is the place share!


Closed Thread
 
LinkBack Thread Tools Display Modes
Old 06-02-2006, 08:20 PM   #1
Head Mistress
 
Lyte's Avatar
 
Join Date: Oct 2005
Location: Good ol' U.S. of A
Posts: 3,470
Rep Power: 7 Lyte is on a distinguished road
Send a message via MSN to Lyte Send a message via Yahoo to Lyte Send a message via Skype™ to Lyte
CPU / Processors 101

How a CPU Works

The term CPU is short for the Central Processing Unit. The function of the CPU within the computer is to complete all the instruction, logic, and mathematical processing in the computer. The CPU can be thought of as the “brains” of the computer, where every calculation that is necessary for the computer to function takes place.

A CPU performs four main tasks: read an instruction and decode it, find any associated data that is needed to process the instruction, process the instruction and write the results out. To carry out these tasks most efficiently, a CPU employs five main parts. In order to accomplish this goal, the CPU is made up of many different parts, each of which plays an important role in successfully carrying the four main tasks.

Every time the user performs an action which requires the computer to execute any kind of command, the CPU is the part of the computer that performs this command. Whether it is a task within a program, or even opening the program itself, it is the CPU that makes these tasks possible. Without the CPU, the computer would not be functional.

Although it normally takes less than a second to execute, each time a command is given, there are four steps involving the CPU that must be completed before the command can be properly executed. For example, when an icon on the desktop is double clicked, the first step that takes place is the program called to action is transferred from the hard disk drive to the RAM memory. In this context, a program is defined as a series of instructions for the CPU to follow and execute. Once the program has been transferred to the RAM memory, the second step is the CPU proceeds to use a memory controller to load the program data from the RAM memory. A memory controller can be defined as a chip that handles the input and output of all data to and from the memory. The memory controller can be though of as a “gate” to the memory. It can be “opened or shut” to regulate the flow of data between the memory and the CPU.

When the program data is loaded from the RAM memory, the third step is to load the data inside of the CPU. Once the CPU has loaded all of the program data, the fourth step is to fully process the data. After the CPU has processed all of the program data, the CPU will perform an action, which varies depending on the program. The CPU could do something such as continuing to load and execute program, or the CPU could also perform an action with the processed data, such as displaying information on the screen.

Parts of a CPU

A clock is used to keep everything inside the computer in sync. All of the timings within the computer are measured in terms of clock cycles. For example, a RAM memory with a “6” latency means that it will delay six clock cycles before it starts delivering data. This also holds true for the CPU. All instructions are delayed a specific number of clock cycles before they are performed. The CPU knows how many clock cycles each instruction will take because it has a table which lists this information. If two completely identical CPUs are compared, the CPU running at a higher clock rate will be the fastest CPU. However, if the CPUs are not identical, this does not necessarily hold true.

A memory cache is a high performing type of memory. It is referred to as static memory. RAM, or dynamic memory, is the kind of memory used on the computer. Although static memory consumes more power, is more expensive and is physically bigger than dynamic memory, it is much faster. It can work at the same clock as the CPU, while dynamic memory cannot. When the CPU loads data from a certain memory position, a circuit called a memory cache controller is loaded into the memory cache below the current position that the CPU previously loaded. Because most programs work in a sequential way, the next memory position the CPU requests is normally the position below the previous position. Since the memory cache controller has already loaded data below the first memory position, the next data will be inside the memory cache. This is beneficial because the CPU does not have to go outside to retrieve the data.

The fetch unit loads instructions from the memory. When the PC is initially turned on and the system begins to load the operating system, the CPU starts processing the first instructions loaded from the hard drive, while the cache controller begins to load the caches. When looking for the instructions, the fetch unit first checks to see if the instruction required by the CPU is in the L1 instruction cache. If it is not found there, the fetch unit goes to the L2 memory cache. If the instruction is also not there, the fetch unit has no choice but to directly load the instructions from the slower system RAM memory. After the fetch unit finds the instruction required by the CPU, the instructions go to the decode unit.

The job of the decode unit is to decipher what that particular instruction does. This is accomplished by consulting a ROM memory that exists inside the CPU. This ROM memory is called micro code. Each instruction that a specific CPU understands has its own micro code. The micro code basically teaches the CPU what to do, much like a guide to each instruction. After the decode unit translates the instruction and the fetch unit grabs all required data to execute the instruction, it will pass all the data and the “step-by-step guide” on how to carry out that instruction to the execute unit.

The execute unit will finally execute the instruction. Most CPUs feature more than one execution unit working in unison. This is done in order to increase the performance of the processor. For example, a CPU with five execution units can execute five instructions in parallel, so in theory, it can achieve the same performance of five processors with a single execution unit. This type of processor design is called superscalar architecture. Most CPUs feature execution units specialized in areas of instructions, instead of duplicate execution units. Usually between the decode unit and the execution unit there is an dispatch or schedule unit in charge of sending the instruction to the correct execution unit. Finally, once the processing is over, the result is sent to the L1 data cache. This result can be then sent back to RAM memory or to another place.

Advantages and Disadvantages of Multi-Core Processors

Multi-core processors present several advantages and disadvantages. One advantage is that multiple CPU cores on the same die allow the cache coherency circuitry to operate at a much higher clock rate because the signals do not have to travel off of the chip. By combining equivalent CPUs on one die, the cache snoop operations are significantly improved. As long as the die can fit into the physical package, a multi-core CPU design require much less Printed Circuit Board (PCB) space as opposed to a multi-chip SMP design. A dual-core processor normally uses slightly less power than two coupled single-core processors. This is due to the fact that two coupled single-core processors require increased power to drive signals outside of the chip, while a dual-core processor uses a smaller amount of silicon process geometry, which allows it to operate at lower voltages. Finally, in terms of competing technologies for the available silicon die area, a multi-core design can make use of proven CPU core library designs. This allows the CPU to produce an end product with a lower risk of design error when compared to devising a new wider core design. When a new wider core design is devised, it requires that more cache is added, which causes diminishing returns.

One of the disadvantages of a multi-core processor is that it requires the operating system support to make optimal use of the second computing resource. Making optimal use of multiprocessing in a desktop context also requires application software support. Another disadvantage is that due to the higher integration of the multi-core chip, the production yields are driven down, which in turn makes it more difficult to manage on a thermal level than lower density single-chip designs. Overall, from an architectural point of view, a single core CPU design may actually make better use of the silicon surface area than a multi-core.

64 Bit CPUs

64-bit is an adjective used In computer architecture to describe data units such as integers and memory addresses that are at most 64 bits wide. It is also used to describe CPU and ALU architectures that are based on registers, address buses, or data buses of that size. Although 64-bit CPUs were mainly used in servers until 2004, t hey have been recently introduced to mainstream personal computers in the form of the AMD64, EM64T, and G5 processors. Although a CPU may be 64-bit internally, its external data bus or address bus may have a different size, which can be larger or smaller. The term can also be used to describe the size of the buses as well. The term can also refer to the size of an instruction in the computer's instruction set or to any other item of data.

Registers in a processor are generally divided into three groups: integer, floating point, and other. Normally, only the integer registers are capable of storing an address of specific data in the memory, or pointer values. The non-integer registers cannot be used to store pointers for the purpose of reading or writing to memory. Therefore, they cannot be used to bypass any memory restrictions which are imposed by the size of the integer registers. Nearly all general purpose processors have integrated floating point hardware, which may or may not use sixty-four bit registers to hold the data until it is processed.
Most CPUs are currently designed so in a way that allows the contents of a single integer register to store the address of any data in the computer's virtual memory. Therefore, the total number of addresses in the virtual memory is determined by the width of the registers. With the emergence of the 64-bit architecture, the memory ceiling was increased to 264 addresses, equivalent to 17,179,869,184 gigabytes or 16 exabytes of RAM. Most 64-bit computers that are available to consumers have an artificial limit on the amount of memory they can utilize. These physical constraints make it highly unlikely that the need to support the full 16 exabyte capacity will arise.

A change from the previous 32-bit to a 64-bit architecture is a fundamental alteration. Because of this, most operating systems must be extensively modified to take advantage of the new architecture. Other software must also be ported to use the new capabilities. While 64-bit architectures makes working with huge data sets in applications such as digital video, scientific computing, and large databases easier, there has been considerable debate as to whether they are actually faster than 32-bit systems for other tasks. Technically, some programs could actually be slower in 64-bit mode. Under some architectures, instructions for 64-bit computing take up more storage space than the earlier 32-bit ones, so it is possible that some 32-bit programs will fit into the CPU's high-speed cache while equivalent 64-bit programs will not. A common argument is that in applications like scientific computing, the data being processed often fits naturally in 64-bit chunks corresponding to double-precision floating-point types, which makes it faster on a 64-bit architecture because the CPU is designed to process such information directly rather than requiring the program to perform multiple steps. The only real speed advantages come for manipulating 64-bit integer quantities. All performance assessments are complicated by the fact that in the process of designing the 64-bit architectures, the instruction set designers have also taken the opportunity to make other changes that address some of the deficiencies in older instruction sets by adding new performance-enhancing facilities.

Which Processor is right for you?

Every PC needs a processor and the price and performance of a PC largely depend on its processor. So, getting the right processor is perhaps the most important thing for any user. However, there are so many types of processors and their price varies so much that it is very easy to get confused. Before selecting a processor, you might want to follwo these two steps:

Think about what you intend on doing with your computer. What tasks will you be working on daily?
If you are a "stay at home mom" and you want to keep track of you daily household expenses, listen to some music and watch some favorite movies now and then, you won't need a very powerful processor. On the other hand, if you are looking to build a career in graphics design or animation then you should consider buying a more powerful processor that will be able to keep up with you! On the other hand, if you are thinking of spending all your day playing 3D games, then you would want to consider the higher end (most powerful) processors.

Now collect some nformation, reviews, feedback from sources you consider reliable.
Ask what your friends, family co-workers are using. Or ask PC101.com You'll want to find people who are using their computer for the same purpose you are! You may not want (at first) ask the sales staff of your local computer store. They may be inclined to sell you more than you need!

As we've said before, the processor is the heart and brain of any computer. When you enter a command in your computer it will reach the CPU and the CPU will send the command to other parts of your computer. You may not know much about sound cards, VGA card or RAM but it's important to know that all of the hardware within your computer will have a direct and indirect relationship with the processor.

Let's talk price and let's make things simple while we do so. Let's break down processors according to price vs performance. These are not hard and fast rules but simply a guide to help you chose what's right for you.

Expensive = high performing processors
Average price / On sale = Medium level processors
Bargain Pricing / Close Outs / Obsolete = Cheap Processors


A few words of caution. What is considered to be very expensive processor today will become medium or even cheap after 1-3 years. After 4-5 years, the processor models of today will most probably become obsolete. So, when you see the advertisements of extremely cheap PCs (often called as budget PCs), be very careful to check the model of the processor. For example , now (June 2006), you should never think of buying a PC with a processor of Pentium I or Pentium II model, no matter how cheap the price is.

Cheap processors: AMD Athlon XP, AMD Sempron, Intel Celeron, and even Intel Pentium IV (2.6 GHz and lower) fall into this category, at the present time. However, in the third world countries, Intel Pentium IV (2.6 GHz and lower) is not considered to be a cheap processor. If you want to buy a PC for doing ordinary works (typing some school assignments, playing some games, watching movies and listening music) and are not looking forward to do any special work related to graphics and animation, then I would recommend you to buy cheap processors. For most of the day to day works, cheap processors work just fine.

Medium range processors: Intel Pentium IV (2.8GHz and higher) and AMD Athlon XP (2800+ to 3500+) fall in this range now a days. However, these models were considered to be expensive just one year ago. If you want to use your PC for some professionals works and you want to play some cool games then you must go for these models.

Expensive processors: Well, these processors can be extremely expensive- especially in our time. Intel Pentium IV 3.2GHz Extreme Edition is a good example of this kind of processor and to buy it you have to pay more than $1,000. So, you do not need to be a financial guru to understand that this kind of processor is not for most users. If you are a professional animation worker or if you are a die hard gaming fan, only then you can buy this kind of processor. If you're sad that you can't afford such a processor, wait a year you'll see the price come down! AMD Athlon 64 FX is AMD's version of expensive processor.

I would again like to caution you about not buying cheap PCs that contain processor old models like Pentium I or II unless it's going to be a "first computer" for your child or one you know you won't want to upgrade. Processor power determines which operating system and softwares you can or cannot run in your PC. If the speed of your processor is less than 800 MHz then you cannot expect that Windows Vista (the next operating system of Microsoft) will run.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by Lyte; 06-29-2006 at 07:59 PM.
Lyte is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Closed Thread

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Intel DualCore vs. Intel Centrino! toshev Hardware 6 02-06-2008 12:25 AM
Intel® Celeron® M Processors Product Information Lyte Hardware 0 09-06-2006 07:16 AM
Kingston to support next-generation AMD Opteron processors in new ... - DigiTimes Lyte PC & Tech Related News, Events and More! 0 08-17-2006 11:45 PM
Supports Multiple processors. raju79 Hardware 4 08-05-2006 09:10 PM
Intel - Intel® Processors Product List Lyte Hardware 0 08-03-2006 08:58 AM



All times are GMT -5. The time now is 09:38 AM.

Powered by vBulletin Version 3.7.0
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC5