Control Unit - SNU

Control Unit - SNU

Control Unit Lecture 6 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee Machine Instructions Machine instruction A group of bits that specifies an operation and the registers or memory words in which the operands are found and the result is stored Either all the same size or different sizes Operation code (opcode) A group of bits in an instruction that specifies an

operation N-bit opcode can represent 2n different operations The way how bits are organized in a machine instruction varies with the type of the instruction and the machine 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 2 Instruction Set Instruction set A complete collection of instructions for a computer

Instruction set architecture (ISA) A thorough description of the instruction set Micro-architecture The design techniques used to implement the instruction set 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 3 Data Transfer Instructions Load and store instructions that move data to and from memory and CPU

registers Input and output instructions that moves data to and from CPU registers and I/O devices 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 4 Arithmetic, Logic, and Shift Instructions Addition, subtraction, multiply, and division instructions Bitwise AND, OR, and NOT instructions Logical and arithmetic shift instructions

Comparison instructions that compare two values 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 5 Control Flow Instructions Unconditional branch instructions that jump to another location in the program to execute instructions there Conditional branch instructions that jump to another location in the program when a certain condition holds

010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 6 Stored Program Concept The key idea of the von Neumann architecture Not only are all data values used in the program stored in memory, but also are machine instructions in the program Machine instructions are placed in adjacent locations and fetched by the CU one by one 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee

7 Instruction Cycle Fetch-decode-execute cycle Repeated until the computer is powered down Fetch The CU fetches an instruction from memory Decode The CU (instruction decoder) determines what operations the instruction requires Execute

The CU activates the necessary sequence of microoperations (i.e., control words) to provide timing and control signals to the datapath and memory The decoder converts the instruction to control signals to the datapath and to the CU itself 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 8 Program Counter A register to specify the address of the next instruction to be executed To execute instructions in sequence

Either automatically incremented or loaded with a new address by the CU 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 9 Branch Instructions Modify the PC to skip over some sequence of instructions or to go back to repeat the previous instruction sequence Contain an offset This offset is added to the current PC to go to the branch target address

Conditional branches Modify the PC when a certain condition is true The CU evaluates the condition by checking the status signals from the datapath Unconditional branches Always modify the PC Always jumps to the branch target address 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 10 A Simple CPU

010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 11 Instruction Register and Processor Status Register The IR contains the current instruction fetched from memory The PSR is used by the CU to keep track of various aspects of the CPU state Status flags are set by a comparison instruction PSR[31]

PSR[30] PSR[29] PSR[28] N Z C V 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee

12 Status Flags N (negative) The result of the last ALU operation is negative (MSB = 1) Z (zero) The result of the last ALU operation is zero C (carry) The result of the last ALU operation has a carry-out

V (oVerflow) The result of the last ALU operation overflows 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 13 Memory Map Initially, the PC is loaded with 0x8000 0x8000 is the address of the first instruction to be executed The CPU repeats the fetch-decode-execute cycle 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee

14 Fetch IR M[PC] 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 15 Decode and Execute The instruction decoder in the CU reads the content of

the IR, and the opcode and operands are being decoded The CU generates appropriate control words to perform the operation specified by the opcode 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 16 Addition Instruction An addition instruction that adds the

contents of two registers R1 and R2 and stores the result to the register R3 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 17 Addition Instruction (contd.) IR M[PC] R3 R1 + R2; PSR[31:28] NZCV; PC PC + 1 Instruction cycle

time Total two clock cycles 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 18 Immediate Addition Instruction An addition instruction that adds the content of register R1 and a constant 34, and stores the result to destination register R3 34 An immediate or an immediate constant 8-bit signed binary number

010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 19 Immediate Addition Instruction (contd.) IR M[PC] R3 R1 + Constantin; PSR[31:28] NZCV; PC PC + 1 010.133 Digital Computer Concept and Practice

Copyright 2012 by Jaejin Lee 20 Load and Store Instructions Rn Contains the address of the memory location Rd The destination register when the instruction is a load instruction The source register when the instruction is a store instruction 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee

21 Load and Store Instructions (contd.) Load IR M[PC] Rd M[Rn]; PC PC + 1 Store IR M[PC] M[Rn] Rd; PC PC + 1

010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 22 Branch Instructions Branch instruction alters the content of the PC 24-bit offset Signed binary number in the twos complement representation Target address = the content of PC + offset 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee

23 Branch Instructions (contd.) Unconditional branch IR M[PC] PC PC + Constantin Conditional branch IR M[PC] Taken PC PC + Constantin

Not taken PC PC + 1 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 24 Assembly Language A low-level language and relatively easy to write a program compared to the machine language Symbolic names for opcode (mnemonics), locations in the program (labels), variables, and constants

