Appendix A: The ISA of a Small 8-bit Processor

Size: px
Start display at page:

Download "Appendix A: The ISA of a Small 8-bit Processor"

Transcription

1 Computer Architecture in VHDL 1 Appendix A: The ISA of a Small 8-bit Processor Introduction to Small8 An Instruction Set Processor (ISP) is characterized by its instruction set, address modes (means to access data), programming model, and the presence of an instruction fetch-decode-execute sequence. These items are called the Instruction Set Architecture (ISA) of the processor. We wish to define a small 8-bit ISA that may be synthesized on field programmable gate arrays (FPGAs) accessible to the student. Our definition may be synthesized on many FPGAs or even combinations of CPLDs and memory. Therefore, the ISA should be viewed as an abstract specification independent of implementation. Its effectiveness may be judged by writing a simulator program in VHDL or C and running programs using the ISA on the simulator. Programming constructs that are difficult, or impossible, to code in using the ISA may be noted and improved by making changes in the ISA itself. The testing of the quality and efficiency of the ISA is independent of the implementation of the ISA in a target device. Once the quality of the ISA is assessed, the designer can consider the implementation step. Our choice of a moderate sized FPGA has placed some constraints on the number and type of instructions and data types. These constraints have already been anticipated in the selection of the instructions. The number of logical elements in the FPGA affects the choice of instructions, the number of registers and data paths, and the complexity of control sequences. The selected FPGA is the Altera 10K20. Its logical elements consist of 16-bit look-up tables that are sufficient to produce any logical function of four 1-bit variables. A large number of the logic elements are present. The device also contains several memory structures that can serve as random-access (RAM) or read-only (ROM) memory. The basic unit that will be used in this design contains bit words. Small8 will be specified in stages to exploit the structure of the instruction set. A very basic machine will be specified first. It will have a very basic set of registers, i.e., the accumulator and the program counter. A second data register will be included to serve as a staging area for data from memory. The accumulator and temporary register are 8-bits wide while the program counter is 16-bits wide. A simple instruction set that allows data movement, some arithmetic and logical operations, and decision making will be included. A small set of address modes sufficient for simple programming tasks will also be included in the basic design. Extensions to the basic design will be specified. These include the addition of an index register to support arrays. The index register will only be 8-bits wide requiring that its design must be carefully done to increase its usefulness. A stack pointer will then be included to allow a subroutine calling mechanism. The stack pointer will also be an 8-bit register for space reasons. This will force the stack to occupy a particular part of the memory map. The choice must be seriously considered in order not to reduce the resources of other operations. To understand the trade-offs made in order that the design may be fitted in the FPGA, a simulator should be written in a suitable programming language, e.g., C or the high-level component of VHDL. The effects of the design trade-offs can be studied before the hardware commitment is made. Tests consist of writing programs using the ISA. Running the programs using the simulator to evaluate the instruction set behavior. As new instructions and registers are added, the simulator is modified and new test programs are written and run. Then the older test programs are also run to see that nothing has been broken with the addition of the new features. Once a satisfactory compromise has been reached, hardware implementation can proceed. If an impasse is reached in which certain resources or other barrier is reached in the hardware implementation phase, changes in the ISA that are dictated at that level should be tested using the simulator to determine their effects. The development process is a series of loops that may reach clear back to the beginning specification of the instruction set. The Instruction Set and Address Modes of Small8 The Small8 instruction set, shown in Figure A-1, is derived from the Basic Instruction Set. The programming model is particularly simple. It consists of two 8-bit registers A and D. In order to support reasonably long programs the program address, and thus the program counter (PC), will be 16-bits long. The PC is used to point at the bytes of the instruction. The data type that the machine will directly handle will be an 8-bit signed or unsigned integer. Any larger data types will be handled under program control. The LOAD and STORE instructions have access to the memory. They move data between the two registers, between the instruction and the registers, and between memory and the registers. The Arithmetic, Shift, and Logical instructions may only operate on data in the A and/or D registers. An important task performed by a computer is that of decision making. In fact, without this capability, a machine is arguably not a computer. The decision making function is supported by instructions that test the various flags produced by the results of the instructions in the data movement and arithmetic/logical/shift sets. This informa-

2 Computer Architecture in VHDL 2 Data Movement: LOAD STORE RR and Absolute Address Modes Arithmetic, Logic, Shift: ADC AND LSL RR Address Mode SBC OR LSR RR Address Mode CLRC XOR RR Address Mode SETC RR Address Mode Decision Making Bcc (BPL, BMI, BNE, BEQ, BCS, BCC) Absolute Address Mode Subroutine Operations (optional) CALL RETURN Absolute/RR Address Mode Figure A-1: Small8 Instruction Set tion is carried in the Carry Out, Two s Complement Overflow, Sign, and Zero flags. The instructions test the flag and change the program counter to a new value if the test is true else program execution continues with the next instruction. A subroutine calling facility may be optionally included. It will need a place to store a return address. This may be a 16-bit register in the CPU which will allow only one level of subroutine nesting or a stack supported by a stack pointer register if more levels of nesting are needed. An address mode is a sequence of steps performed in an instruction that brings the data from its source to the operation element in the machine. Three address modes are supported in Small8. The Register-Register (RR) address mode assumes that the data operands are in the appropriate data registers (A and/or D) and any result will be returned to A, as the accumulator. The Immediate address mode (I) assumes that data is embedded in the instruction. In the Small8 machine, the data will be located in the second byte of the instruction. Only the Load instruction will be equipped with the immediate address mode. The Absolute Address mode (Abs) allows the instruction to point at data. This is one of the more flexible address modes. Since addresses in our machine are 16-bits long, the pointer in the instruction using the absolute address mode must also be 2 bytes long. A short version of this form may be used that requires only 1 byte in the instruction. The address space for the short version must be only 256 bytes long. This space may be located starting at location 0 in the memory map, or with the help of additional hardware it may be place anywhere in memory. We will define an indexed address mode (X) at this time. The address in memory is specified by the sum of the contents of an index register and a pointer embedded in the instruction. This address mode allows for arrays, among other data structures. If we desire our machine to have a stack, then stack addressing is related to indexed addressing without the inclusion of the pointer in the instruction. The stack pointer register (SP) contains the entire address into memory. Multi-byte data is stored in the memory of Small8 in little-endian order. The least significant byte (LSB) of the data is stored at an address below the most significant byte (MSB). This structure is illustrated in the left-hand part of Figure A-9. The Small8 Memory Map and Programming Model The memory map and programming model are shown in Figure A-2. While the address space defined by the PC is 2 16 bytes, the actual area implemented within the Embedded Array Blocks (EABs) of our FPGA will only be 512 bytes. External memory may be attached to fill out the address space. The machine will be forced to fetch its first instruction from address zero in response to its reset input. It is the programmer s responsibility to place the first instruction of the program at location zero in the memory. Two bytes of I/O will be defined for our machine. The memory-mapped output port at 0xFFFE will be attached to the 7-segment FLEX display digits. No hardware decoding will be used. One push button switch (FLEX_PB1) will be used as a reset signal to the processor. The other one (FLEX_PB2) will be attached to the input port bit 1 at location 0xFFFE. The keyboard clock and data inputs will be connected directly to the input port at location 0xFFFE, bits 7 and 0, respectively. No keyboard-reading state machine will be used. This task will be handled in Small8 software. The 8-bit FLEX_SWITCH will be connected to an input port at 0xFFFF. There is no physical or logical difference between the program and data spaces shown in the memory map in Figure A-2. In keeping with our small design, the two data registers (A and D in Figure A-2) are 8-bits wide. The program counter is 16-bits wide, but will be manipulated in 8-bit pieces since we will use an 8-bit ALU for all arithmetic operations. The status flags will occupy a 4-bit wide register. Their primary purpose is to serve as inputs to the con-

