16.317: Microprocessor System Design I

Slides:



Advertisements
Similar presentations
SOFTWARE ARCHITECTURE OF THE 8088 AND 8086 MICROPROCESSORS
Advertisements

Department of Computer Science and Software Engineering
80x86 Instruction Set Dr. Qiang Lin.
Gursharan Singh Tatla 21-Nov-20101www.eazynotes.com.
8086 : INSTRUCTION SET By, Pramod Sunagar Assistant Professor
9-1 ECE 424 Design of Microprocessor-Based Systems Haibo Wang ECE Department Southern Illinois University Carbondale, IL x86 Instructions Part.
ICS312 Set 3 Pentium Registers. Intel 8086 Family of Microprocessors All of the Intel chips from the 8086 to the latest pentium, have similar architectures.
Microcomputer & Interfacing Lecture 3
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 2: 80386DX Internal Architecture & Data Organization.
Microprocessor Systems Design I
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2013 Lecture 4: 80386DX memory, addressing.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Spring 2014 Lecture 4: x86 memory.
Gursharan Singh Tatla Block Diagram of Intel 8086 Gursharan Singh Tatla 19-Apr-17.
Unit-1 PREPARED BY: PROF. HARISH I RATHOD COMPUTER ENGINEERING DEPARTMENT GUJARAT POWER ENGINEERING & RESEARCH INSTITUTE Advance Processor.
CEG 320/520: Computer Organization and Assembly Language ProgrammingIntel Assembly 1 Intel IA-32 vs Motorola
An Introduction to 8086 Microprocessor.
1 Fundamental of Computer Suthida Chaichomchuen : SCC
MOHD. YAMANI IDRIS/ NOORZAILY MOHAMED NOOR1 Addressing Mode.
Types of Registers (8086 Microprocessor Based)
The x86 Architecture Lecture 15 Fri, Mar 4, 2005.
Computer Architecture and Operating Systems CS 3230 :Assembly Section Lecture 4 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
3.4 Addressing modes Specify the operand to be used. To generate an address, a segment register is used also. Immediate addressing: the operand is a number.
Introduction to Microprocessors Chapter 3. Programming Model (8086)  Shows the various internal registers that are accessible to the programmer.
Microprocessor & Assembly Language Arithmetic and logical Instructions.
Assembly Language Data Movement Instructions. MOV Instruction Move source operand to destination mov destination, source The source and destination are.
Intel 8086 MICROPROCESSOR ARCHITECTURE
Intel MP Organization. Registers - storage locations found inside the processor for temporary storage of data 1- Data Registers (16-bit) AX, BX, CX, DX.
SOFTWARE ARCHITECTURE OF THE 8088 AND 8086 MICROPROCESSORS
I NTEL 8086 M icroprocessor بسم الله الرحمن الرحيم 1.
Chapter 12 Processor Structure and Function. Central Processing Unit CPU architecture, Register organization, Instruction formats and addressing modes(Intel.
Microprocessor Systems Design I
Computer Architecture and Assembly Language
Chapter Nov-2010
Data Transfers, Addressing, and Arithmetic
Microprocessor Systems Design I
Microprocessor Systems Design I
Microprocessor Systems Design I
UNIT Architecture M.Brindha AP/EIE
Introduction to 8086 Microprocessor
Microprocessor Systems Design I
8086 Microprocessor.
Microprocessor Systems Design I
ADDRESSING MODES.
16.317: Microprocessor System Design I
Microprocessor Systems Design I
Microprocessor Systems Design I
Intel 8086 MICROPROCESSOR Architecture.
Basic Microprocessor Architecture
INSTRUCTION SET.
Assembly Language Programming Part 2
ADDRESSING MODES.
Intel 8088 (8086) Microprocessor Structure
Microcomputer & Interfacing Lecture 1
INSTRUCTION SET OF 8086 PAWAN KUMAR SINGH.
Symbolic Instruction and Addressing
X86’s instruction sets.
Introduction to Assembly Language
Intel 8088 (8086) Microprocessor Structure
CS-401 Computer Architecture & Assembly Language Programming
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Symbolic Instruction and Addressing
CS 301 Fall 2002 Computer Organization
Symbolic Instruction and Addressing
Lecture 06 Programming language.
Computer Architecture CST 250
EECE.3170 Microprocessor Systems Design I
Chapter 6 –Symbolic Instruction and Addressing
Chapter 8: Instruction Set 8086 CPU Architecture
Part I Data Representation and 8086 Microprocessors
Ch. 5 – Intel 8086 – study details from Yu & Marut
Presentation transcript:

16.317: Microprocessor System Design I 6/11/2018 16.317: Microprocessor System Design I Instructor: Dr. Michael Geiger Spring 2012 Lecture 13: Exam 1 Preview Chapter 2

Microprocessors I: Exam 1 Preview Lecture outline Announcements/reminders HW 2 solution to be posted later today Lab 1 report due 2/29 Must have work checked off Amanda’s OH: M/W 2:30-5, Tuesday 5-7 in Ball 407 Exam 1: Friday, 2/24 Today: Exam 1 Preview General exam info Topics covered Basic processor architecture/software model Data organization/alignment Data types Memory accesses Stack, I/O Assembly language 6/11/2018 Microprocessors I: Exam 1 Preview

Microprocessors I: Exam 1 Preview Exam 1 notes Allowed One 8.5” x 11” double-sided sheet of notes Calculator No other notes or electronic devices (phone, laptop, etc.) Exam will last 50 minutes Covers all lectures through last Friday You will not be tested on lecture 1 (basic intro) Material starts with processor architecture 6/11/2018 Microprocessors I: Exam 1 Preview

Review: Processor architecture 6/11/2018 Review: Processor architecture High level hardware view 80386: six functional units: Bus units Execution unit Segment unit Page unit Prefetch unit Decode unit 6/11/2018 Microprocessors I: Exam 1 Preview Chapter 2

Review: Software Model 6/11/2018 Review: Software Model Programmer’s understanding the operation of the microcomputer from a software point of view Elements of the software model How much data is available? # registers; size of address space Where is data stored? Registers Memory I/O address space How is data used? Data vs. addresses vs. flags Different data sizes, formats What operations can be performed? 6/11/2018 Microprocessors I: Exam 1 Preview Chapter 2

Microprocessors I: Exam 1 Preview 6/11/2018 Review: Data in memory Aligned data Words (16 bits) must start at even address Double words (32 bits) must start at address divisible by 4 Performance penalty for accessing unaligned data Multi-byte data stored using little endian format LSB has lowest address MSB has highest address 6/11/2018 Microprocessors I: Exam 1 Preview Chapter 2

Review: data types, segmentation, registers Byte/word/double word Signed/unsigned integers BCD ASCII characters Memory segmentation Segment registers (CS, SS, DS, ES, FS, GS) indicate start of 64KB segment Can change registers to switch segments Registers General purpose data: A, B, C, D Access as byte (AH/AL), word (AX), double word (EAX) Pointer: SP (ESP), BP (EBP) Index: SI (ESI), DI (EDI) Flags register: status flags, control flags 6/11/2018 Microprocessors I: Exam 1 Preview

Review: address calculations Logical vs. physical addresses (in 386) Logical address: base/offset register pair i.e. CS:IP, DS:SI, SS:SP Physical address: actual address in memory In 386, calculate by shifting base left by 4 bits, adding offset Example: CS = 0x1000 and IP = 0x1234  Physical addr. = 0x10000 + 0x1234 = 0x11234 Can have multiple logical addresses mapping to same physical address: aliases 6/11/2018 Microprocessors I: Exam 1 Preview

Microprocessors I: Exam 1 Preview Review: stack, I/O Stack Stores data related to function calls Saved processor state Return address Function variables Grows from high to low addresses Stack accesses Push  add data to stack, decrement SP Pop  remove data from stack, increment SP I/O address space Dedicated I/O in 386 Can access byte, word, or double word ports 6/11/2018 Microprocessors I: Exam 1 Preview

Review: Addressing modes Addressing modes: how data is specified Register: MOV AX, BX Immediate: MOV AX, 1234H Memory Direct: MOV AX, [1010H] EA = 1010H Register indirect: MOV AX, [SI] EA = contents of SI Based: MOV AX, [BX + 1234H] EA = (contents of BX) + 1234H Indexed: MOV AX, [SI + 1234H] EA = (contents of SI) + 1234H Based-indexed: MOV AX, [BX + SI + 1234H] EA = (contents of BX) + (contents of SI) + 1234H 6/11/2018 Microprocessors I: Exam 1 Preview

Review: instruction classes Assembly/machine code: several different instruction classes Data Transfer instructions Input/output instructions Arithmetic instructions Logic instructions String Instructions Control transfer instructions Processor control 6/11/2018 Microprocessors I: Exam 1 Preview

Review: Data transfer instructions MOV: basic data transfer Can use registers, memory, immediates If segment reg. is destination, source must be register MOVSX/MOVZX Sign-extend or zero-extend register/memory value Moving byte from memory: BYTE POINTER XCHG Exchange contents of source, dest LEA: load effective address Calculate EA/store in register Load full pointer (LDS/LES/LFS/LGS/LSS) Load dest & segment register from memory 6/11/2018 Microprocessors I: Exam 1 Preview

Microprocessors I: Exam 1 Preview Review: Flags Arithmetic instructions set flags Carry flag (CF): carry out of MSB Auxiliary carry flag (AF): carry out from lowest nibble (4 bit quantity) to next-lowest nibble Used with BCD, ASCII math—we won’t cover Sign flag (SF): matches sign bit (MSB) of result Zero flag (ZF): flag is 1 if result is 0 Parity flag (PF): flag is 1 if result has even parity Overflow flag (OF): flag is 1 if result out of range 6/11/2018 Microprocessors I: Exam 1 Preview

Microprocessors I: Exam 1 Preview Review: add/subtract Addition instructions ADD AX,BX  AX = AX + BX ADC AX,BX  AX = AX + BX + CF INC AX  AX = AX + 1 Subtraction instructions SUB AX,BX  AX = AX – BX SBB AX,BX  AX = AX – BX – CF DEC AX  AX = AX – 1 NEG AX  AX = -AX = 0 - AX 6/11/2018 Microprocessors I: Exam 1 Preview

Review: multiply/divide/logical Multiplication instructions MUL (unsigned), IMUL (signed) Result uses 2x bits of source Source usually implied (AL/AX/EAX) Division instructions DIV (unsigned), IDIV (signed) Implied source (AX, (DX,AX), (EDX,EAX)) 2x bits of specified source Quotient/remainder split across result Convert instructions (CBW, CWD, CWDE, CDQ) Logical instructions (AND/OR/XOR/NOT) 6/11/2018 Microprocessors I: Exam 1 Preview

Review: shift instructions Basic shift instructions Move value by <amt> bits; add 0s to left or right CF = last bit shifted out SHL <src>, <amt>: Move <src> to left SAL exactly the same SHR <src>, <amt>: Move <src> to right Arithmetic right shift Move value right by <amt> bits Copy sign bit to fill remaining bits SAR <src>, <amt> 6/11/2018 Microprocessors I: Exam 1 Preview

Review: rotate instructions Rotate instructions: bits that are shifted out one side are shifted back in other side ROL <src>, <amt> or ROR <src>, <amt> CF = last bit rotated Rotate through carry instructions CF acts as “extra” bit that is part of value being rotated RCL <src>, <amt> 6/11/2018 Microprocessors I: Exam 1 Preview

Microprocessors I: Exam 1 Preview Next time Exam 1 Remember, only 1 note sheet, calculator (no cell phones as calculators) Please be on time! 6/11/2018 Microprocessors I: Exam 1 Preview