Skip to main content

Nowadays, everything comes with chips

A microprocessor is a tiny piece of silicon with millions of microscopic, interconnected transistors etched onto it. This circuitry is divided into sections with specific functions, which together perform the tasks of most electronic devices—from calculators to cell phones to supercomputers. While there are many different types of microprocessors, they all share some basic principles and functions.

The L2/L3 cache provides a large capacity (1MB-4MB) for storing the data on-chip. It is slower than the Data Cache and Instruction Cache and takes about 10-25 cycles to access. It is probed when the requested data is not present in the Instruction Cache or the Data Cache. If the data is not present in the L2/L3 Cache, a memory access is initiated which can delay the processor for hundreds of cycles.

The instruction cache is a small storage structure (about 32KB) that can be accessed quickly (typically in 1-2 processor cycles). Instructions from the program are temporarily stored in the Instruction Cache. This reduces the likelihood of getting instructions from other on-chip storage or from outside the chip, which typically stops the processor for tens or hundreds of cycles.

The Instruction Fetch unit probes the Instruction Cache and obtains the next instruction to be executed. If the instruction flow of a program gets redirected because of branch instruction, procedure call or interrupts, the Instruction Fetch starts fetching from the redirected path rather than the next sequential instruction. Most modern processors have intelligent predictors to predict frequently occurring redirections of program such as those caused by branch instructions.

The Decode Unit parses the instructions from the Instruction Fetch into three fields: The operation to be executed (e.g. ADD, BRANCH); the location of the input data (e.g. register or memory); and the destination of the output data. The Decode Unit produces the control signals for other stages of the microprocessor so that they can perform the operation requested by the particular instruction.

This Read Operands unit reads the input data on which the operation is to be performed. The operands may be located in the register file or memory. If the operand is located in memory, the read unit requests the data from the Data Cache. If the requested data is not present in the data cache, the Read Operands delays the instruction until all the input operands are available.

The arithmetic logic unit (ALU) performs the simple arithmetic and logic operations on the operands from the read stage. The operation to be performed in the ALU is decided by the control signals from the Decode Unit. ALU performs arithmetic operation only with fixed point numbers, such as whole numbers. The Floating Point Unit (FPU) handles arithmetic operations on high-precision numbers. It also performs more advanced arithmetic operations such as square root, trigonometry and logarithms. The output of the ALU and FPU is written to the Register File or the Data Cache.

The Data Cache is a temporary storage for input data. The Data Cache is typically small (approximately 32KB) and can be accessed quickly (in 2-3 processor cycles). If the requested data is not available in the Data Cache, the data is searched in other larger on-chip structures or main memory which typically incurs a delay of tens to hundreds of processor cycles. The Data Cache also provides a fast storage for writing the output data generated from the processor.

The Register File is a fast storage (1-2 cycles) that is typically very small (32B-128B). Unlike the Data Cache, the Register File is a part of the Instruction Set Architecture (ISA) defining the math and logic instructions usable by the software and implemented by the hardware. The Register File is managed entirely by the software, and the requested data is guaranteed to be present in the Register File. The registers in a Register File are used for data elements that are used very frequently.

Other company, product, or service names may be trademarks or service marks of others.

Stay on top of innovation


Syndication

RSS

Subscribe via RSS