3 Computer Architecture in VHDL 3 0xFFFF 0xFFFE I/O 7 0 Accumulator A Data D 2 16 Program Counter PCH PCL 0x0200 Data 0x0100 Program 0x0000 Return Address Register Status Reg. C V Z S 15 0 RA or SP (optional) 15 0 Reset 8 bits Index X (16 or 8-bit, optional) Register Figure A-2: Memory Map and Programming Model for the Small8 Computer troller generating the behavior of Small8. If one desires to extend Small8 to have indexed addressing, subroutines with or without a stack, we have defined two optional registers to support the extensions. Notice that the SP and X registers may be either 16- or 8-bits wide. Machine Instruction Formats and Instruction Details The instruction formats and address modes are shown in Figure A-3. Three machine instruction formats are Arithmetic, Logic, Shift, and Return Instructions use the RR address mode which can be supported with the short format. They combine data in D with data in A. The result is returned to A Load Immediate uses the intermediate form since only a single byte of data is needed. Load, Store, Bcc, Call use the absolute address mode which is supported by the long format. The MSB and LSB of the address are in the second and third bytes of the instruction. 7 0 opcode opcode data opcode addr_low addr_high Figure A-3: Machine Instruction Format for the Small8 Computer ( little-endian order) used. The short form is appropriate for the Arithmetic/Shift/Logic instructions since they will only use the RR address mode. The arithmetic and logic instructions perform their operation on the A and D registers as shown in Register Transfer Language (RTL) form: A A.op. D The shift instructions cause the data in A to be shifted one bit to the left or right as appropriate. Set and Clear Carry operate directly on the C-bit in the Status Register. We can take advantage of the relationship between the ALU s function select input and the instruction types that belong to the Load and Arithmetic/Logic/Shift group. If the machine code format of the instruction s opcode is organized as shown in Figure A-5, we can use certain bit-fields in the opcode to directly drive the ALU s function select inputs at particularly points in the instruction. Load and Store move data between registers A and D, and between main memory and D. The RR form of LOAD and STORE perform the transfer operations A <- D and D <- A, respectively. Note that STORE is redundant with this address mode and may be omitted. The immediate address mode is implemented only for the LOAD instruction. Immediate data may be loaded

4 Computer Architecture in VHDL 4 LDAD: LDDA: only into the D register. The Sign and Zero flags should be set for all LOAD operations. Load: A D EA low mem[pc] EA high mem[pc] EA 256*EA high + EA low D mem[ea] Load: D A D mem[pc] Store: EA low mem[pc] EA high mem[pc] EA 256*EA high + EA low mem[ea] D Figure A-4: RTL for Load, Store, and Bcc Instructions with Absolute Addressing The long form of machine instruction is appropriate for many members of the instruction set. Each instruction using the absolute address mode needs a 16-bit address to complete its work. The high and low bytes must be fetched individually over the 8-bit data bus and assembled into a 16-bit number that will then be used as an address memory. Therefore, in our simple machine, we will give Load, Store, and the Branch instructions the ability to reference any location in memory by using the absolute address mode. If memory is considered to be a one-dimensional array of characters or bytes, then the following RTL describes the operations of these instructions. Notice the little-endian ordering of the addresses that follow the opcode of the instruction as shown in lines two and four of each of the examples in Figure A-4. If the programmer wishes to study the implementation of a subroutine mechanism in this ISA, then a single Return Address Register may be added to allow one level of subroutine nesting. The CALL and RETURN instructions transfer the PC contents to and from the Return Address Register in the course of their execution. A stack, while allowing much deeper nesting, is a more complex undertaking. The subroutine Return Address Register shown is converted into a Stack Pointer which is used as a pointer into a stack in the memory array. Instructions must be added to initialize the Stack Pointer. Once the stack mechanism is added, the designer usually supplies PUSH and POP instructions to allow the programmer to store data on the stack. While loops may be implemented using a combination of the SUB and Bcc instructions, one important use of loops is unavailable in the basic machine without an index register to point at the elements of an array. Multibyte numbers and strings exploit the features of an array. An index register, X, may be implemented. It can be built as an 8- or 16-bit register. This choice greatly influences how the register is used to assist addressing in the indexed-with-offset address mode, i.e., the locations of the index and the offset are affected by the length of the bit-fields that contain them. All combinations of 8- and 16-bit index registers and offset address fields in the instruction have been used by various CPU designers. The 8-bit opcode is sufficient to encode a large number of operation/address mode/register pointer combinations. Some organization of the bit-fields in the opcode can make the implementation of the underlying machine simpler. A possible organization is given in Figure A-5. As indicated in the opcode codings, there is plenty of room left to tell the underlying machine the desired instruction and operation. For three operand operations like addition, etc., the accumulator mode is followed with A being the implicit source of one operand and destination of the result. The operand register field is needed only to specify the other operand register. The LOAD instruction in RR form can share this coding. The address mode bit-field tells the underlying machine to fetch more information and how to use it for codes 1, 2, and 3. This simple machine will suffice for a thorough study of the operation of an Instruction Set Processor. Additions to its instruction set and address modes can be continued until the complexity of the current main-line 8-bit pro- Bcc: EA low mem[pc] EA high mem[pc] EA 256*EA high + EA low if (CC = True) then PC EA else end if

