Sie sind auf Seite 1von 7

A central processing unit (CPU) is the electronic circuitry within a computer that carries out the

instructions of a computer program by performing the basic arithmetic, logical, control and input/output
(I/O) operations specified by the instructions. The term has been used in the computer industry at least
since the early 1960s. Traditionally, the term "CPU" refers to a processor, more specifically to its
processing unit and control unit (CU), distinguishing these core elements of a computer from external
components such as main memory and I/O circuitry.

The form, design and implementation of CPUs have changed over the course of their history, but their
fundamental operation remains almost unchanged. Principal components of a CPU include the
arithmetic logic unit (ALU) that performs arithmetic and logic operations, processor registers that supply
operands to the ALU and store the results of ALU operations, and a control unit that fetches instructions
from memory and "executes" them by directing the coordinated operations of the ALU, registers and
other components.

Most modern CPUs are microprocessors, meaning they are contained on a single integrated circuit (IC)
chip. An IC that contains a CPU may also contain memory, peripheral interfaces, and other components
of a computer; such integrated devices are variously called microcontrollers or systems on a chip (SoC).
Some computers employ a multi-core processor, which is a single chip containing two or more CPUs
called "cores"; in that context, single chips are sometimes referred to as "sockets".Array processors or
vector processors have multiple processors that operate in parallel, with no unit considered central.

Instruction Set Architecture

An instruction set, or instruction set architecture (ISA), is the part of the computer architecture related
to programming, including the native data types, instructions, registers, addressing modes, memory
architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the
set of opcodes (machine language), and the native commands implemented by a particular processor.

An instruction set architecture is distinguished from a microarchitecture, which is the set of processor
design techniques used, in a particular processor, to implement the instruction set. Processors with
different microarchitectures can share a common instruction set. For example, the Intel Pentium and
the AMD Athlon implement nearly identical versions of the x86 instruction set, but have radically
different internal designs.

The concept of an architecture, distinct from the design of a specific machine, was developed by Fred
Brooks at IBM during the design phase of System/360.

Prior to NPL [System/360], the company's computer designers had been free to honor cost objectives
not only by selecting technologies but also by fashioning functional and architectural refinements. The
SPREAD compatibility objective, in contrast, postulated a single architecture for a series of five
processors spanning a wide range of cost and performance. None of the five engineering design teams
could count on being able to bring about adjustments in architectural specifications as a way of easing
difficulties in achieving cost and performance objectives.[1]:p.137
Some virtual machines that support bytecode as their ISA such as Smalltalk, the Java virtual machine,
and Microsoft's Common Language Runtime, implement this by translating the bytecode for commonly
used code paths into native machine code. In addition, these virtual machines execute less frequently
used code paths by interpretation (see: Just-in-time compilation). Transmeta implemented the x86
instruction set atop VLIW processors in this fashion.

CPU Parts

The three components of the CPU are following,

1. Arithmetic Logic Unit

2. Control Unit

3. Registers

Arithmetic Logic Unit (ALU)

There is electronic circuitry in arithmetic logic unit which executes all airthmetic and logical
operations.Its function is obvious from its name.It performs arithmetic calculations like as addition,
subtraction, multiplication and division as well as comparisons.The unit can compare numbers, letters,
or special characters.There can be more than one Arithmetic logic unit in a CPU, and these ALUs can also
be used for the purpose of maintaining timers that help run the computer.

Control Unit(CU)

There is circuitry in the control unit which uses electrical signals to instruct the whole computer system
for carrying out or executing,already stored program instructions.Its name clearly shows that it controls
and co-ordinates computer components.It extracts instructions from memory and decodes and executes
them.In fact it regulates the flow of information through the processor.In short,it can be said ,this
component receives, decodes, stores results and manages execution of data that flows through the CPU.
Its communication with both arithmetic unit and memory is inevitable.

Registers/The Memory Unit

