Site Search

Hard and soft processors

There are various ways to classify processors, but one classification that embedded product developers should be aware of is hard processors and soft processors.

We will explain the differences and features of each processor.

Hard Processor

A hardware processor is a general processor (CPU) that is installed in PCs, etc.

 

Since it is a processor that was optimized by a semiconductor vendor (manufacturer) from the transistors onwards, the performance of each instruction is high.

By combining these instructions, complex commands can be realized, making it suitable for a wide range of applications.

However, since it is made of hardware, instructions cannot be changed, added, or deleted.

  

Hardware processors use "serial processing," which executes each instruction in order, so the processing speed is slower for complex processing than "parallel processing."

Differences between software and hardware processing

Also, since basically no other processing can be performed while one command is being processed, it is not suitable for real-time processing (processing that must be completed within a predetermined time).

◆Benefits

-Since it is optimized from the transistors onwards, each instruction is fast, consumes low power and has a small area (low cost).

- Complex commands can be realized by repeating basic commands, so it can be used for a wide range of applications (high versatility).

Disadvantages

- Since instructions are executed sequentially, it is slower than processing in parallel.

- Compared to hardware optimized for specific instructions, there is more unnecessary movement, so power consumption is higher.

-Since the processor is pre-designed by the semiconductor vendor (manufacturer), it is not possible to increase or decrease the number of instructions or cores later.

-It is difficult to freely insert interrupts, so it is not suitable for real-time processing.

◆Applications

・General-purpose equipment (equipment with no specific use)

Soft Processor

Like hard processors, soft processors are made up of hardware.

However, it differs from a hard processor in that the hardware is built by the user, rather than by a semiconductor vendor.

 

Because it is a processor created by the user, it is possible to incorporate as many instructions as necessary, to incorporate custom instructions that turn specific instructions into hardware (custom instructions), and to insert interrupts wherever desired, thereby enabling real-time processing and creating high-speed, low-power devices.

 

Soft processors can be realized not only with FPGAs but also with ASICs (application-specific integrated circuits), but for the following reasons, "processors made with FPGAs" are generally called soft processors.

・FPGA's flexibility, which allows you to change functions and instructions later, is similar to software.

- To distinguish it from FPGAs with built-in hard processors (SoC FPGAs)

Processors built into ASICs are often referred to as custom processors or embedded CPUs.

However, soft processors require effort to develop.

◆Benefits

- You can add custom instructions that are created in hardware and are fast and low power consumption.

- Using custom instructions reduces program size and memory usage.

-Instructions that are not used can be omitted from the processor.

- It can be used for a long period of time without worrying about manufacturers discontinuing supplies of hardware processors, memory, etc.

Real-time processing is possible.

- You can freely customize the number of cores, peripheral circuits, I/O configuration, etc.

Disadvantages

- It requires effort to design and verify the processor.

- Custom instructions require FPGA resources.

- If the instruction set were completely original, it would be impossible to use general software development environments.

◆Applications

・Specialized equipment (equipment made to perform a specific function)

Overcoming the disadvantages of soft processors

To overcome the disadvantages of soft processors, FPGA vendors such as Altera provides instruction sets and development tools "free of charge."

Free provision of instruction set (ISA)

Creating an entire instruction set yourself would be a time-consuming process, so Altera provides three Risc V-based instruction sets (Nios® V) free of charge.

-Nios® V/g: Standard ISA that can incorporate custom instructions (RV32IMAZicsr_Zicbom)
Nios® V/m: Medium size ISA (with/without Pipeline: RV32IAZicsr/RV32IZicsr)
Nios® V/c: The smallest ISA (RV32I)

Provision of development environment

Altera provides tools for hardware and software development.

Hardware Development
- Quartus, an existing development tool for Altera FPGAs ® You can use Prime (free version/paid version).
- Nios using GUI ® Easily integrate V into your FPGA Platform Designer We offer:

Software development
- Since Nios® V is based on Risc V, you can use development environments for Risc V provided by third-party vendors.
- Altera provides "Ashling* RiscFree* IDE for Intel® FPGA" for free.

Related Documents