0% found this document useful (0 votes)
7 views

IBC Lecture Week2

Uploaded by

Umar Jawad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

IBC Lecture Week2

Uploaded by

Umar Jawad
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

BM470: IoT and

Biomedical
Computing

1
Overview

• IoT Hardware
– Microcontrollers and Microprocessors
• Introduction
• Microprosessor
• Microcontroller

2
Design Challenges
• Privacy
• Interoperability
• Power Consumption
• Scalability
• Data Management
• Connectivity
• Hardware Limitations
• Regulation Compliance
• Integration Challenges

3
IOT based Healthcare Architecture

4
Overview of IoT

5
Layer Architecture

6
Communication Protocols

7
8
9
IOT Hardware

• The Internet of Things refers to the growing network of


physical objects communicating and connecting through
the internet.
• Consequently, IoT devices collect data from the
environment, which, in turn, drives decisions to make
processes more efficient, reduce costs, and improve the
quality of products.
• This connectivity, data collection, and decision-making
are possible thanks to the IoT devices’ microprocessors.
10
Microprocessor

• Microprocessors act as the “brain” of IoT devices and are


responsible for executing the computer’s instructions.

• A microprocessor is a type of CPU designed for use in


embedded systems; they are small, low-power units that
are highly efficient for their size and can perform a wide
range of tasks.

11
Cont.

• As the “brain” of the IoT device, microprocessors have a


wide range of responsibilities in each device. Some
examples include collecting data, triggering actuators,
communicating with other devices, running operating
systems, executing programs, managing power, and
much more.
• Without the utilization of microprocessors, the IoT industry
wouldn’t exist.

12
Example

• One of the most notable consumer microprocessors today


is the Raspberry Pi, a small, low-cost microprocessor used
extensively for consumer development.

• Its ARM architecture allows users to build applications on


top of standard operating systems like Linux. Moreover,
Intel, AMD, and Qualcomm make popular microprocessors
today for enterprise use.

13
Applications
Here are a few examples of how microprocessors spring into action in
varying IoT devices:
• Smart Thermostat: The microprocessor reads the data taken in by
home temperature sensors, runs tasks to digest the data, and
consequently triggers a change in the state of the heating and cooling
system.
• Wearable Fitness Trackers: The microprocessor takes in the data
collected by the body trackers, computes necessary measurements
from the data, and often sends the data to the cloud.
• Smart Vacuum: The microprocessor takes proximity data from the
sensors, analyzes potential next moves, and triggers the device to
move and clean the space. 14
15
Components of Microprocessor

• The components of a microprocessor include:


– ALU,
– control unit
– registers
– cache memory
– bus
– input/output system
– clock.

16
Cont.
• The microprocessor performs three main tasks for the
system:
(1) Data transfer between itself and the memory or I/O
systems.
(2) Simple operations.
(3) Program flow via simple decisions.
• The power of the microprocessor is in its capability to
execute billions of millions of instructions per second
from a program or software (group of instructions) stored
in the memory system. 17
Generations of Microprocessors

Generation Era Chip Size Word Size Maximum Clock Cores Example
Memory Speed
Size
First 1971- LSI 4/8 bit 1 KB 108-200 Single Intel 8080
1973 KHz
Second 1974-78 LSI 8 bit 1 MB Upto 2MHz Single Motorola 6800
Intel 8085
Third 1979-80 VLSI 16 bit 16 MB 4-6 MHz Single Intel 8086

Fourth 1981-95 VLSI 32 bit 4 GB Upto Single Intel 80386


133MHz Motorola 68030
Fifth 1995- SLSI 64 bit 64 GB 533MHz- Multicore Pentium,
present 34GHz Celeron, Xeon

Quad, Octa

18
Definitions

Word size: Maximum number of bits that a microprocessor


can process at atime
Memory Size: Depending upon the word size, the size of
RAM varies.
Clock Speed: Number of pulses generated per second by
clock inside a computer. It indicates the speed at which the
computer can execute instructions.
Core: A computation unit of CPU. A CPU with two, four and
eight core are called Dual Core, Quad Core and Octa Core
Processors respectively. 19
Architectures

• Von Neuman
• Harvard
• CISC
• RISC
• Super Scalar
• VLIW
20
Architectures

• Von Neuman (Princeton)


– Only one Memory holds (data + instructions)

1 - 21
Architectures

• Von Neuman
• Data and Program share the same bus and the
same memory, and so must have the same width.
• CPU Registers:
• Program Counter (PC), Instruction Register (IR) and
other general purpose registers, etc.
• Bottleneck: Getting instructions interferes with
accessing RAM
• Self-correcting programs
22
Architectures contd…