Registers are temporary storage areas which are responsible for holding the data that is to be
processed.They store the instructions and data in a processor.This data is further used by Control
Unit.There are some registers that are set aside for specific tasks, these generally include a program
counter, stack, and flags.
Overview of CPU Performance

CPU speed is the central factor in a computer's performance. While many people use the clock speed of
a CPU to gauge performance, this is not the only variable to consider. Elements such as the front side
bus and cache also play an important role in CPU speed.

Clock Speed

The most common measure of CPU speed is the clock speed, which is measured in MHz or GHz. One GHz
equals 1,000 MHz, so a speed of 2.4 GHz could also be expressed as 2,400 MHz. The higher the clock
speed, the more operations the CPU can execute per second.

It's important to realize that the clock speed of a CPU is not the only factor determining performance.
Because of differences in chip architecture, one processor may be able to perform more operations than
another over one cycle. Therefore, even if the first processor has a lower clock speed than the second, it
may actually be faster.

Multi-Core Technology

Some processors are "dual core" or "quad core." These terms indicate the use of multiple CPUs on a
single circuit. The idea behind this concept is to improve processing speed by using two or more
processors that can run independently or cooperatively. The actual advantage over a single core
processor varies because software usually has to be optimized for multi-core processors in order to gain
a significant speed advantage.

Front Side Bus and Cache

With any processor, the cache and front side bus play an important role in speed. The CPU and front
side bus work together, so they should ideally run at the same speed so that one cannot slow the other
down. The cache also plays an important role in processor speed. The cache is memory that is accessed
by the CPU to aid in completing certain routine tasks faster, so the larger the cache, the greater the CPU
performance.

CPU Execution of instruction

Step 1: Fetch instruction

For some reason, the verb "fetch" is always used with instruction. We don't "get an instruction" or
"retrieve an instruction". We "fetch an instruction".

To fetch an instruction involves the following steps:

CPU must place an address to the MAR.

CPU must activate the tri-state buffer so MAR contents are placed on the address bus.

CPU sends R/\W = 1 and CE = 1 to memory, to indicate it wants to do a read.


Memory eventually puts instruction on the data bus.

Memory sends ACK = 1.

CPU loads the instruction to the MDR.

CPU transfers instruction from MDR to IR.

CPU sets CE = 0 to memory indicate it's done with fetching the instruction.

As you can see, the steps are rather involved. You can speed up this step if you assume instructions are
in a fast instruction cache. For now, we won't assume that.

You should go back to the notes on memory if you have forgotten how it works, in particular, if you have
forgotten the control signals used by memory.

Step 2: Decode instruction and Fetch Operands

In the second step, the bits used for the opcode (and function, for R-type instructions) are used to
determine how the instruction should be executed. This is what is meant by "decoding" the instruction.

Recall that operands are arguments to the assembly instruction.

However, since R-type and I-type instructions both use registers, and those registers are in specific
locations of the instruction, we can begin to fetch the values within the registers at the same time we
are decoding.

In particular, we're going to do the following:

Get IR31-26, the opcode

Get IR25-21, which is $rs, the first source register.

Get IR20-16, which is $rt, the second source register.

Get IR15-11, which is $rd, the destination register.

Get IR15-0, the immediate value

Get IR5-0, the function code

You'll notice that we're extracting these bits directly from the instruction register.

You'll also notice that we extracted IR15-11 and IR15-0. How can we do both? Well, they're merely
wires, so there's no reason you can't get both quantitie out.
The key is to realize that sometimes we use IR15-11 and sometimes we use IR15-0. We need to have
both of them ready because this is hardware. It's easier to have everything we need, and then figure out
what we need, than to decide what we need and try to get it.

In particular, when we fetch the operands (i.e., the registers) we want to send the source and
destination registers bits to a device called the register file.

For example, if IR25-21 has value 00111, this means we want register $r7 from the register file. We sent
in 00111 to this circuit, and it returns the contents back to us.

We'll be discussing the register file soon.

If we are executing an I-type instruction, then typically, we'll sign-extend (or zero-extend, depending on
the instruction) the immediate part (i.e., IR15-0) to 32 bits.

