Sie sind auf Seite 1von 11

S O R I N G

E S F A C
RO C E R
O P I N T
R
IC G AN 2 D
6 3 M
C 2 MIN t ur e
ES GRAM Lec
PRO

10-01-2011 ES C263 Microprocessor Programming and Interfacing 1


Last Lecture

Evolution of Computers and Microprocessors

Moore's Law

10-01-2011 ES C263 Microprocessor Programming and Interfacing 2


Today's Lecture

Instruction Set Architecture

Overview of a Microprocessor

Design Example

10-01-2011 ES C263 Microprocessor Programming and Interfacing 3


The Personal Computer
Speaker

Processor
Timer (8086 Coprocessor
logic through (8087 through System 640KB
(8253) Pentium 80387 ROM DRAM

System bus (data, address & control signals)

Keyboard DMA Expansion Interrupt


logic (8253) Controller logic logic (8259)
(8237)
Video card
Disk controller
Serial port
10-01-2011
Keyboard ES C263 Microprocessor
... Programming and Interfacing 4
Extension slots
Instruction Set
Architecture (ISA)

ISA refers to the actual set of programmer visible
instruction set.

Serves as a boundary between the hardware and
software.

Seven dimensions of ISA

Class of ISA: general purpose register
architectures, where operands are either
memory or register locations.

10-01-2011 ES C263 Microprocessor Programming and Interfacing 5


• Memory Addressing: Byte addressing to access
memory locations—aligned or un-aligned.
• Addressing Modes: specify the address of
register, constant operands and memory
objects-- register, immediate, displacement.

10-01-2011 ES C263 Microprocessor Programming and Interfacing 6


• Types and sizes of operands: supports operand sizes of 8
bit, 16 bit, 32 bit.
• Operations: data transfer, arithmetic, logic, control.
• Control flow instructions: support conditonal branches,
unconditional jumps, procedure calls and returns.
• Encoding an ISA: fixed length or variable length.

10-01-2011 ES C263 Microprocessor Programming and Interfacing 7


10-01-2011 ES C263 Microprocessor Programming and Interfacing 8
Memory Overview

10-01-2011 ES C263 Microprocessor Programming and Interfacing 9


RAM

10-01-2011 ES C263 Microprocessor Programming and Interfacing 10


011111110100010101001100010001100000000100000010000000010000000000
Evolution of 000000000000000000000000000000000000000000000000000000000000000000
000000000010000000000000010000000000000000000000000000000010000000
000000000000000000000000000000000000000000000000000000000000000000
programming: 000000000000010100001000000000000000000000000000000000000000000001
101000000000000000000000000000000000000000000001010000000000000001
machine language 000000000000000000100000000001011100111001101101000011100110111010
001110010011101000110000101100010000000000010111001110100011001010
111100001110100000000000010111001110010011011110110010001100001011
101000110000100000000001011100111001101111001011011010111010001100
001011000100000000000101110011100110111010001110010011101000110000
101100010000000000010111001110010011001010110110001100001001011100
111010001100101011110000111010000000000001011100110001101101111011
011010110110101100101011011100111010000000000000000000000000000000
000100111011110001110111111100100000001001100000000000000000000000
late 40’s / early 50’s: 010010000000100100110000000000000000101010000000000000000000000001
001001000010010101000000000000001000000000000000000000000000000000
000010000000000000000000000001010000000010000000000000000100010010
programmers coded directly 000000100000000000000010000000101010000000000000000000000001001001
000010010101000000000000001000000000000000000000000000000000000010
in machine language 000000000000000000000001011000000010000000000000001000010000000000
000000000001000000001000000000000000000000000100000011100011111100
000000010001000000111101000000000000000000000000000000000000000000
000000000010010000110010101101100011011000110111101110111011011110
111001001101100011001000010000100000000000000000000000000000000000
000000000000000000000000000010000000000000000000000000000000000000
 each machine had its 000000000000000000000000000000001000000000011111111111100010000000
000000000000000000000000100000000000000000000000000000000000000000
own set of instructions 000000000000000000000000000010000000000111111111111000100000000000
000000000000000000000000000000000000000000000000000000000000000000
(sequences of 0's & 1's) 000000000000000000000000011000000000000000000000011000000000000000
000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000100000000000000000000000000000
corresponding to its 000000000000000000000000000000000000000000000000000000000000000000
000000001100000000000000000000001000000000000000000000000000011010
underlying hardware 000000000000000000000000000000000000000000000000000000000000000000
010000000000000000000000000000000000000000000000000000001000100000
000000000000000000000000000000000000000000000000000000000000000100
000000000000000000000000000000000000000000000000000100011000000000
000000000000000000000000000000000000000000000000000000000001000000
000000000000000000000000000000000000000000000001011000000000000000
 extremely tedious, 000000000000000000000000000000000000000000000000000000010000000000
000000000000000000000000000000000000000000011010010000000000000000
error-prone 000000000000000000000000000000000000000001001000000100100000000000

10-01-2011 ES C263 Microprocessor Programming and Interfacing 11

Das könnte Ihnen auch gefallen