EE 390: Digital System Engineering
Module-1
Types of Digital Computers:
(1) Mainframe: - Invented by scientists of Bell Lab in the 1950’s (vacuum tubes). 800 transistors
were used to build the 1st transistorized computer.
- Used to serve a large number of users. Such as the University data processing center, etc..…..)
(2) Minicomputer: - In the 1960s, with the advent of integrated circuits, a scaled-down version of a
mainframe computer, called a minicomputer, become popular due to its low cost.
- Used to serve small and multi-user business environments.
- Consist of one computer console and several user terminals.
(3) Microcomputer: - In 1970s, microprocessors were used to build single-user PCs.
- The 1st generation of microprocessors was called 4004. It had 2250 transistors, 4-bit internal
registers, and a 4-bit external data bus and operated at 0.108 MHz. Used in Calculators.
- With the use of Local Area Network (LAN) and File-server (extends computational power and
system resources to clients), PCs are currently preferred over minicomputers.
(4) Micro-controllers: - The non-reprogrammable or dedicated-use microprocessors are called
embedded microprocessors or microcontrollers. (Like a PC on chip (System on chip for dedicated
function). Example: Data controller (hard disk) and event controller (elevator)……
4004 ➔ 8008
(5) Super-computers: In 1976, Cray-1, the 1st super-computer was built using ECL circuits. The
processing speed was 130 MFLOPS.
(6) RISC Processors: -In early 1980, reduces instruction set computers were designed
- required fewer processor registers, clock cycles, and addressing modes compared to CISC
processor (complex instruction set) computers
1
General Architecture of Microcomputer (PC): Operate in real-address mode (chip functions
like 8086) or Protected address mode (multi-program environment)
The microcomputer is an OPEN system:
- Microprocessor Unit: VLSI
- Input Unit
- Output unit
- Memory Unit
- Primary ➔ Temporary
- ROM ➔ EPROM, FLASH
- RAM ➔ SRAM, DRAM
- Secondary ➔ Permanent
- Floppy ➔
- Hard Disk ➔
- CD ➔
- DVD ➔
> 3 Million Transistors
8086 Microprocessor: - Invented in 1978 by Intel Corp.
- 16-bit internal registers
- 16-bit Data Bus
- 20-bit address bus
- support 1MB memory (8-bit)
- processing speed 4.77 MHz
- made of 29000 transistors
8088 Microprocessor: - Invented in 1979 by Intel Corp.
- 16-bit internal registers
- 8-bit Data Bus
- The remaining specifications are the same with 8086
Although 8088 processors are less efficient but also required a less expensive memory module
(one 8-bit bank) compared to 8086 (two 8-bit memory banks to store 16-bit data).
Popular Microprocessor Architectures:
Harvard architecture (AVR) Princeton/Neumann architecture
Instruction
Data Mermory
Memory
Mermory
Address
Address
Instruction
Princeton
Instruction
Harvard
Architecture Architecture
Data
Data
and
Control
and
Control
Output Arithmetic Control
Output Arithmetic Control Control
Control Input Logic Unit
Input Logic Unit
Clock
Clock Status
Status
2
Internal Architecture of 8088/8086 Microprocessor: Employ simultaneous operation
BIU: Instruction and data fetch and control
EU: Decode, Execute data/inst; flag control
Number systems: Bit (One Binary digit), Byte (Consist of Eight Bits), Word (two Bytes) and
Double-Word (Consist of two Words)
MSB LSB
2FH = 00101111B = 47D Addition Substation
0–0=0 0+0=0
MS LS
0 – 1 = -1 (with borrow) 0+1=1
nibble nibble
1–0=1 1+0=1
1–1=0 1 + 1 = 10
(the 1 is carried)
Dec. ➔ Bin. Operation Quotient Remainder
Example 3: 6D 2D 3D 0 ➔ LSB
Convert 6D into Binary number 3D 2D 1D 1
Thus, 6D = 110B
1D 2D 0D 1 ➔ MSB
Binary Decimal Hexadecimal
(base 2) (base 10D) (base 16D or 10H)
0000B 0D 0H
0001B 1D 1H
0010B 2D 2H
3
0011B 3D 3H
0100B 4D 4H
0101B 5D 5H
0110B 6D 6H
0111B 7D 7H
1000B 8D 8H
1001B 9D 9H
1010B 10 D AH
1011B 11 D BH
1100B 12 D CH
1101B 13 D DH
1110B 14 D EH
1111B 15 D FH
10000B 16 D 10 H
Software Model of 8088/8086: Operation of the microprocessor from a software point of view
Instruction Pointer 64 K byte (FFFFH) of
I/O location
Segment Registers
Data Registers
Stack Pointer
and
Index Registers
Status Register
For FLAGS
16 Bit Internal One Million (mega)
Registers
8-Bit Storage 4
FFFFFH=1MByte
Data Organization in Main Memory: 8088/8086 Supports 1 MByte of Main Memory.
- Each Byte/Word of stored data is pointed by a
20-bit long physical address (PA).
- The 1 MByte memory location is divided into
16d (10H) 64 Kbyte Segments as 8086/8088
can access only four segments at any time.
(a) Code Segment (stores program codes),
(b) Data Segment (stores Operands/Data)
Bit/byte/word wide (c) Extra Segment (stores additional Data)
arrangement
(d) Stack Segment (stores temporary data)
- Each Segment has a base-address which is
pointed by the MPU-segment-register.
- Offset-address is pointed by pointers/index.
Popular 8-bit microcontrollers
• Motorola’s 6811: Princeton/Von-Neumann architecture
• Intel’s 8051: Harvard architecture
• ARM’s ARM2: RISC microcontroller that uses Princeton/Von-Neumann architecture. It is
mostly suitable for systems that require fast computing, large number of timer and ADC's
• Microchip’s PIC: Harvard architecture and mostly used in refrigerators and basic projects
• Amtel’s AVR: Harvard architecture, has on-chip flash memory (no EPROM) ➔ ARDUINO
Note that 8051 and PIC need multiple clock cycles per instruction. AVR and ARM execute
most instructions in a single clock cycle
5
8051 and PIC have limited stack space - limited to 128 bytes for the 8051, and as little as 8
words or less for PIC. Writing a C-compiler for these architectures must have been
challenging, and compiler choice is limited.
8051, AVR and ARM can directly address all available RAM. PIC can only directly address
256 bytes and must use bank switching to extend it at a cost of speed.
• Selection Criteria of microcontroller: Speed ; Packaging ; Power consumption ; The amount
of RAM and ROM on chip ; The number of I/O pins and the timer on chip ; How easy to
upgrade to higher-performance or lower power-consumption versions ; Cost per unit ;
Availability of software development tools, such as compilers, assemblers, and debuggers
8051 Intel Microcontroller: The 8051, 8052 (Improved) and 8031 (ROM less)
Timer: count pulses as counter, or generate pulses related time delay ➔ Chapter 9
Oscillator: needs an external quartz crystal clock generator.
Input/Output (I/O) ports: P0 = ‘A’/’D’ (ALE=0➔D), P2=‘A’, P3=control or interrupt signals
(when connected with external memory)
Interrupt: is an external or internal event that interrupts the MC to inform it that a device needs
its service ➔ Chapter 11
6
Application of micro-controller:
• Home Applications of microcontrollers
• Appliances, intercom, telephones, security systems, garage door openers, answering
machines, fax machines, home computers, TVs, cable TV tuner, VCR, camcorder, remote
controls, video games, cellular phones, musical instruments, sewing machines, lighting
control, paging, camera, pinball machines, toys, exercise equipment
• Office Applications of microcontrollers
• Telephones, computers, security systems, fax machines, microwave, copier, laser printer,
color printer, paging
• Car Applications of microcontrollers
• Trip computer, engine control, air bag, ABS, instrumentation, security system,
transmission control, entertainment, climate control, cellular phone, keyless entry
Many manufactures of general-purpose microprocessors have targeted their microprocessor for
the high-end of the embedded market. In high-performance microcontrollers, the trend is to
integrate more functions on the CPU chip and let designer decide which features they wants.
Various 8051 family of microcontrollers:
7
ATmega-328P (Arduino-uno) 8-bit AVR RISC micro-controller:
Frist two DEMO experiments use Arduino microcontroller and C-language (ICS-103
(http://www.kfupm.edu.sa/departments/ics/Pages/en/ICS-103-Computer-Programming-In-C.aspx). The
Arduino Uno board used in these experiments are shown in figure below. Note that it has 14 digital
input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz quartz crystal, a
USB connection, a power jack, and a reset button. It contains everything needed to support the
microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter
or battery to get started.
8
Popular C-instructions used in programming these experiments are:
- pinMode(2,INPUT);
- pinMode(3,OUTPUT)
- variable1 = digitalRead(2);
- digitalWrite(3,LOW);
- delay(250);
- Drtisl.begin(9600) ➔ Digital Communication baud rare
- Serial.print (variable2)
Lab instructor will also explain these instructions in detail.
EE-390: Microprocessor part: Assignment-0: SOLUTION
Question 1: Write two technical difference between 8051 and 8088 :
Sol: (1) 8051 has processor, RAM, ROM…. in one chip (system on chip,
PC on chip). 8086 is a processor IC and needs other IC
components (RAM, ROM etc) connected through a mother board
(2) Microcontroller 8051 has 8-bit registers,
Microprocessor 8086/8088 has 16-bit registers
9
Question 2: What is the RAM supported by 8051
: _00H to 7FH ➔ 128 RAM locations (8-bit each)_____
Question 3: Binary equivalent of number 700H is : 0111 0000 0000B
Question 4: Hexadecimal equivalent of number 01100010B is: _(c)_
a. 610H, (b) A4H, (c) 62H, (d) None of the above
Question 5: For the give binary data-word, ‘1111 0000 0101 1101B’,
find the Least significant bit (LSB) and the most
significant Byte: LSB=‘1B’ and M.S.Byte=11110000 B__
Question 6: What is the ROM supported by 8051
: _4 KByte __
Question 7: How many “Timers” are used by 8051
: _2_____
Question 8: How many input-output pins exists in 8051
10
: _32____
11