Step 3: Perform ALU operation

The ALU has two 32-bit data inputs. It has a 32-bit output. The purpose of the ALU is to perform a
computation on the two 32-bit data inputs, such as adding the two values. There are some control bits
on the ALU. These control bits specify what the ALU should do.

For example, they may specify an addition, or a subtraction, or a bitwise AND.

Where do the input values of the ALU come from?

Recall that an instruction stores information about its operands. In particular, it encodes registers as 5-
bit UB numbers. These register encodings are sent to the register file as inputs.

The register file then outputs the 32-bit values of these registers. These are the sent as inputs to the
ALU.

Step 4: Access memory

There are only two kind of instructions that access memory: load and store.

load copies a value from memory to a register. store copies a register value to memory.

Any other instruction skips this step.

Step 5: Write back result to register file

At this point, the output of the ALU is written back to the register file. For example, if the instruction
was: add $r2, $r3, $r4 then the result of adding the contents of $r3 to the contents of $r4 would be
stored back into $r2.

The result could also be due to a load from memory.


Some instructions don't have results to store. For example, branch and jump instructions do not have
any results to store.

Step 6: Update the PC

Finally, we need to update the program counter. Typically, we perform the following update:

PC <- PC + 4

Recall that PC holds the current address of the instruction to be executed. To update it means to set the
value of this register to the next instruction to be executed.

Unless the instruction is a branch or jump, the next instruction to execute is the next instruction in
memory. Since each instruction takes up 4 bytes of memory, then the next address in memory is PC + 4,
which is the address of the current instruction plus 4.

The PC might change to some other address if there is a branch or jump.

These are the six steps to executing an instruction. Not every instruction goes through every step.
However, we label each step so that you can be aware they exist.

Some of these steps may not make much sense now, but hopefully, they're be clearer once we start
implementing the steps in depth.

Intel Core i3

With a Core i3 you can:

browse the web – multiple webpage tabs should run smoothly

work on reports and essays in Word, or in basic spreadsheets in Excel

stream movies and TV shows from Netflix, or binge-watch cat videos on YouTube

listen to your favourite playlists and albums on Spotify

multi-task efficiently with Intel Hyper-Threading technology

Intel Core i5

With a Core i5 you can:

multi-task: work on spreadsheets while streaming music or video, with Facebook and webpages open
too

work on complicated single tasks like rendering a big Excel file or working in Photoshop

edit photos or basic home movies


play intensive PC games with the right i5 – find out more about Intel processors for gaming

benefit from faster repeated tasks thanks to the large cache size

stream from multiple sites at the same time – if you want to

get a temporary boost when using demanding programs with Intel Turbo Boost technology

Intel Core i7

encode video more efficiently (encoding processes every frame in your video and can take hours – you
can cut a few seconds off every minute)

work smoothly in 3D modelling programs like AutoCAD

enjoy high-end gaming sessions - find out more about Intel processors for gaming

crunch numbers on vast spreadsheets more efficiently

enjoy working more efficiently when using demanding creative programs as each core uses 2 ‘threads’
rather than 1 thanks to Intel Hyper-Threading technology

benefit from faster repeated tasks thanks to the large cache size

get a temporary power boost when using demanding programs with Intel Turbo Boost technology.

Quad Core

A quad-core processor is a chip with four independent units called cores that read and execute central
processing unit (CPU) instructions such as add, move data, and branch. Within the chip, each core
operates in conjunction with other circuits such as cache, memory management, and input/output (I/O)
ports.

GPU - graphics processing unit

A GPU, or graphics processing unit, is used primarily for 3-D applications. It is a single-chip processor
that creates lighting effects and transforms objects every time a 3D scene is redrawn. These are
mathematically-intensive tasks, which otherwise, would put quite a strain on the CPU. Lifting this
burden from the CPU frees up cycles that can be used for other jobs.

Das könnte Ihnen auch gefallen