MICROPRO

HISTORY OF MICROPROCESSOR

Early Computers

  • 1940s-1950s: The first electronic computers, like the ENIAC, were massive machines that used vacuum tubes. These early computers were primarily used for military and scientific calculations.

  • 1950s-1960s: The invention of the transistor in 1947 and the integrated circuit in 1958 revolutionized computing, making computers smaller, faster, and more reliable.

The Birth of Microprocessors

  • 1971: Intel introduced the Intel 4004, the world's first commercial microprocessor. This 4-bit processor was initially designed for calculators but laid the foundation for modern computing. • 1972-1974: Intel followed up with the 8008 and 8080 microprocessors, which were more powerful and versatile. These chips were crucial in the development of early personal computers.

Intel 4004 – The First Microprocessor (1971)

  • The Intel 4004, introduced in 1971, was a groundbreaking 4-bit microprocessor designed by Federico Faggin, Ted Hoff, and Stanley Mazor at Intel. Initially created for calculators, it revolutionized computing by integrating multiple transistor functions into a single chip. This innovation made devices more compact, powerful, and energy-efficient, significantly lowering production costs. The 4004 set the stage for future technological advancements, marking the beginning of the microprocessor revolution.

Evolution of Microprocessors

  • Late 1970s: The introduction of the Intel 8086 and the Motorola 68000 marked the beginning of the 16-bit era. The 8086, in particular, led to the development of the x86 architecture, which remains influential today.

  • 1980s: The shift to 32-bit processors began with the Intel 80386, which offered significant performance improvements. This period also saw the rise of personal computers, with processors like the Intel 80286 and Motorola 68030 becoming common.

8086 and x86 Architecture

  • In 1978, Intel introduced the 8086 microprocessors, marking the beginning of the x86 architecture. This 16-bit processor set a new standard with its instruction set and memory-addressing capabilities, providing a unified platform for software and hardware development. The x86 architecture’s adaptability and scalability have made it a cornerstone of modern computing, influencing subsequent processors like the 80286, 80386, and the Pentium series. Its legacy continues to shape a wide range of computing devices today.

Modern Microprocessors

  • 1990s-Present: The continuous miniaturization of transistors, as predicted by Moore's Law, has led to the development of incredibly powerful and efficient processors. Modern CPUs, like Intel's Core series and AMD's Ryzen, feature billions of transistors and support advanced computing tasks

Microprocessor

  • A microprocessor is the central processing unit (CPU) of a computer, integrated onto a single integrated circuit (IC). It is essentially the "brain" of the computer, executing instructions from programs to perform various tasks.

Simple parts of Microprocessor

  1. Input Device

  2. Output Device

  3. ALU

  4. Control Unit

  5. Register Array

  6. Memory Unit

Input Device

  • An input device sends data or instructions to the microprocessor for processing.

  • The input device converts user or environmental actions into electrical signals that the microprocessor can understand and process.

Output Device

  • An output device displays or acts upon the results of the microprocessor’s operations.

  • The microprocessor sends processed data to the output device, which converts it into a human-readable form or an action.

Arithmetic Logic Unit (ALU)

  • Performs arithmetic (e.g., addition, subtraction) and logical operations (e.g., AND, OR, NOT). • The ALU is the "calculator" of the microprocessor. It processes data from the memory or registers and performs computations needed for instructions.

Control Unit

  • Directs the flow of data and instructions within the microprocessor.

  • The control unit acts like a "traffic cop," telling other parts of the microprocessor what to do and when to do it.

Tasks:

  • Fetching instructions from memory.

  • Decoding instructions to understand what operation is needed.

  • Sending signals to the ALU, memory, and registers to execute the instruction.

Memory Unit

  • Stores data and instructions for the microprocessor.

  • The microprocessor retrieves instructions and data from memory for processing and writes results back to memory if needed.

Types of Memory:

  • RAM (Random Access Memory): Temporary storage for data and instructions being processed.

  • ROM (Read-Only Memory): Permanent storage for essential instructions like startup routines.

Register

  • mall, high-speed storage locations within the microprocessor for temporary data storage.

  • Registers hold data that the microprocessor is actively working on, such as the operands for the ALU or the results of computations.

How They Work Together

  • Input device sends data to the microprocessor.

  • The control unit fetches instructions from memory, decodes them, and directs operations.

  • Data is processed by the ALU with the help of registers for temporary storage.

  • Results are sent to an output device or written back to memory for later use.