• Harvard
• Separate program bus and data bus (can be of
different widths!)

1 - 23
Architectures contd…

• Harvard
• Easy Instruction Pipelining
• Can’t use self modifying codes
• Allows 2 simultaneous memory Fetches
• Most DSPs use Harvard Architecture for streaming data.
• Greater memory Band-width
• More predictable Band-width

24
Architectures contd…

• CISC - (Complex Instruction Set Computer)


• Huge instruction set
• Carrying out a different permutation of the same operation

• Instructions for complex operations


• Different instructions of different format
• Different instructions of different length
• Many Addressing modes
• Requires multiple cycles for execution
25
Architectures
contd…

• RISC- (Reduced Instruction Set Computer)


• Reduced set of Instructions for simple operations
• Pipeline Friendly
• Each instruction of fixed length
• Can be executed in a single cycle
• Large general purpose Register set
• Can contain data or addresses
• Load-store Architecture
• No Memory Access for data processing instructions

26
Architectures
contd…
• RISC vs CISC

27
Architectures
contd…
• Super Scalar
• Multiple CPUs in a single Processor
• Processor decides at runtime about the instructions that can be
executed parallel.
• Instructions will be executed in an order different from the strictly sequential
one with the restriction that the result must be correct.
• Execution policies:
1. In-order issue with in-order completion
2. In-order issue with out-of-order completion
3. Out-of-order issue with out-of-order completion
• Examples:
• Intel’s Pentium, IBM Power2, AMD K5, MIPS R10K, HP PA8500, Cyrix 6x86
28
Architectures contd…

• VLIW (Very Large Instruction Word)


• Multiple CPUs in a single Processor
• Compiler decides about the instructions that can be executed
parallel and can be grouped in one bundle
• Examples: i860 (dual mode: RISC and VLIW), TriMedia, SHARC, Itanium,
EPIC, ST200, StarCore, Transmeta Crusoe, Xtensa

29
CISC vs RISC vs SS vs VLIW
CISC RISC Superscalar VLIW
Instruction fixed size (but
variable size fixed size fixed size
size large)
Instruction variable
fixed format fixed format fixed format
format format
few, some GP and rename many, many
Registers many GP
special (RUU) GP
Memory embedded in
load/store load/store load/store
reference many instr’s
data hardware code
decode
Key Issues forwarding, dependency scheduling,
complexity
hazards resolution (compiler)
Instruction IF ID EX M WB
IF ID EX M WB IF ID EX M WB

flow IF ID EX M WB
IF ID EX M WB EX M WB

IF ID EX M WB IF ID EX M WB
IF ID EX M WB IF ID EX M WB EX M WB
ARM Cortex M4-based System

Microcontroller System bus


ARM® CortexTM-M
processor
Input
PPB ports
Internal
Advanced
peripherals High-perf Output
Bus ports
Instructions
Flash ROM Data
ICode bus DCode bus RAM

q ARM Cortex-M4 processor


q Harvard architecture
vDifferent busses for instructions and data
31
Development with Arduino
The labeled components of the board respectively are-
1. USB: for both power/communication with the IDE
2. Barrel Jack: used for power supply
3. Voltage Regulator: regulates/stabilizes the i/o voltages
4. Crystal Oscillator: regulates processor frequency
5. Reset Pin: can be used to reset the Arduino Uno
6. 3.3V pin: can be used as a 3.3V output
7. 5V pin: can be used as a 5V output
8. GND pin: can be used to ground the circuit
9. Vin pin: can be used to supply power to the board
10. Analog pins(A0-A5): read analog signals to the board
11. Microcontroller(ATMega328): the processing and logical unit of the
board
12. ICSP pin: a programming header on the board
13. Power indicator LED: indicates the power status of the board
14. RX and TX LEDs.
15. Digital I/O pins:
16. AREF pins: external reference voltage as the upper limit for the analog
pins
32
17. Reset button:
IOT Design Methodology

33
Platform for IoT development

• A platform for IoT development provides a powerful toolkit for IoT


development and end-to-end management that connects devices,
smart sensors, and IoT gateways to the cloud.
• AWS IoT: (Amazon Web Services)
– A cloud platform designed for IoT apps with the facility of assuring
millions of device connectivity and acts as a data sea.
– It supports all SDKs like Embedded C, Python, and Java, etc.
• Microsoft Azure IoT:
– Azure cloud platform uses Microsoft Visual Studio SDK.
– Collect and analyze real-time device data using a pre-configured remote
monitoring system.
34
Homework

Get youself an Arduino Uno, IDE and lets start


development!!!

35

You might also like