History

8-Bit Microprocessors

Let's start with the mother of all microprocessors, the 8-bit microprocessor. The beginnings in the 1970s with a WORD width of 8 bits and thus 1 byte was one of the forerunners of the computer age. Well-known representatives of this architecture are Intel 8008, Zilog Z80 or the 6800 from Motorola.

It was common for 8-bit architectures at that time to store 8-bit data, but memory accesses were performed with 16-bit. Due to the limited address space of 28 bits, 16-bit was usually used to enable flexible coding of instructions.

Image
Image
Image
Computer architecture

Von Neumann vs. Harvard

One of the most important decisions that must be made when designing a processor is how data is managed, updated and accessed. Two architectures have evolved that are still in use today, which are not so different at first but can have a major impact on the design process, the Von Neumann architecture and the Harvard architecture.

The key difference between these two is that in the Von Neumann architecture there is only one memory, which stores instructions and data. In contrast, in the Harvard architecture there are two memories, one stores the instructions and the other the data.

Layers of abstraction

Designflow

An Instruction Set Architecture (ISA) is used to design a processor. The ISA specifies a processor architecture and contains all the instructions that a processor of a given architecture must implement. It also contains further information such as the number of registers, register widths, address space, etc. However, it does not describe how these instructions must be implemented.

A microarchitecture is a description of how a given ISA should be implemented. The focus can be set on either speed, low power or area. Some processors implement an ISA and focus on utilised area and low power, for example for embedded systems. Others, on the other hand, try to achieve maximum performance.

A microarchitecture is typically implemented using a hardware description language such as Verilog or VHDL. The desired behaviour is described at the so-called register transfer level (RTL). Registers, counters, multiplexers, etc. are used here

These blocks can be used to describe either combinational or sequential circuits, whereby sequential circuits can store states and synchronise the executed operation with other sequential circuits.

Image
Image
Instruction Cycle

The infinite loop

Depending on how detailled you want to analyse the lifetime of an instruction, more states or fewer states can be defined. What all instructions have in common, however, each individual instruction passes through the same states.

The most important states of the instruction are fetch, decode and execute. This recurring process is also known as the instruction cycle. This also gives us as designers a guideline to orientate ourselves on what we have to implement.

Next
Loading...