Selamat Datang Ke Blog Kami

Renung-Renungkan Dan Selamat Membaca

Sunday, October 21, 2012

History oF Processor

  • The earliest forms of computer processors were designed from vacuum tubes and electrical relays. By the 1950s, these had been replaced by the advent of the transistor. These transistors were built onto printed circuit boards, copper that is etched onto a non-electrical board, and various components were added. These computer processors were large and bulky, sometimes taking up whole rooms.
    During the construction of the Apollo guidance computer for NASA, scientists were able construct integrated circuits that allowed large numbers of transistors to be manufactured into a single semiconductor. This was found to be more reliable that previous models and much more compact.
    The microprocessor was invented by Intel in 1970. The 4004 was as fast as its larger cousins, but could be used in much smaller devices. With the advent of the personal computer, the majority of processor technology uses the microprocessor model.


Every PC has a Central Processing Unit (CPU) this acts as the brain of your system. It connects to 

the Motherboard and works alongside the other components processing many instructions at the 

same time between the different hardware and memory systems.

Advancements in CPU technology now mean systems typically come with Dual Core, Triple core or Quad Core processors (on one single chip) instead of the traditional one core per chip. Now the total number of Cores can slot into a socket as before and a single heat sink and fan can keep everything to the right temperature.

Intel and AMD are the two companies who dominate the PC Processor market. Both have been around for decades and have become the main Chip suppliers for the home and business markets.

Intel processors are most commonly used in prefabricated computer systems, such as those from Dell and HP.

The company focuses on two different lines of processors: the Pentium and the Celeron. 

Pentium processors are the larger microchip style that works on most desktop and some laptops. They can handle high-demand processing, such as that found in 3D gaming, video editing and other multimedia-intense applications.

Celeron processors are more compact models with the ability to run a basic computer efficiently and cost-effectively.

AMD's line of computer processors can be found in prefabricated models, however, are most commonplace with home-built systems or specially designed machines.

AMD was the first to build a 64-bit processor, capable of high-end applications use with graphic intensive operations.
The previous industry standard had been 32-bit processing. Some AMD processors offer built-in virus protection.

Processor(Building a Datapath) by Muhammad Yusuf Bin Ahmad Shah Ruddeen

Major Component
First element needed is a place to store the program instructions. Memory is used to hold and supply instructions given an address.The address must be kept in the Program Counter (PC), and in order to increment the PC to the address of the next instruction, we also need an Adder.All these elements are shown in figure2.1.After fetching one instruction from the instruction memory, the program counter has to be incremented so that it points to the address of the next instruction 4bytes later.

Instruction Memory , Program Counter

Component For Arithmatic & Logic Function 
we use all instruction read two registers, perform an ALU operation and write back the result.Arithmetic logical instructions are  called R-type instructions. This instruction class considers add, sub, slt, and  and or . The 32 registers are stored in Register File. To read a data word two inputs and outputs are needed. The inputs are 5 bits wide and specify the register number to be read, the outputs are 32 bits wide and carry value of the register.To write the result back two inputs are needed: one to specify the register num-ber and one to supply the data to be written.

Registered ALU And Datapath R-type Instruction

Load Word(lw) And Store Word(sw)
Two elements are needed to implement the sw- and lw-instructions: 

i.Data Memory 
ii.Sign Extension Unit

sw and lw instruction compute a memory address by adding a register value for 16bit signed offset field.The instruction offset field must signed extended from 16 to 32 bits simply by concatenating the sign bit 16 times to the original value

Branch on equal instruction

Instruction has 3 operands, 2 registers that are compared for equality, and a 16-bit offset are used to compute the branch target address relativeto the branch instruction address.
This datapath must do 2 operations: the register contents
ii.and compute the branch target

2 things must be done:
i.The address field of the branch instruction must be sign extended from 16 bits to 32 bits.
ii.must be shifted left 2 bits so that it is a word offset.

Jump Instruction

Jump instruction is similar to the branch instruction, but computes the target PC differently.The destination address for a jump is formed by concatenating the upper 4 bitsof the current PC + 4 to the 26-bit address field in the jump instruction 

**Picture and some info are taken from

By muhammad Yusuf Bin Ahmad Shah Ruddeen

processor by nurul izzati farnanah


Pipelining Analogy

}  Pipelined laundry: overlapping execution
      Parallelism improves performance

n  Four loads:
n  Speedup
= 8/3.5 = 2.3
n  Non-stop:
n  Speedup
= 2n/0.5n + 1.5
= number of stages