5 Computer Architecture in VHDL 5 Branch, Call, and Return address operand operation mode register address operation mode condition Figure A-5: Machine Opcode Format for the Small8 Computer Sample address mode coding: 0 - Register/Register 1 - Immediate 2 - Absolute 3 - Indexed with offset (optional) Sample operand register coding: 0 - A 1 - D 2 - X (optional) 3 - SP (optional) cessors are reached, e.g., the MC68HC11. Simulation Suggestions A small hint may be appropriate for handling the conversion between the unsigned char data being fetched from memory and the creation of an effective address. Consider the C program segment below. The variables used in unsigned char memory[0xffff]; unsigned char A, D; unsigned char tmp1, tmp2; unsigned pc; unsigned eff_addr; Figure A-6: A Simulation Hint ( little-endian ) tmp1 = memory[pc]; pc = pc + 1; tmp2 = memory[pc]; pc = pc + 1; eff_addr = (256 * tmp2) + tmp1; D = memory[(int)eff_addr]; this implementation of the load instruction are declared as unsigned. This makes the arithmetic operations performed in the simulation program identical to those performed in the actual hardware. In order to obscure the Endianess of the underlying host computer on which the simulator is running, we use an arithmetic operation to calculate the effective address. Unfortunately, this obscures the actual operation of our ISA that we are trying to show. Therefore, this example is simpler to understand, but it does not have the clarity that we will obtain elsewhere. The cast to int is required by C when using indices in arrays. Note in the C program segment on the right, the first 5 lines implement the immediate_address_mode function similar to the address mode function referred to in Figure A-4. The sixth line above is the execute function for the LOAD instruction.

6 Computer Architecture in VHDL 6 Figure A-7: The Instruction Set of Small8 Address Mode Instruction RR Imm Abs X Flags Data Movement LDA -- (A)* 84* 88* 8C -, -, z, s Load Accumulator (A) LDA 81 (D)* , -, z, s LDA 82 (X) , -, z, s LDA 83 (SP) , -, z, s STR -- (A)* -- F6* F7 -, -, -, - Store Accumulator (A) STR F1 (D)* , -, -, - STR F2 (X) , -, -, - STR F3 (SP) , -, -, - Arithmetic/Logic ADC 01* C c, v, z, s Add w/carry A SBC 11* C c, v, z, s Subtract w/carry from (A) CMP 91* C c, v, z, s Compare to (A) AND 21* C -, -, z, s AND to (A) OR 31* C -, -, z, s OR to (A) XOR 41* C -, -, z, s XOR to (A) Shift SLRA 50 c, v, z, s Shift (A) left arithmetic SLRL 51* -, -, z, s Shift (A) left logical SRRA 60 c, v, z, s Shift (A) right arithmetic SRRL 61* -, -, z, s Shift (A) right logical ROLRC 52* c, -, z, s Rotate (A) left through carry RORRC 62* c, -, z, s Rotate (A)right through carry Branching BCC B0* B8 -, -, -, - Branch on Carry Clear BCS B1* B9 -, -, -, - Branch on Carry Set BEQ B2* BA -, -, -, - Branch on Zero Set BMI B3* BB -, -, -, - Branch on Sign Set BNE B4* BC -, -, -, - Branch on Zero Clear BPL B5* BD -, -, -, - Branch on Sign Clear BVC B6* BE -, -, -, - Branch on V Clear BVS B7* BF -, -, -, - Branch on V Set Subroutines CALLCC C0 C8 -, -, -, - Call on Carry Clear CALLCS C1 C9 -, -, -, - Call on Carry Set CALLEQ C2 CA -, -, -, - Call on Carry Clear CALLMI C3 CB -, -, -, - Call on Carry Clear CALLNE C4 CC -, -, -, - Call on Carry Clear CALLPL C5 CD -, -, -, - Call on Carry Clear CALLVC C6 CE -, -, -, - Call on Carry Clear CALLVs C7 CF -, -, -, - Call on Carry Clear RETCC D , -, -, - Return on Carry Clear RETCS D , -, -, - Return on Carry Clear RETEQ D , -, -, - Return on Carry Clear RETMI D , -, -, - Return on Carry Clear RETNE D , -, -, - Return on Carry Clear RETPL D , -, -, - Return on Carry Clear RETVC D , -, -, - Return on Carry Clear RETVs D , -, -, - Return on Carry Clear Miscellaneous SETC F8* c, -, -, - Set Carry CLRC F9* c, -, -, - Clear Carry INCA FA* -, -, z, s Increment (A) DECA FB* -, -, z, s Decrement (A) INCX FC -, -, z, s Increment (X) DECX FD -, -, z, s Decrement (X) GFO FF* -, -, -, - Terminate simulation

7 Computer Architecture in VHDL 7 Figure A-8: Address Modes and Machine Instruction Format for Small8 Address Modes Register/Register: Immediate: Absolute: Indexed_with_Offset: R1 <- R1.op. R2 R1 <- R1.op. Memory[PC] R1 <- R1.op. Memory[Memory[PC+1] + (Memory[PC]<<8)] R1 <- R1.op. Memory[(Memory[PC+1] + (Memory[PC]<<8)) + (X)] Instruction Register (Opcode) Format formany Instructions Instruction format for Data Movement and Arith/Logic Instructions operation addmode opreg Instruction Format for Branch, Call, and Return Instructions operation addmode cc Figure A-9: Memory Map and Programming Model 0xFFFF 0xFFFE I/O 7 0 Accumulator A Data D higher address lower address MSB LSB Little Endian Data Storage 0x0200 Data 0x0100 Program 0x0000 Reset 8 bits 2 16 Program Counter Return Address Register Index Register PCH PCL Status Reg. C V Z S 15 0 RA or SP (optional) 15 0 X (16 or 8-bit, optional)

8 Computer Architecture in VHDL 8 Figure A-10: Machine Instruction Formats Arithmetic, Logic, Shift, and Return Instructions use the RR address mode which can be supported with the short format. They combine data in D with data in A. The result is returned to A Load Immediate uses the intermediate form since only a single byte of data is needed. Load, Store, Bcc, Call use the absolute address mode which is supported by the long format. The MSB and LSB of the address are in the second and third bytes of the instruction. 7 0 opcode opcode data opcode addr_lsb addr_msb

instruction 1 Fri Oct 13 13:05:

