Processor design is a subfield of computer engineering and electronics engineering (fabrication) that deals with creating a processor, a key component of computer hardware. The design process involves choosing an instruction set and a certain execution paradigm (e.g., VLIW or RISC). It results in a microarchitecture, which might be described in, e.g., VHDL or Verilog.
Learning the ins and outs of designing a new microprocessor is an incredibly rewarding experience as you’ll be able to take your knowledge and apply it in real-world situations. There are many steps involved in designing a new microprocessor, but it can be done. The general steps are as follows:
Determine Processor Capabilities
It is important to ask yourself why you are designing a processor. Is this new thing going to be better than what’s out there already? Keep in mind that it always costs less money and time to use an existing chip rather than creating one from scratch. And finally, do think about questions like will the machine support a wide array of instructions, or if it will have a limited set of instructions, etc.
Layout the basic arithmetic operations you want your chip to have, like addition, subtraction, etc., and other capabilities like unconditional jumps and stack operations.
Your processor’s ALU architecture can significantly impact how it will ultimately function. Once you’ve determined the ALU architecture that will be used in the processor (Accumulator, Stack, Register, or some combination), then all other aspects become much easier because they’re based on the kind of registers and instructions are needed for each type.
The design process for an ISA begins with determining the processor’s architectural style. There are three main styles: RISC, CISC, and VLIW (the last of which was largely replaced by GPUs). Each has its set advantages and disadvantages in certain circumstances, so you need to consider what kind of machine code will best suit your needs before picking one.
Build Control Logic
We can start to construct the logic of our primary control unit once we have completed datapath and ISA. These units are typically implemented as finite state machines. They require a mapping between their internal structures to make sense outside of their world, just like how some things must be translated when speaking another language.
Learn more about processors and their importance in technology by visiting our blog page.