MIPS Pipeline
}  Five stages, one step per stage
1.       IF: Instruction fetch from memory
2.       ID: Instruction decode & register read
3.       EX: Execute operation or calculate address
4.       MEM: Access memory operand
5.       WB: Write result back to register

The first Pipeline Register (delay module) shown by the red line, IF_ID ,separates the IF stage from the next stage (ID).

We are going to break two Signals (wires): the PC+4 and the Instruction signals. We need an input for each of these, and an output that will reflect the input values at the instant of time when the clock (Event) changes from positive to negative. The VHDL code for Entity "Ifid" is created in the text file "IFID.VHD" which contains:

Pipeline Performance

}  Assume time for stages is
       100ps for register read or write
       200ps for other stages
}  Compare pipelined datapath with single-cycle datapath 

}  Refer to slide 5, the example does not reflect fourfold improvement for three instructions
       2400/1400 1.7
}  Add 1,000,000 instructions, each add 200 ps to the total execution time,
       Total execution time = 1,000,000 x 200ps + 1400ps
                                                                                = 200,001,400ps
       Nonpipelined total execution time
                = 1,000,000 x 800ps + 2400ps
   = 800,002,400 ps
       Speedup = 800,002,400/200,001,400

  • The Cortex-M3 processor has a three-stage pipeline. The pipeline stages are instruction fetch, instruction decode, and instruction execution (see Figure 6.1).
figure 6.1

Figure 6.1: The Three-Stage Pipeline in the Cortex-M3

  • Some people might argue that there are four stages because of the pipeline behavior in the bus interface when it accesses memory, but this stage is outside the processor, so the processor itself still has only three stages.
  • When running programs with mostly 16-bit instructions, you will find that the processor might not fetch instructions in every cycle. 
  • This is because the processor fetches up to two instructions (32-bit) in one go, so after one instruction is fetched, the next one is already inside the processor. In this case, the processor bus interface may try to fetch the instruction after the next or, if the buffer is full, the bus interface could be idle.
  •  Some of the instructions take multiple cycles to execute; in this case, the pipeline will be stalled.
  • In executing a branch instruction, the pipeline will be flushed.
  •  The processor will have to fetch instructions from the branch destination to fill up the pipeline again. 
  • However, the Cortex-M3 processor supports a number of instructions in v7-M architecture, so some of the short-distance branches can be avoided by replacing them with conditional execution codes.[1]
  • Due to the pipeline nature of the processor and to ensure that the program is compatible with Thumb codes, when the program counter is read during instruction execution, the read value will...
  • Interested in this book and others like it? Try EngineeringPro™ from Books24x7®

By Nurul Izzati Farhanah

Knows your Processor

Each of any computers needs a processor to run its program. It is also known as a motherboard to the computer. Without it, a computer is useless. A greater processor is determined by how fast it can work on a certain program, or how many programs can it run in a time.

Description: C:\Users\user\Desktop\images.jpg
                                                Diagram 1.1 Example of processor

What are the function of processor

·         Accept data
·         Stored data
·         Process information
·         Decode input instruction into binary code(0,1)
·         Send to ALU(Arithmetic Logic Unit) to carry command

Rounded Rectangle: Store dataRounded Rectangle: DecodeRounded Rectangle: Process dataRounded Rectangle: Input data                                        

Process flows


A good processor can run in a quick action while doing multiple tasks. We can conclude on two major factor that affect a good processor:
·         Size of processor
·         Type of processor


Size of processor is not depends on its physical state but it’s about the unit’s power to perform tasks and the amount of memory space provided. A processor size is measured in binary bits. Nowadays, an average CPU is using 16-bits and 32-bits as their standard CPU size. Sixty-four-bit CPUs are becoming increasingly popular in high-end personal computers and laptops. But for industrial purpose, the CPU uses more than an average CPU does.


There are different types of CPUs; each type comes with variety degrees of speed memory and pre-set instructions. The larger the CPU, the quicker it can process, store and execute commands. A single-core CPU is the smallest unit available. It is usually found in smaller devices that only perform a simple set of actions such as a remote control or toy. Dual-core CPUs contains two command units and contain enough power and memory for most personal computers. Multi-core CPUs contain multiple command units. They are mainly used by large industrial electronic appliances, servers and network workstations.

Description: C:\Users\user\Desktop\download.jpg Description: C:\Users\user\Desktop\images (2).jpg
Diagram 1.2 difference between 2 processor

BY Ikhwan Bin Ali (B031210376)