Classification of Microcontrollers:

Microcontrollers are classified on different aspects like architecture, programming language used, bus width, memory, instruction set etc. Here we will discuss only three classifications.

  1. Microcontrollers are classified according to the size of internal bus width. Eg: 4 bit, 8 bit, 16 bit, 32 bit etc., When we say we are using a 16 bit microcontroller, what it actually means is that instructions are sent in batches of 8 bits, or 1 byte. (If you need to understand what are bits and bytes, read about binary digits in digital number system tutorial)
  1. Architecture is a conceptual design and operational structure of a system. There are two main architectures considered in microcontroller designs. Harvard and von Neumann architectures. The difference is the way data and programs are accessed and stored.
    • Harvard Architecture: In this architecture, physically separate memories with their own dedicated buses are used for instructions and data. This allows faster execution and data flow happens in parallel with each other.
    • von Neumann: Contrast to Harvard Architecture, in this the controller can either read an instruction or read/write data from/to the memory. Both cannot happen at the same time as they use the same bus for instruction and data transfer.

If you have already guessed it, Harvard architecture is more to the advantage and most microcontrollers use this architecture.

There are two basic design philosophies dominating the market today. They are the CISC and the RISC.

  1. Pronounced as “sisk”, CISC stands for “Complex instruction Set Computing” uses complex instructions which are micro coded in the ROM (Read Only Memory) and they are called by the software whenever required. Most computers CPU’s have used this architecture. Basically it is a set of large and complex instructions which operate directly from the memory and acts as transition layer between the instructions and the electronics. At the time when computers started screening up, this CISC development was a huge leap in increasing the performance and was also less expensive due to instructions being micro coded. However, CPUs required dozens of data memory cycles in order to execute a single instruction.

  2. With each new generation of computer, chip hardware became more and more complex and micro coding each and every instruction started adding up to trouble. This is when designers and researchers thought of using a small set of simplified instructions and reducing the number of data cycles required to execute an instruction. This new design was known as “Reduced Instruction Set Computing” or RISC, (Pronounced as “risk”). RISC architecture was faster, required simpler hardware, and was less expensive compared to CISC architecture (Simple instructions uses less transistors and easy to design). Most CPU’s and microcontrollers today make use of RISC architecture and CISC is fighting for its endurance. 

So which design wins? There is always a general disagreement between the experts as to which design is better. Some say CISC is complex and others say RISC requires complex software. But for us, we actually don’t care. Whichever design serves our purpose that is well and good.

Do you have anything to say?
Visit the Forum to discuss, learn and share anything related to robotics and electronics !!

rss feeds

Featured Videos


Recent Articles

Atmega8 Development Board

A great step-by-step tutorial on building your own Atmel AVR based Atmega8 development board. The board is ideal for beginners with detailed explanation and pictures More...

L293D Motor Driver

For robots to do work, you need to know how to control a motor. L293D is a cleverly packed IC which can control two DC motors in both directions: forwards and reverse. Here is a detailed explanation of building a board based on L293D ICMore...

Hobby Servo Tutorial

Servo Motor is a device which uses error-sensing feedback signals to determine and control the position of a motor shaft. The term "servomechanism" closely relates to servo motors..More...

Blinking LED Tutorial

This is similar to what we achieve in any "Hello World" program. However, it is not just limited to blinking LED but scratches the surface of AVR-GCC programming... More...

Kindly Donate

If this site has helped you, then kindly consider a Donation to say "Thank You!!". Donation might help us keep all this information available for free and also pay for the resources.

If that is difficult, then a simple "Hi" in the forum would still do good :)