Key Features of Microprocessors

  • Single IC Design: Combines the computational power of a CPU on a single chip.

  • Instruction Set: Executes a predefined set of instructions (e.g., RISC or CISC architectures).

  • Processing Speed: Measured in MHz or GHz, indicating how many millions/billions of cycles it can perform per second.

  • Low Cost - Due to integrated circuit technology microprocessors are available at very low cost. It will reduce the cost of a computer system.

  • High Speed - Due to the technology involved in it, the microprocessor can work at very high speed. It can execute millions of instructions per second.

  • Small Size - A microprocessor is fabricated in a very less footprint due to very large scale and ultra large-scale integration technology. Because of this, the size of the computer system is reduced.

  • Versatile - The same chip can be used for several applications; therefore, microprocessors are versatile. Therefore, microprocessors are versatile.

  • Low Power Consumption - Microprocessors are using metal oxide semiconductor technology, which consumes less power.

  • Less Heat Generation - Microprocessors uses semiconductor technology which will not emit much heat as compared to vacuum tube devices.

  • Reliable - Since microprocessors use semiconductor technology, therefore, the failure rate is very less. Hence it is very reliable.

  • Portable - Due to the small size and low power consumption microprocessors are portable.

Applications of Microprocessor

  • Computers: Used in desktops, laptops, and servers.

  • Embedded Systems: Found in devices like washing machines, smartphones, and automobiles.

  • Control Systems: Used in robotics and industrial automation.

  • IoT Devices: Power smart appliances and sensors.

Microprocessor and Microcontroller

  • A microprocessor is the central processing unit (CPU) of a computer system implemented on a single integrated circuit (IC).

  • It functions as the brain of general-purpose computing devices, handling tasks like calculations, data processing, and program execution.

  • Microprocessors do not have integrated memory or peripherals and rely on external components (like RAM, ROM, and I/O devices) to operate effectively.

  • Applications: Found in PCs, laptops, and high-performance devices where versatility and raw computational power are necessary.

  • A microcontroller is an integrated circuit designed for specific control tasks.

  • It integrates a CPU, memory (RAM and ROM), and input/output (I/O) peripherals on a single chip, making it compact and self-sufficient.

  • Microcontrollers are widely used in embedded systems, where they are programmed to handle specific operations like sensing, controlling, or communicating.

  • Applications: Found in devices like washing machines, automotive systems, robotics, and IoT devices.

• Microprocessor

  • Intel 8086: One of the earliest 16-bit microprocessors, a foundation for modern computing.

  • AMD Ryzen: A modern high-performance microprocessor used in PCs and gaming systems. • Microcontroller

Microcontroller

  • Arduino: A beginner-friendly platform based on microcontrollers, widely used for prototyping.

  • STM32: A family of microcontrollers used in advanced industrial and IoT applications.

Arduino

  • Arduino consists of hardware (physical programmable boards) and software (an Integrated Development Environment or IDE) used to write and upload code to the board.

  • It's primarily designed for prototyping and educational purposes, allowing users to create electronics projects quickly.

Both Arduino hardware designs and the Arduino IDE are opensource, which means anyone can modify and extend them.

Types of Arduinos

1. Entry-Level Boards

These boards are great for beginners and simple projects:

  • Arduino Uno: The most popular Arduino board, suitable for beginners with ample community support.

  • Arduino Nano: A smaller, breadboard-friendly version of the Uno.

  • Arduino Mega 2560: Designed for more complex projects requiring more memory and I/O pins.

  • Arduino Micro: Compact and breadboard-compatible, ideal for wearables and portable projects.

2. Enhanced Performance Boards

These boards have more processing power and advanced features:

  • Arduino Due: Features a 32-bit ARM Cortex-M3 processor, suitable for high-performance tasks.

  • Arduino Portenta H7: A dual-core processor board designed for AI, IoT, and industrial applications.

3. IoT Boards

Boards with built-in Wi-Fi, Bluetooth, or cellular connectivity for Internet of Things (IoT) applications:

  • Arduino MKR1000: Built-in Wi-Fi for IoT projects.

  • Arduino MKR WiFi 1010: Combines Wi-Fi and Bluetooth connectivity.

  • Arduino MKR GSM 1400: Enables cellular IoT connectivity.

  • Arduino Nano 33 IoT: A compact IoT board with Wi-Fi and Bluetooth.

4. Wearable and Compact Boards

For wearables and projects with size constraints:

  • Arduino Lilypad: Designed for e-textile and wearable projects.

  • Arduino Nano Every: A small and cost-effective version of the Arduino Nano.

5. Specialized Boards

Boards designed for specific applications:

  • Arduino Leonardo: Features USB capability to act as a mouse, keyboard, or game controller.

  • Arduino Pro Mini: A minimalistic version for low-power and compact projects.

  • Arduino Zero: A 32-bit board for advanced educational and prototyping needs.

6. Education Kits and Robotics

  • Arduino Starter Kit: A set of components and projects for learning.

  • Arduino Robot: A robot platform with two processors for control and computation.


Arduino Uno

Overview

Arduino Uno is one of the most popular and widely used microcontroller boards in the Arduino family. It is designed for beginners and professionals to build electronics projects, offering an easy-to-use platform for prototyping and learning embedded systems.

Key Features

  • Microcontroller: ATmega328P, an 8-bit AVR microcontroller.

  • Operating Voltage: 5V.

  • Input Voltage (recommended): 7-12V.

  • Digital I/O Pins: 14 pins (6 of which can provide PWM output).

  • Analog Input Pins: 6 pins for reading sensors and other analog signals.

  • Clock Speed: 16 MHz.

