EE234 - Lec - 01
EE234 - Lec - 01
By
Dr. Han-Way Huang
02/25/2025 1
Textbook: “The Atmel AVR Microcontroller MEGA & XMEGA in Assembly and C”,
authored by
Dr. Han-Way Huang, Published by Cengage Learning.
Classroom: TE224
Software: Atmel Studio version 7. – get it from Microchip website—
www.microchip.com
Homework: 6~7 assignments will be made
Exams: Two midterm exams and one final—date to be announced.
Grading: Homework: 20% Midterm: 40 %, Final 40%
Grade: A: 85%
B: 70%~84%
C: 60% ~ 69%
D: 50% ~ 59%
F: < 50%
02/25/2025 2
Introduction to Computer
machine instructions.
computer.
02/25/2025
to perform certain operation is called a program. 3
Introduction to Computer—(continued)
Memory
addressing mode)
architecture.
Architecture.
02/25/2025 Control 5
Memory (data and program)
Central processing
Control Arithmetic logic unit (CPU)
unit unit (ALU)
Input Output
02/25/2025 6
ALU
Instruction Data
Control unit
memory memory
I/O
Figure 1.2b Harvard architecture
02/25/2025 7
Information Units
Bit: 0 or 1 state (flip-flop)
Byte: 8 bits
Half word: 16 bits
Word: 32 bits
Long word: 64 bits
02/25/2025 8
Types of Computers
Mainframe computer
Minicomputer
Microcomputer
Personal Computer (PC)
Server
Supercomputer
02/25/2025 9
Mainframe Computer
Earliest computers are huge because they are made of
vacuum tubes.
Earliest computers are called mainframe computer due to
their size.
Very expensive, only large companies and organizations can
afford them.
Also used to distinguish high-end computer from less powerful
computers.
Has a lot of storage serving simultaneously many users
through terminal stations (display + keyboard).
02/25/2025 10
Mainframe Computer—(continued)
IBM 360 was introduced in 1965—user can start small and
upgrade later on.
IBM 360 computers are software compatible and can run the
same program disregarding their memory size and
performance.
In 1970, IBM 370 was introduced to replace IBM360 family.
In 1990, IBM 390 was introduced as the successor to IBM370.
The successor of the IBM 390 is System z, which was
introduced in 2000.
These computers can run the same software.
02/25/2025 11
Features of Mainframe Computers
High reliability and security through redundant design
Extensive input and output devices
Software compatibility—this guarantees the success of the
product.
High utilization rate supports massive throughput
Repairs and hardware upgrade can take place during normal
operation.
02/25/2025 12
Minicomputers
Introduced in 1960s and are much smaller than mainframe
computers.
Smaller by using transistors, magnetic core memory, and
integrated circuits
Early minicomputers took up one or a few cabinets of a larger
refrigerator.
The first successful minicomputer was introduced in 1964 by
DEC.
PDP-8, PDP-11, VAX-11/780, VAX-11/750 from DEC.
Major minicomputer vendors include Apollo computer, Data
02/25/2025 13
Minicomputers—(continued)
Starting from late 1960s, the 7400 logic ICs were used in
minicomputers.
74181 (4-bit ALU)
In 1980s, VLSI chips were used to construct minicomputers.
In 1980s, many minicomputers became 32-bit and were called
superminicomputers.
DEC is the most successful minicomputer company.
Minicomputer vendors were forced out of business by PCs
and servers.
02/25/2025 14
Microprocessor
A processor implemented on a single integrated circuit.
An integrated circuit is called a chip.
Has been used in any product requiring some intelligence.
Products designed using the microprocessor still require
memory, I/O interface circuits, and some glue logic and hence
cannot be made as small as possible.
02/25/2025 15
Microcontroller
A microcontroller incorporates the processor, memory, and
multiple peripheral modules into a single VLSI chip.
Memory, peripherals such as timer, GPIO I/O port, serial
communication interfaces, LCD controller, real-time-clock
(RTC), A/D converter, D/A converter, and so on are often
included in a microcontroller.
Microcontrollers have been used in every application that
requires a certain amount of intelligence.
02/25/2025 16
Embedded System
A special-purpose computer system designed to perform a few
dedicated functions.
An embedded system performs one or a few predefined tasks
and often includes task-specific hardware and mechanical
parts not found in a general-purpose computer.
02/25/2025 17
Microcomputers
A computer that uses a microprocessor as its CPU.
A microcomputer may serve a single user or multiple
users at the same time.
The first batch of microcomputers appeared in 1970s.
The earliest microcomputer came with very little memory
(256 bytes) and no I/O devices other than LEDs and switches.
In the late-1970s, microcomputers grew faster and cheaper.
Cromemco and Altos are among the most successful
microcomputer companies.
02/25/2025 18
Microcomputers—(continued)
Used to run business applications such as accounting,
database management, spreadsheet, and word processing.
Some microcomputers are single-user, others are multi-user.
Apple II was introduced in 1977 and became one of the most
successful computers in the world (based on 8-bit Rockwell
6502 microprocessor).
Apple II has many clones due to its great success.
Macintosh (MAC), introduced in 1984, was the successor of
Apple II.
02/25/2025 19
Microcomputers—(continued)
MAC has gone through several generations and has used
several microprocessors: Motorola 68000, Motorola 68030,
IBM Power PC, Intel Pentium, and ARM microprocessor.
MAC has several versions: desktop, laptop, and all in one.
02/25/2025 20
Microcomputers—(continued)
IBM PC was introduced in 1981 and used the Intel 8088 (8-
bit, 8/16-bit microprocessor) as its CPU.
IBM PC used off-the-shelf components, OS from Microsoft.
IBM PC was a big success and has many clones—at the end,
there are more IBM PC clones than the original IBM PC.
The word PC has been used to refer to the IBM PC compatible.
IBM sold its PC business to Lenovo in December 2004.
02/25/2025 21
Supercomputers
A computer with speed of computation at the frontline.
The first supercomputer was designed by Seymour Cray
and manufactured by CDC in 1960s.
Seymour left CDC to form his own company, Cray
Research, in 1972.
Cray took over the supercomputer market with his new
design, holding the top spot for about five years until
1990.
In the 1990s, a large number of smaller competitors entered
the supercomputer market but disappeared quickly.
02/25/2025 22
Applications of Supercomputers
Computation intensive applications
Weather forecast
Climate research
Quantum mechanics physics
Molecular modeling—structures, properties of chemical
compounds, macromolecules, polymers, and crystals.
Cryptanalysis
Weapon simulations
AI computations
02/25/2025 23
Methods to Make Supercomputer Fast
Implement pipelining to the ALU.
Issue multiple instructions in each clock cycle (superscalar).
Use the fastest microprocessors when possible—not necessary
any more.
Implement instructions that has SIMD capability.
Use clusters of multi-processors—each cluster has from 16 to
64 commercial microprocessors. (Intel Zeon)
Use fast interconnection network to connect clusters of
processors.
Use I/O systems that support high bandwidth.
02/25/2025 24
The Processor
Consists of datapath and control
Datapath consists of ALU and registers
Arithmetic Logic Unit: performs arithmetic & logic
operations
Registers: used as operands of instructions. One of the
registers is the program counter (PC), which keeps track of
the address of the next instruction to be executed.
Control unit: fetch the instruction, decode instruction and
generate signals to control the ALU and other parts of the
02/25/2025
computer. 25
CPU Registers
Very close to ALU—can speed up ALU operations
CPU has a small number of registers—from 8 to 256. (SPARC
from Oracle)
Some processor adds a special register called accumulator
—most ALU instructions include the accumulator as an
operand.
When there are many registers, computer designer allows
any register to be used as any operand of most arithmetic
and logic instructions—this is called orthogonal.
02/25/2025 26
Control Unit
Fetches an instruction, decodes it, and generates a sequence
of control signals, which activate appropriate parts of the
computer to perform the operation specified by the
instruction.
The register PC holds the address of the next instruction to be
fetched.
After the processor fetches an instruction from memory, the
PC is incremented by the size of the instruction.
A clock signal is used to control the pace of instruction
execution.
02/25/2025 27
Language Issue
Computers are designed to execute machine
instructions only.
Writing programs using machine instructions is extremely
inefficient.
The first improvement is representing the machine
instruction using mnemonic names—this is assembly
instruction.
Program written in assembly language must be translated to
machine language before it can be executed.
Programming in assembly language is still very difficult.
02/25/2025 28
Language Issue—(continued)
Some programs written in high-level language are
interpreted. The interpreter performs the operations
specified by the program statements without translating
them into machine instructions.
Table 1.1A sample of AVR machine and assembly instructions
Machine instruction Assembly instruction operation
0000 1100 00010000 add r1,r0 r1¬ r1+r0
0010 0000 0010 0011 and r2,r3 r2 ¬ r2 AND r3
0010 10110000 0010 or r16,r18 r16 ¬ r16 OR r18
10010100 0000 1010 dec r0 r0 ¬ r0 – 1
0010 1100 0100 1010 mov r4,r10 r4 ¬ r10
00011010 1010 0000 sub r10,r16 r10 ¬ r10 – r16
02/25/2025 29