Humans almost never write programs directly in machine code Very difficult to understand and write a program in patterns of 0 and 1 Very much error prone 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 25 Assembly Language (contd.) An assembler directive is a command to the assembler that tells the assembler something to do in the assembly process A pseudo-instruction does not actually exist in the

machine instruction set An easy way of representing a group of machine instructions (possibly a single machine instruction) 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 26 Adding 10 Arbitrary Numbers Stored in Memory 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 27

Microoperations for the Assembly Code 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 28 Input and Output I/O devices attached to a computer is also called peripherals Keyboards, mice, display units, speakers, printers, hard disk drives, optical disk drives, solid state disk drives, network interface cards, etc.

Peripherals that communicate with people typically transfer alphanumeric information to/from the CPU The standard binary code for the alphanumeric information is ASCII 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 29 I/O Bus An interface is required to resolve differences between the peripheral and CPU Contains an address decoder, a control unit, and registers for the device Has a distinct address

To communicate with a specific peripheral device The CPU places the address of the device on the address lines Address lines are continuously monitored by the interface for each device If the interface for a device detects its own address on the bus, a communication link is established All other devices are disabled for the bus 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 30 Memory-mapped I/O Makes all I/O devices look exactly the same

to the CPU Each I/O device is allocated to an exclusive portion of the CPU's address space When a CPU has n-bit addresses, its address space is the set of 2n possible addresses Normal load or store instructions are used to communicate with I/O devices The instruction set of the CPU does not need to include special I/O instructions 010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 31

Memory-mapped I/O (contd.) To enable memory-mapped I/O, Each I/O device needs to provide a hardware interface similar to that of memory Each I/O device is required to define an interaction contract (protocol) The exclusive portion of the address space allocated to an I/O device continuously reflects the physical state of the device Pressing a key on the keyboard makes a certain value (e.g., ASCII code of the key) to be written in the area allocated to the keyboard Whenever a bit is changed in the area allocated to a physical screen, the associated pixel is drawn on the screen

010.133 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee 32

Recently Viewed Presentations

  • Math 2311 - Uh

    Math 2311 - Uh

    MATH 2311. Final Exam Review. The probability that a randomly selected person is left handed (the event L) is P(L) = 0.1 and the probability that a randomly selected person is a blonde (the event B) is P(B) = 0.3....
  • Solid-Liquid Separation in Water Treatment Settling and Flotation

    Solid-Liquid Separation in Water Treatment Settling and Flotation

    Times New Roman Arial Arial Narrow Wingdings Arial Black Arial Unicode MS Verdana Symbol MT Extra Generic 1_Generic Microsoft Word Picture Solid-Liquid Separation in Water Treatment Settling and Flotation Introduction Topics of Discussion Slide 4 Slide 5 Slide 6 Slide...
  • BENCHMARKS - Florida Institute of Technology

    BENCHMARKS - Florida Institute of Technology

    BENCHMARKS Ramon Zatarain INDEX Benchmarks and Benchmarking Relation of Benchmarks with Empirical Methods Benchmark definition Types of benchmarks Benchmark suites Measuring performance (CPU, comparing of performance, etc.) Common system benchmarks Examples of software benchmarks Benchmark pitfalls Recommendations Benchmarking rules Bibliography...
  • Chapter 4

    Chapter 4

    Faradic current - Make a high-pitched "zit, zit" sound similar to a high-speed drill used by a dentist. This is done to represent an alternating current which provides minimal penetration of the skin. IT'S . 2. U! Chapter 4.2Electricity.
  • Ppt - Florida International University

    Ppt - Florida International University

    Normal Distribution Density Function % % Probability / % Normal Distribution Population Distributions Population Distributions We can use the normal tables to obtain probabilities for measurements for which this frequency distribution is appropriate. For a reasonably complete set of probabilities,...
  • The difficulties and challenges of finding employment in ...

    The difficulties and challenges of finding employment in ...

    University of Queensland Social Sciences Library. University of Queensland, St Lucia, Brisbane. Remarkable Minds Just Waiting for Work . Extraordinary memory … but the only work James Russell, who has high-functioning autism, can find is filling envelopes and lugging boxes.
  • Chapter 7 Body Systems - Wilco Area Career Center

    Chapter 7 Body Systems - Wilco Area Career Center

    You must appear neat, clean, well-groomed, and neatly dressed. Be on time. Be polite and friendly. Look at the interviewer when answering or asking questions. Watch your body language. Give complete and honest answers. Review the job description with the...
  • Layouts: Creating maps and figures using ArcMap June

    Layouts: Creating maps and figures using ArcMap June

    Templates can contain data, custom design, and predefined layout arrangements (north arrows, scale bars, institutional logos, etc.) Can be selected using . View. menu (selected . Layout View) or the empty page icon. GIS for Planetary Mappers. Layout View.