Vous êtes sur la page 1sur 15

Microprocessor &

Computer Architecture
L02: ISA Vs Microarchitecture
Dr. M Faisal Iqbal
What is a computer?
• Computer is a device that performs computations according to the
instructions
• Three key components
• Computation
• Communication
Processor
• Storage
control Memory
(sequencing) (program I/O
and data)
ALU
(Datapath)
Von Neuman Model of a Computer
• Also called Princeton architecture. Has two key
properties
• Stored Program
• Instructions stored in a linear memory array
• Memory is unified between instructions and memory
• i.e., there is a single bus which connects memory to processor
• Sequential instruction Processing
• One instruction is processed (fetched, executed, and
completed at a time)
• Program counter identifies the current instruction being
executed
• PC is advanced sequentially (except for control transfer
instructions)
The Harvard Architecture
• Essentially similar to Von neuman architecture except one key
difference
• The program and data are stored in different spaces
• There are two connections between processor and memory i.e., one for
program memory and one for data memory
• Many microcontrollers follow Harvard architecture
• E.g., 8051, Atmel AVR etc
Microprocessor Vs Microcontroller
Atmega32 Microcontroller
• 40-pins chip,
• 32-pins for four digital I/O ports
• PORTA, PORTB, PORTC and PORTD
• Port A can be used as either DIGITAL I/O Lines or ADC
• 8-bit single chip microcontroller
• Harvard Architecture
• 4.5V-5.5V operating voltage
Levels of Transformation
ISA vs Microarchitecture
• ISA: What operations the computer can perform and the format of
the language understood by the computer
• Agreed upon interface (contract) between software and hardware
• What software writer needs to know to write and debug programs
• No guarantees about the implementation details, which operations are slow,
which are fast, which are more power hungry

• Microarchitecture
• Specific implementation of an ISA
• Not visible to the software
ISA vs Microarchitecture
• What is part of ISA vs Microarchitecture
• Gas pedal: interface for acceleration
• Internals of the engine implement acceleration
• Implementation (uarch) can be various as long as it satisfies the
specifications (ISA)
• Add instruction and its implementation
• X86 has many different implementations 286, 386, 486, Pentium pro, Pentium
4, core etc
Instruction Set Architecture
• ISA: Contract between SW and HW
• Components of ISA
• Instructions
• Memory
• Address space, addressability, endian-ness, alignment
• Virtual memory management e.g., page size
• Call, Interrupt/exception handling
• Access control, priority privilege
• I/O: memory mapped vs instructions
• Thermal management
• Multithreading, multiprocessor support
Components of ISA: Instructions
• Instruction types and formats
• Opcodes
• Addressing modes
• Data types
• Number of registers, size of registers
• Condition codes
Components of ISA: Memory
• Address Space: Size of memory
• In order to access memory, we supply address to denote each location
• Location 1 = address 0
• Last location = address 2K - 1
• Addressability: Groups of bits in memory with distinct address
• Successive addresses are usually assigned to successive bytes. This is called byte
addressability
• If every bit in memory is assigned separate address. This is bit-addressability
• Endian-ness: Which byte of word is stored at the lower address
• Little-endian: Lower address is used for least significant byte
• Big-endian: Lower address is used for most significant byte
• Alignment:
• Should a 16 bit address be stored at even addresses only? 32 bit words at multiple of 4
addresses?
Endian-ness Example
• Hexadecimal number 0x348fd6a0 needs to be stored in memory
• Big-Endian: MSB is stored at the lowest address
x X+1 X+2 X+3

• Little xEndian: LSB isX+1


stored at the X+2
lowest address
X+3
What is part of microarchitecture?
• Microarchitecture: Specific implementation of an ISA. Anything done in
hardware without exposure to software
• Pipelining
• In order-vs out of order execution
• Memory access scheduling policy
• Speculative execution
• Superscalar processing
• Caching
• Clock gating
• Voltage/frequency scaling
• Error detection etc
Property of ISA vs MicroArchitecure?
• Add instruction’s opcode
• Number of registers
• Number of ports to register file
• Number of cycles to execute mul instruction
• Whether or not the machine employs pipelined execution

Vous aimerez peut-être aussi