instruction 1 Fri Oct 13 13:05: instruction Fri Oct :0:0. Introduction SECTION INSTRUCTION SET This section describes the aressing modes and instruction types.. Aressing Modes The CPU uses eight aressing modes for flexibility in accessing

More information

COSC 243. Instruction Sets And Addressing Modes. Lecture 7&8 Instruction Sets and Addressing Modes. COSC 243 (Computer Architecture)

COSC 243. Instruction Sets And Addressing Modes. Lecture 7&8 Instruction Sets and Addressing Modes. COSC 243 (Computer Architecture) COSC 243 Instruction Sets And Addressing Modes 1 Overview This Lecture Source Chapters 12 & 13 (10 th editition) Textbook uses x86 and ARM (we use 6502) Next 2 Lectures Assembly language programming 2

More information

MOS 6502 Architecture

MOS 6502 Architecture MOS 6502 Architecture Lecture 3 Fall 17 1 History Origins lie in the Motorola 6800. Was very expensive for consumers. ($300, or about $1500 in 2017 $s) Chuck Peddle proposes lower-cost, lower-area 6800

More information

ARM Assembly Language. Programming

ARM Assembly Language. Programming Outline: ARM Assembly Language the ARM instruction set writing simple programs examples Programming hands-on: writing simple ARM assembly programs 2005 PEVE IT Unit ARM System Design ARM assembly language

More information

The 6502 Instruction Set

The 6502 Instruction Set The 6502 Instruction Set Load and Store Group LDA Load Accumulator N,Z LDX Load X Register N,Z LDY Load Y Register N,Z STA Store Accumulator STX Store X Register STY Store Y Register Arithmetic Group ADC

More information

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram:

The CPU and Memory. How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram: The CPU and Memory How does a computer work? How does a computer interact with data? How are instructions performed? Recall schematic diagram: 1 Registers A register is a permanent storage location within

More information

8051 Overview and Instruction Set

8051 Overview and Instruction Set 8051 Overview and Instruction Set Curtis A. Nelson Engr 355 1 Microprocessors vs. Microcontrollers Microprocessors are single-chip CPUs used in microcomputers Microcontrollers and microprocessors are different

More information

Computer Organization CS 206 T Lec# 2: Instruction Sets

Computer Organization CS 206 T Lec# 2: Instruction Sets Computer Organization CS 206 T Lec# 2: Instruction Sets Topics What is an instruction set Elements of instruction Instruction Format Instruction types Types of operations Types of operand Addressing mode

More information

Chapter. Computer Architecture

Chapter. Computer Architecture Chapter 4 Computer Architecture Figure 4.1 Input device Central processing unit Main memory Output device Bus Data flow Control Figure 4.2 Central processing unit () Status bits ( ) Accumulator ( ) Index

More information

COMPUTER ORGANIZATION & ARCHITECTURE

COMPUTER ORGANIZATION & ARCHITECTURE COMPUTER ORGANIZATION & ARCHITECTURE Instructions Sets Architecture Lesson 5a 1 What are Instruction Sets The complete collection of instructions that are understood by a CPU Can be considered as a functional

More information

Chapter 7 Central Processor Unit (S08CPUV2)

Chapter 7 Central Processor Unit (S08CPUV2) Chapter 7 Central Processor Unit (S08CPUV2) 7.1 Introduction This section provides summary information about the registers, addressing modes, and instruction set of the CPU of the HCS08 Family. For a more

More information

Chapter 2A Instructions: Language of the Computer

Chapter 2A Instructions: Language of the Computer Chapter 2A Instructions: Language of the Computer Copyright 2009 Elsevier, Inc. All rights reserved. Instruction Set The repertoire of instructions of a computer Different computers have different instruction

More information

EE 3170 Microcontroller Applications

EE 3170 Microcontroller Applications EE 37 Microcontroller Applications Lecture 8: Instruction Subset & Machine Language: A Brief Tour of the 68HC Instruction Set - Miller 2.4 & 5.2-5.3 & Appendix A Based on slides for ECE37 by Profs. Davis,

More information

Architecture. Digital Computer Design

Architecture. Digital Computer Design Architecture Digital Computer Design Architecture The architecture is the programmer s view of a computer. It is defined by the instruction set (language) and operand locations (registers and memory).

More information

EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER

EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER OBJECT: EXPERIMENT NO. 1 THE MKT 8085 MICROPROCESSOR TRAINER To understand the structure and operating instruction of the microprocessor trainer. INTRODUCTION: The MKT 8085 is a single-board microcomputer,

More information

The PAW Architecture Reference Manual

The PAW Architecture Reference Manual The PAW Architecture Reference Manual by Hansen Zhang For COS375/ELE375 Princeton University Last Update: 20 September 2015! 1. Introduction The PAW architecture is a simple architecture designed to be

More information

EE 3170 Microcontroller Applications

EE 3170 Microcontroller Applications Q. 3.9 of HW3 EE 37 Microcontroller Applications (a) (c) (b) (d) Midterm Review: Miller Chapter -3 -The Stuff That Might Be On the Exam D67 (e) (g) (h) CEC23 (i) (f) (j) (k) (l) (m) EE37/CC/Lecture-Review

More information

CSCE 5610: Computer Architecture

CSCE 5610: Computer Architecture HW #1 1.3, 1.5, 1.9, 1.12 Due: Sept 12, 2018 Review: Execution time of a program Arithmetic Average, Weighted Arithmetic Average Geometric Mean Benchmarks, kernels and synthetic benchmarks Computing CPI

More information

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1...

Instruction-set Design Issues: what is the ML instruction format(s) ML instruction Opcode Dest. Operand Source Operand 1... Instruction-set Design Issues: what is the format(s) Opcode Dest. Operand Source Operand 1... 1) Which instructions to include: How many? Complexity - simple ADD R1, R2, R3 complex e.g., VAX MATCHC substrlength,

More information

Assembly Language Programming of 8085

Assembly Language Programming of 8085 Assembly Language Programming of 8085 Topics 1. Introduction 2. Programming model of 8085 3. Instruction set of 8085 4. Example Programs 5. Addressing modes of 8085 6. Instruction & Data Formats of 8085

More information

Processor Status Register(PSR)

Processor Status Register(PSR) ARM Registers Register internal CPU hardware device that stores binary data; can be accessed much more rapidly than a location in RAM ARM has 13 general-purpose registers R0-R12 1 Stack Pointer (SP) R13

More information

INSTRUCTION SET AND EXECUTION