Key Components

  • Flash Memory: 32 KB (0.5 KB used by the bootloader).

  • SRAM: 2 KB.

  • EEPROM: 1 KB for non-volatile data storage.

  • USB Connection: For programming and power supply via a PC or laptop.

  • Power Jack: Barrel jack for external power supply.

ICSP Header: For programming the microcontroller directly.

Parts of an Arduino (Description and Use)

Microcontroller

  • It is the main part of Arduino that is ATMEGA328.

  • It comes with 14 digital pins and 6 analog input pins.

  • The DC for this module is 40 milliamperes.

GPIO Pinout

  • Pins lie on the upper and lower portions called GPIO (general-purpose input/output) pinouts. These pins help to make a connection with other external modules.

Digital Pins

  • These pins provide power (5V high and 0V low) to other devices connected with Arduino. Pins numbered 0 to 13 are digital pins.

Analog Pins

  • These pins are labeled as A0 to A5 and are used to sense voltage values ranging from 0V to 5V.

Power Pins

  • These pins can power 5V to other external devices connected to this board.

SDA and SCL Pins

  • These pins are used for I2C communication protocol.

TX and RX

  • These two pins are used for UART (Universal Asynchronous Receiver/Transmitter) communication.

PWM Pins

  • These pins are used for pulse-width modulation.

Reset Button

  • This button is used for restarting the Arduino modules.


Crystal Oscillator

  • This module helps Arduino to manage time and create pulse width modulation (PWM). It is also used for serial communication.

Input Jack

  • This module allows for the 5V power to be provided to Arduino through a USB connection.

Voltage Regulator

  • This component is used to reduce the voltage value from 12V to 7V according to the module's demand.

USB Connector

  • Programs are uploaded to the board through this USB connector. Serial data produced by the board is sent to the computer and can be viewed on the computer screen.


Arduino Microcontrollers

  • ATmega328P is mostly used on different types of Arduino boards. It includes the following features:

    • 14 digital input and output pins

    • 6 analog input pins

    • Static RAM of 2 KB

    • Each input and output pin provides 40 milliamperes of current

    • 32 KB flash memory

    • 1 KB EEPROM


Communication Interface

Serial Communication (UART)

  • UART (Universal Asynchronous Receiver/Transmitter) is a protocol used by Arduino for serial communication with other devices. The built-in hardware in Arduino facilitates communication with sensors, actuators, Raspberry Pis, and other boards.

Inter-Integrated Circuit (I2C)

  • I2C is a communication protocol that helps to connect many devices with fewer wires. Communication between different devices is achieved using two wires called SDA (data) and SCL (clock). Arduino includes pins that allow easy connection to sensors and displays.

Serial Peripheral Interface (SPI)

  • SPI is used when there is a need for high-speed data transfer. This protocol uses multiple lines to connect the controller with other devices. Unlike I2C, it uses different wires for communication, clock control, and other operations. SPI is ideal for connecting Arduino to SD cards, display modules, and DACs.


Digital Pins

Serial Communication

  • There are two types of serial pins: receiver and transmitter. On the Arduino Diecimila, pins 0 and 1 are used for communication. Pin 12 also serves as the RX pin for receiving data, while TX flashes when data is transmitted. In some cases, it is used for TTL serial modules.

External Interrupts

  • External interrupts are triggered when necessary. These interruptions occur due to a rising or falling edge, or a change in value. When an interrupt is triggered, Arduino halts its current operations and resumes once the interruption is processed.

PWM (Pulse Width Modulation)

  • PWM uses pins 3, 5, 6, 9, 10, and 11 for output. The analogWrite() function is used to produce an 8-bit output. If a larger output is needed, the 8-bit output is produced. On some boards, such as ATmega8, PWM pins are 9, 10, and 11.

SPI (Serial Peripheral Interface)

  • SPI is a synchronous serial data protocol used by the controller. It is found on pins 10 (SS), 11 (MOSI), 12 (MISO), and 13 (SCK) and is used for communication between microcontrollers and different devices. It allows the microcontroller to work as a slave to the master of the SPI bus.

LED

  • The LED is located at pin 13 on some Arduino boards. It is used for testing features, where the LED glows when the pin is HIGH and turns off when the pin is LOW. External LEDs can be easily connected using a breadboard and jumper wires.


Power Pins

5V (Power Supply)

  • This voltage is used to operate components, such as the controller on the board. This power can be sourced from VIN or any supply that provides regulated 5V. If the voltage is lower, it will not work on the Arduino.

GND (Ground Pin)

  • This pin is used as a reference level for ground. It is automatically set to zero potential.


Other Pins

AREF (Analog Reference Pin)

  • The analog reference pin sets the upper limit of voltage for the analog pins. This is configured using the analogReference() function.

Reset Pin

  • The reset pin is used to reset the controller to its default values. When there is an error in the program or the Arduino needs to be reset, this pin can be used to start fresh.