INSTRUCTION SET AND EXECUTION SECTION 6 INSTRUCTION SET AND EXECUTION Fetch F1 F2 F3 F3e F4 F5 F6 Decode D1 D2 D3 D3e D4 D5 Execute E1 E2 E3 E3e E4 Instruction Cycle: 1 2 3 4 5 6 7 MOTOROLA INSTRUCTION SET AND EXECUTION 6-1 SECTION

More information

OSIAC Read OSIAC 5362 posted on the course website

OSIAC Read OSIAC 5362 posted on the course website OSIAC 5362 Read OSIAC 5362 posted on the course website The Basic Structure of Control Unit m CLK Run/Inhibit Control Step Counter m Preset (to any new state) Reset IR Decoder/Encoder (combinational logic)

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS II Fall 1999 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B DIGITAL SYSTEMS II Fall 1999 Lab 7-10: Micro-processor Design: Minimal Instruction Set Processor (MISP) Objective:

More information

Microcomputer Architecture and Programming

Microcomputer Architecture and Programming IUST-EE (Chapter 1) Microcomputer Architecture and Programming 1 Outline Basic Blocks of Microcomputer Typical Microcomputer Architecture The Single-Chip Microprocessor Microprocessor vs. Microcontroller

More information

ISA and RISCV. CASS 2018 Lavanya Ramapantulu

ISA and RISCV. CASS 2018 Lavanya Ramapantulu ISA and RISCV CASS 2018 Lavanya Ramapantulu Program Program =?? Algorithm + Data Structures Niklaus Wirth Program (Abstraction) of processor/hardware that executes 3-Jul-18 CASS18 - ISA and RISCV 2 Program

More information

Wednesday, September 13, Chapter 4

Wednesday, September 13, Chapter 4 Wednesday, September 13, 2017 Topics for today Introduction to Computer Systems Static overview Operation Cycle Introduction to Pep/9 Features of the system Operational cycle Program trace Categories of

More information

ARM Instruction Set Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

ARM Instruction Set Architecture. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University ARM Instruction Set Architecture Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Condition Field (1) Most ARM instructions can be conditionally

More information

III. Flags of the Processor Staus Register

III. Flags of the Processor Staus Register III. Flags of the Processor Staus Register INHALT 1. Meaning 2. Application 2.1 Shifts 2.2 Branches 2.3 Addition and Subtraction 2.4 Comparisons in magnitude 1. Meaning processor status register Overflow

More information

SN8F5000 Family Instruction Set

SN8F5000 Family Instruction Set SONiX Technology Co., Ltd. 8051-based Microcontroller 1 Overview SN8F5000 is 8051 Flash Type microcontroller supports comprehensive assembly instructions and which are fully compatible with standard 8051.

More information

Chapter 2 Instruction Set Architecture

Chapter 2 Instruction Set Architecture Chapter 2 Instruction Set Architecture Course Outcome (CO) - CO2 Describe the architecture and organization of computer systems Program Outcome (PO) PO1 Apply knowledge of mathematics, science and engineering

More information

Digital IP Cell 8-bit Microcontroller PE80

Digital IP Cell 8-bit Microcontroller PE80 1. Description The is a Z80 compliant processor soft-macro - IP block that can be implemented in digital or mixed signal ASIC designs. The Z80 and its derivatives and clones make up one of the most commonly

More information

Lecture #2 January 30, 2004 The 6502 Architecture

Lecture #2 January 30, 2004 The 6502 Architecture Lecture #2 January 30, 2004 The 6502 Architecture In order to understand the more modern computer architectures, it is helpful to examine an older but quite successful processor architecture, the MOS-6502.

More information

CHAPTER ASSEMBLY LANGUAGE PROGRAMMING

CHAPTER ASSEMBLY LANGUAGE PROGRAMMING CHAPTER 2 8051 ASSEMBLY LANGUAGE PROGRAMMING Registers Register are used to store information temporarily: A byte of data to be processed An address pointing to the data to be fetched The vast majority

More information

Chapter 3 Machine Instructions & Programs. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Chapter 3 Machine Instructions & Programs. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Chapter 3 Machine Instructions & Programs Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Numbers, Arithmetic Operations, and Characters Memory Locations

More information

Introduction to the MIPS. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University

Introduction to the MIPS. Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Introduction to the MIPS Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University Introduction to the MIPS The Microprocessor without Interlocked Pipeline Stages

More information

Full file at

Full file at Chapter Two DATA MANIPULATION Formatted Chapter Summary This chapter introduces the role of a computer's CPU. It describes the machine cycle and the various operations (or, and, exclusive or, add, shift,

More information

BASIC COMPUTER ORGANIZATION. Operating System Concepts 8 th Edition

BASIC COMPUTER ORGANIZATION. Operating System Concepts 8 th Edition BASIC COMPUTER ORGANIZATION Silberschatz, Galvin and Gagne 2009 Topics CPU Structure Registers Memory Hierarchy (L1/L2/L3/RAM) Machine Language Assembly Language Running Process 3.2 Silberschatz, Galvin

More information

Chapter 4. The Processor. Computer Architecture and IC Design Lab

Chapter 4. The Processor. Computer Architecture and IC Design Lab Chapter 4 The Processor Introduction CPU performance factors CPI Clock Cycle Time Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS

More information

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 11 Instruction Sets: Addressing Modes and Formats

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 11 Instruction Sets: Addressing Modes and Formats William Stallings Computer Organization and Architecture 8 th Edition Chapter 11 Instruction Sets: Addressing Modes and Formats Addressing Modes Immediate Direct Indirect Register Register Indirect Displacement

More information

CSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1

CSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1 CSIS1120A 10. Instruction Set & Addressing Mode CSIS1120A 10. Instruction Set & Addressing Mode 1 Elements of a Machine Instruction Operation Code specifies the operation to be performed, e.g. ADD, SUB

More information

PESIT Bangalore South Campus

PESIT Bangalore South Campus INTERNAL ASSESSMENT TEST I Date: 30/08/2017 Max Marks: 40 Subject & Code: Computer Organization 15CS34 Semester: III (A & B) Name of the faculty: Mrs.Sharmila Banu.A Time: 8.30 am 10.00 am Answer any FIVE

More information

Instruction Set Design

Instruction Set Design Instruction Set Design software instruction set hardware CPE442 Lec 3 ISA.1 Instruction Set Architecture Programmer's View ADD SUBTRACT AND OR COMPARE... 01010 01110 10011 10001 11010... CPU Memory I/O

More information

A. CPU INSTRUCTION SET SUMMARY

A. CPU INSTRUCTION SET SUMMARY A. CPU INSTRUCTION SET SUMMARY This appendix summarizes the CPU instruction set. Table A-1 is a matrix of CPU instructions and addressing modes arranged by operation code. Table A-2 lists the CPU instruction

More information

Computer Architecture and Organization. Instruction Sets: Addressing Modes and Formats

Computer Architecture and Organization. Instruction Sets: Addressing Modes and Formats Computer Architecture and Organization Instruction Sets: Addressing Modes and Formats Addressing Modes Immediate Direct Indirect Register Register Indirect Displacement (Indexed) Stack Immediate Addressing

More information

Architecture & Instruction set of 8085 Microprocessor and 8051 Micro Controller

Architecture & Instruction set of 8085 Microprocessor and 8051 Micro Controller of 8085 microprocessor 8085 is pronounced as "eighty-eighty-five" microprocessor. It is an 8-bit microprocessor designed by Intel in 1977 using NMOS technology. It has the following configuration 8-bit

More information

Introduction to Computers - Chapter 4

Introduction to Computers - Chapter 4 Introduction to Computers - Chapter 4 Since the invention of the transistor and the first digital computer of the 1940s, computers have been increasing in complexity and performance; however, their overall

More information

ECE232: Hardware Organization and Design

ECE232: Hardware Organization and Design ECE232: Hardware Organization and Design Lecture 4: Logic Operations and Introduction to Conditionals Adapted from Computer Organization and Design, Patterson & Hennessy, UCB Overview Previously examined

More information

10-1 C D Pearson Education, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 4e

10-1 C D Pearson Education, Inc. M. Morris Mano & Charles R. Kime LOGIC AND COMPUTER DESIGN FUNDAMENTALS, 4e 10-1 C D E A B 10-2 A B A B C (A B) C D A A B (A B) C E D (A B) C D E (A B) C + D E (A B) C 10-3 Opcode Mode Address or operand 10-4 Memory 250 Opcode Mode PC = 250 251 ADRS 252 Next instruction ACC Opcode:

More information

Comparison InstruCtions

Comparison InstruCtions Status Flags Now it is time to discuss what status flags are available. These five status flags are kept in a special register called the Program Status Register (PSR). The PSR also contains other important

More information

Instruction Sets: Characteristics and Functions Addressing Modes

Instruction Sets: Characteristics and Functions Addressing Modes Instruction Sets: Characteristics and Functions Addressing Modes Chapters 10 and 11, William Stallings Computer Organization and Architecture 7 th Edition What is an Instruction Set? The complete collection

More information

STRUCTURE OF DESKTOP COMPUTERS

STRUCTURE OF DESKTOP COMPUTERS Page no: 1 UNIT 1 STRUCTURE OF DESKTOP COMPUTERS The desktop computers are the computers which are usually found on a home or office desk. They consist of processing unit, storage unit, visual display

More information

Introduction to C. Write a main() function that swaps the contents of two integer variables x and y.

Introduction to C. Write a main() function that swaps the contents of two integer variables x and y. Introduction to C Write a main() function that swaps the contents of two integer variables x and y. void main(void){ int a = 10; int b = 20; a = b; b = a; } 1 Introduction to C Write a main() function

More information

E3940 Microprocessor Systems Laboratory. Introduction to the Z80

E3940 Microprocessor Systems Laboratory. Introduction to the Z80 E3940 Microprocessor Systems Laboratory Introduction to the Z80 Andrew T. Campbell comet.columbia.edu/~campbell campbell@comet.columbia.edu E3940 Microprocessor Systems Laboratory Page 1 Z80 Laboratory

More information

COSC 243. Assembly Language Techniques. Lecture 9. COSC 243 (Computer Architecture)

COSC 243. Assembly Language Techniques. Lecture 9. COSC 243 (Computer Architecture) COSC 243 Assembly Language Techniques 1 Overview This Lecture Source Handouts Next Lectures Memory and Storage Systems 2 Parameter Passing In a high level language we don t worry about the number of parameters

More information

CHAPTER 8: Central Processing Unit (CPU)

CHAPTER 8: Central Processing Unit (CPU) CS 224: Computer Organization S.KHABET CHAPTER 8: Central Processing Unit (CPU) Outline Introduction General Register Organization Stack Organization Instruction Formats Addressing Modes 1 Major Components

More information

CPE 323 MSP430 INSTRUCTION SET ARCHITECTURE (ISA)

CPE 323 MSP430 INSTRUCTION SET ARCHITECTURE (ISA) CPE 323 MSP430 INSTRUCTION SET ARCHITECTURE (ISA) Aleksandar Milenković Email: milenka@uah.edu Web: http://www.ece.uah.edu/~milenka Objective Introduce MSP430 Instruction Set Architecture (Class of ISA,

More information

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss

Grundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss Grundlagen Microcontroller Processor Core Günther Gridling Bettina Weiss 1 Processor Core Architecture Instruction Set Lecture Overview 2 Processor Core Architecture Computes things > ALU (Arithmetic Logic

More information

Wednesday, February 4, Chapter 4

Wednesday, February 4, Chapter 4 Wednesday, February 4, 2015 Topics for today Introduction to Computer Systems Static overview Operation Cycle Introduction to Pep/8 Features of the system Operational cycle Program trace Categories of

More information

Outline. ARM Introduction & Instruction Set Architecture. ARM History. ARM s visible registers

Outline. ARM Introduction & Instruction Set Architecture. ARM History. ARM s visible registers Outline ARM Introduction & Instruction Set Architecture Aleksandar Milenkovic E-mail: Web: milenka@ece.uah.edu http://www.ece.uah.edu/~milenka ARM Architecture ARM Organization and Implementation ARM Instruction

More information

CIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1

CIS-331 Fall 2014 Exam 1 Name: Total of 109 Points Version 1 Version 1 1. (24 Points) Show the routing tables for routers A, B, C, and D. Make sure you account for traffic to the Internet. Router A Router B Router C Router D Network Next Hop Next Hop Next Hop Next

More information

CHAPTER 5 : Introduction to Intel 8085 Microprocessor Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY

CHAPTER 5 : Introduction to Intel 8085 Microprocessor Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY CHAPTER 5 : Introduction to Intel 8085 Hardware BENG 2223 MICROPROCESSOR TECHNOLOGY The 8085A(commonly known as the 8085) : Was first introduced in March 1976 is an 8-bit microprocessor with 16-bit address

More information

3.0 Instruction Set. 3.1 Overview

3.0 Instruction Set. 3.1 Overview 3.0 Instruction Set 3.1 Overview There are 16 different P8 instructions. Research on instruction set usage was the basis for instruction selection. Each instruction has at least two addressing modes, with

More information

UNIT-II. Part-2: CENTRAL PROCESSING UNIT

UNIT-II. Part-2: CENTRAL PROCESSING UNIT Page1 UNIT-II Part-2: CENTRAL PROCESSING UNIT Stack Organization Instruction Formats Addressing Modes Data Transfer And Manipulation Program Control Reduced Instruction Set Computer (RISC) Introduction:

More information

Today s topics. MIPS operations and operands. MIPS arithmetic. CS/COE1541: Introduction to Computer Architecture. A Review of MIPS ISA.

Today s topics. MIPS operations and operands. MIPS arithmetic. CS/COE1541: Introduction to Computer Architecture. A Review of MIPS ISA. Today s topics CS/COE1541: Introduction to Computer Architecture MIPS operations and operands MIPS registers Memory view Instruction encoding A Review of MIPS ISA Sangyeun Cho Arithmetic operations Logic

More information

Mark II Aiken Relay Calculator

Mark II Aiken Relay Calculator Introduction to Embedded Microcomputer Systems Lecture 6.1 Mark II Aiken Relay Calculator 2.12. Tutorial 2. Arithmetic and logical operations format descriptions examples h 8-bit unsigned hexadecimal $00

More information

; Once Initialized, monitor character in calls to CN05 ; set carry for input, to be tested CN35 C SEC

; Once Initialized, monitor character in calls to CN05 ; set carry for input, to be tested CN35 C SEC // // Serialcode.s // 256 Byte Prom P8 and 512 Byte PROM P9A (second version) for Apple II Serial Card // P9A differs from P9 by adding RTS/ACK software flow control to output and // by removing batch

More information

Reconfigurable Computing Systems ( L) Fall 2012 Tiny Register Machine (TRM)

Reconfigurable Computing Systems ( L) Fall 2012 Tiny Register Machine (TRM) Reconfigurable Computing Systems (252-2210-00L) Fall 2012 Tiny Register Machine (TRM) L. Liu Department of Computer Science, ETH Zürich Fall semester, 2012 1 Introduction Jumping up a few levels of abstraction.

More information

PROBLEMS. 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory?

PROBLEMS. 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory? 446 CHAPTER 7 BASIC PROCESSING UNIT (Corrisponde al cap. 10 - Struttura del processore) PROBLEMS 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory?

More information

CE1921: COMPUTER ARCHITECTURE SINGLE CYCLE PROCESSOR DESIGN WEEK 2

CE1921: COMPUTER ARCHITECTURE SINGLE CYCLE PROCESSOR DESIGN WEEK 2 SUMMARY Instruction set architecture describes the programmer s view of the machine. This level of computer blueprinting allows design engineers to discover expected features of the circuit including:

More information

Chapter 3. Z80 Instructions & Assembly Language. Von Neumann Architecture. Memory. instructions. program. data

Chapter 3. Z80 Instructions & Assembly Language. Von Neumann Architecture. Memory. instructions. program. data Von Neumann Architecture The von Neumann architecture is a computer design model that uses a processing unit and a separate storage to hold both instructions and data To run a machine, program and data

More information

Lecture #3 Microcontroller Instruction Set Embedded System Engineering Philip Koopman Wednesday, 20-Jan-2015

Lecture #3 Microcontroller Instruction Set Embedded System Engineering Philip Koopman Wednesday, 20-Jan-2015 Lecture #3 Microcontroller Instruction Set 18-348 Embedded System Engineering Philip Koopman Wednesday, 20-Jan-2015 Electrical& Computer ENGINEERING Copyright 2006-2015, Philip Koopman, All Rights Reserved

More information

Contents 8051 Instruction Set BY D. BALAKRISHNA, Research Assistant, IIIT-H Chapter I : Control Transfer Instructions Lesson (a): Loop Lesson (b): Jump (i) Conditional Lesson (c): Lesson (d): Lesson (e):

More information

We will begin our study of computer architecture From this perspective. Machine Language Control Unit

We will begin our study of computer architecture From this perspective. Machine Language Control Unit An Instruction Set View Introduction Have examined computer from several different views Observed programmer s view Focuses on instructions computer executes Collection of specific set of instructions

More information

Digital System Design Using Verilog. - Processing Unit Design

Digital System Design Using Verilog. - Processing Unit Design Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register

More information

CHAPTER 5 A Closer Look at Instruction Set Architectures

CHAPTER 5 A Closer Look at Instruction Set Architectures CHAPTER 5 A Closer Look at Instruction Set Architectures 5.1 Introduction 5.2 Instruction Formats 5.2.1 Design Decisions for Instruction Sets 5.2.2 Little versus Big Endian 5.2.3 Internal Storage in the

More information

CS401 Assembly Language Solved MCQS From Midterm Papers

CS401 Assembly Language Solved MCQS From Midterm Papers CS401 Assembly Language Solved MCQS From Midterm Papers May 14,2011 MC100401285 Moaaz.pk@gmail.com MC100401285@gmail.com PSMD01(IEMS) Question No:1 ( Marks: 1 ) - Please choose one The first instruction

More information

The Microcontroller. Lecture Set 3. Major Microcontroller Families. Example Microcontroller Families Cont. Example Microcontroller Families

The Microcontroller. Lecture Set 3. Major Microcontroller Families. Example Microcontroller Families Cont. Example Microcontroller Families The Microcontroller Lecture Set 3 Architecture of the 8051 Microcontroller Microcontrollers can be considered as self-contained systems with a processor, memory and I/O ports. In most cases, all that is

More information

ARM Shift Operations. Shift Type 00 - logical left 01 - logical right 10 - arithmetic right 11 - rotate right. Shift Amount 0-31 bits

ARM Shift Operations. Shift Type 00 - logical left 01 - logical right 10 - arithmetic right 11 - rotate right. Shift Amount 0-31 bits ARM Shift Operations A novel feature of ARM is that all data-processing instructions can include an optional shift, whereas most other architectures have separate shift instructions. This is actually very

More information

Instruction Set Architecture

Instruction Set Architecture C Fortran Ada etc. Basic Java Instruction Set Architecture Compiler Assembly Language Compiler Byte Code Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin http://akademik.bahcesehir.edu.tr/~naydin

More information

ADDRESS GENERATION UNIT (AGU)

ADDRESS GENERATION UNIT (AGU) nc. SECTION 4 ADDRESS GENERATION UNIT (AGU) MOTOROLA ADDRESS GENERATION UNIT (AGU) 4-1 nc. SECTION CONTENTS 4.1 INTRODUCTION........................................ 4-3 4.2 ADDRESS REGISTER FILE (Rn)............................

More information

Computer Organization and Technology Processor and System Structures

Computer Organization and Technology Processor and System Structures Computer Organization and Technology Processor and System Structures Assoc. Prof. Dr. Wattanapong Kurdthongmee Division of Computer Engineering, School of Engineering and Resources, Walailak University

More information

ENGN1640: Design of Computing Systems Topic 03: Instruction Set Architecture Design

ENGN1640: Design of Computing Systems Topic 03: Instruction Set Architecture Design ENGN1640: Design of Computing Systems Topic 03: Instruction Set Architecture Design Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2014 Sources: Computer

More information

Computer System Architecture

Computer System Architecture CSC 203 1.5 Computer System Architecture Department of Statistics and Computer Science University of Sri Jayewardenepura Addressing 2 Addressing Subject of specifying where the operands (addresses) are

More information

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( )

6.1 Combinational Circuits. George Boole ( ) Claude Shannon ( ) 6. Combinational Circuits George Boole (85 864) Claude Shannon (96 2) Signals and Wires Digital signals Binary (or logical ) values: or, on or off, high or low voltage Wires. Propagate digital signals

More information

Programming. A. Assembly Language Programming. A.1 Machine Code. Machine Code Example: Motorola ADD

Programming. A. Assembly Language Programming. A.1 Machine Code. Machine Code Example: Motorola ADD A. Assembly Language Programming Programming of a computer system: Machine code direct execution Assembly language tool: assembler High level programming language tool: interpreter tool: compiler Programming

More information

9/25/ Software & Hardware Architecture

9/25/ Software & Hardware Architecture 8086 Software & Hardware Architecture 1 INTRODUCTION It is a multipurpose programmable clock drive register based integrated electronic device, that reads binary instructions from a storage device called

More information

Lecture 4: Instruction Set Architecture

Lecture 4: Instruction Set Architecture Lecture 4: Instruction Set Architecture ISA types, register usage, memory addressing, endian and alignment, quantitative evaluation Reading: Textbook (5 th edition) Appendix A Appendix B (4 th edition)

More information

The von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store.

The von Neumann Architecture. IT 3123 Hardware and Software Concepts. The Instruction Cycle. Registers. LMC Executes a Store. IT 3123 Hardware and Software Concepts February 11 and Memory II Copyright 2005 by Bob Brown The von Neumann Architecture 00 01 02 03 PC IR Control Unit Command Memory ALU 96 97 98 99 Notice: This session

More information

CprE 288 Introduction to Embedded Systems Course Review for Exam 3. Instructors: Dr. Phillip Jones

CprE 288 Introduction to Embedded Systems Course Review for Exam 3. Instructors: Dr. Phillip Jones CprE 288 Introduction to Embedded Systems Course Review for Exam 3 Instructors: Dr. Phillip Jones 1 Announcements Exam 3: See course website for day/time. Exam 3 location: Our regular classroom Allowed

More information

Machine Language Instructions Introduction. Instructions Words of a language understood by machine. Instruction set Vocabulary of the machine

Machine Language Instructions Introduction. Instructions Words of a language understood by machine. Instruction set Vocabulary of the machine Machine Language Instructions Introduction Instructions Words of a language understood by machine Instruction set Vocabulary of the machine Current goal: to relate a high level language to instruction

More information

Levels of Programming. Registers

Levels of Programming. Registers Levels of Programming COSC 2021: Computer Organization Instructor: Dr. Amir Asif Department of Computer Science York University Handout # 3: MIPS Instruction Set I Topics: 1. Arithmetic Instructions 2.

More information

Chapter 17. Microprogrammed Control. Yonsei University

Chapter 17. Microprogrammed Control. Yonsei University Chapter 17 Microprogrammed Control Contents Basic Concepts Microinstruction Sequencing Microinstruction Execution TI 8800 Applications of Microprogramming 17-2 Introduction Basic Concepts An alternative

More information

COMPUTER ARCHITECTURE AND PARALEL PROCESSING STUDY NOTES

COMPUTER ARCHITECTURE AND PARALEL PROCESSING STUDY NOTES COMPUTER ARCHITECTURE AND PARALEL PROCESSING STUDY NOTES UNIT 1 INTRODUCTION Central Processing unit (CPU): Alternately referred to as a processor, central processor, or microprocessor, the CPU is the

More information

CS401 - Computer Architecture and Assembly Language Programming Glossary By

CS401 - Computer Architecture and Assembly Language Programming Glossary By CS401 - Computer Architecture and Assembly Language Programming Glossary By absolute address : A virtual (not physical) address within the process address space that is computed as an absolute number.

More information

Instruction Set Architecture (ISA)

Instruction Set Architecture (ISA) Instruction Set Architecture (ISA) Encoding of instructions raises some interesting choices Tradeoffs: performance, compactness, programmability Uniformity. Should different instructions Be the same size

More information

ECE 471 Embedded Systems Lecture 5

ECE 471 Embedded Systems Lecture 5 ECE 471 Embedded Systems Lecture 5 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 17 September 2013 HW#1 is due Thursday Announcements For next class, at least skim book Chapter

More information

8051 Microcontrollers

8051 Microcontrollers 8051 Microcontrollers Richa Upadhyay Prabhu NMIMS s MPSTME richa.upadhyay@nmims.edu March 15, 2016 8051 INSTRUCTIONS JUMP, LOOP AND CALL INSTRUCTIONS 8051 INSTRUCTIONS Repeating a sequence of instructions

More information

Instruction Set II. COMP 212 Computer Organization & Architecture. COMP 212 Fall Lecture 7. Instruction Set. Quiz. What is an Instruction Set?

Instruction Set II. COMP 212 Computer Organization & Architecture. COMP 212 Fall Lecture 7. Instruction Set. Quiz. What is an Instruction Set? COMP 212 Computer Organization & Architecture Quiz COMP 212 Fall 2008 Lecture 7 Fill in your student number only, do NOT write down your name Open book, but NO calculator, NO discussions, Relax and have

More information

Registers. Registers

Registers. Registers All computers have some registers visible at the ISA level. They are there to control execution of the program hold temporary results visible at the microarchitecture level, such as the Top Of Stack (TOS)

More information