demo course file

Upload: mmsharma71

Post on 04-Apr-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Demo Course File

    1/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO1

    ame of faulty:sayyada mubeen & chaitanya page no1

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLOGYHimayathsagar, Hyderabad-8

    COURSE FILE

    NAME OF THE FACULTY:K.P.CHAITANYA & SAYYADA MUBEEN

    DEPARTMENT: CSE

    SUBJECT:COMPUTER ORGANIZATION

    YEAR(SEMESTER)/BRANCH: II YR AND III YR CSE

  • 7/29/2019 Demo Course File

    2/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO2

    ame of faulty:sayyada mubeen & chaitanya page no2

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLOGYHimayathsagar, Hyderabad-8

    CERTIFICATE

    This is to certify that Mr./Ms.__K.P.CHAITANYA ,SAYYADA MUBEEN

    Asst.Prof./Assoc.Prof./Prof. of CSE department has completed all the

    requirement of the Course file of COMPUTER ORGANIZATION_

    B.Tech/M.Tech,______Semester as per the University requirement.

    Head of the Department PRINCIPAL

  • 7/29/2019 Demo Course File

    3/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO3

    ame of faulty:sayyada mubeen & chaitanya page no3

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLOGYHimayathsagar, Hyderabad-8

    CONTENTS OF COURSE FILE

    S.No CONTENT Page No.

    1. Syllabus2. Academic Calender

    3. Plan of Syllabus Coverage

    4. Teaching Diary

    5. Class work Time Table

    6. Hard Copy of Course Material Subjective (Unit Wise)

    7. Soft Copy of Course Material Subjective (Unit Wise)

    8. Hard Copy of Objective Type Questions(Multiple choice/Fillin the blanks/True or False/Match the following etc.)

    9. Soft Copy of Objective Type Questions(Multiple choice/Fill inthe blanks/True or False/Match the following etc.)

    10. OHP Sheets (Slides if any)

    11. Power Point Presentations Soft and Hard Copy (if any)

    12. Mid Term Exam Question Papers (Objective and Subjective)

    13. Solution to Mid Term Exam Question papers

    14. University End Exam Question Papers

    15. Solution to University End Exam Question Papers

    16. Assignments (Unit Wise) Question Papers and AnswerScripts of Students

    17. Unit Test(Unit Wise) Question Papers and Answer Scripts ofStudents

    18. Additional Solved Problems19. Add-on Course Material

  • 7/29/2019 Demo Course File

    4/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO4

    ame of faulty:sayyada mubeen & chaitanya page no4

    JAWAHARLAL NEHRU TECHNOLOGICAL UNIVERSITY

    HYDERABAD

    II Year B.Tech. CSE -II Sem T P C

    4+1* 0 4

    COMPUTER ORGANIZATION

    UNIT I :

    BASIC STRUCTURE OF COMPUTERS : Computer Types, Functional unit, Basic OPERATIONAL concepts, Bus

    structures, Software, Performance, multiprocessors and multi computers. Data Representation. Fixed Point

    Representation. Floating Point Representation. Error Detection codes.

    UNIT II :

    REGISTER TRANSFER LANGUAGE AND MICROOPERATIONS : Register Transfer language.Register Transfer

    Bus and memory transfers, Arithmetic Mircrooperatiaons, logic micro operations, shift micro operations, Arithmetic

    logic shift unit. Instruction codes. Computer Registers Computer instructions

    Instruction cycle.

    Memory Reference Instructions. Input Output and Interrupt. STACK organization. Instruction formats. Addressing

    modes. DATA Transfer and manipulation. Program control. Reduced Instruction set computer.

    UNIT III :

    MICRO PROGRAMMED CONTROL : Control memory, Address sequencing, microprogram example, design of

    control unit Hard wired control. Microprogrammed control

    UNIT IV :

    COMPUTER ARITHMETIC :Addition and subtraction, multiplication Algorithms, Division Algorithms, Floating point

    Arithmetic operations. Decimal Arithmetic unit Decimal Arithmetic operations.

    UNIT V :

    THE MEMORY SYSTEM : Basic concepts semiconductor RAM memories. Read-only memories Cache memories

    performance considerations, Virtual memories secondary storage. Introduction to RAID.

  • 7/29/2019 Demo Course File

    5/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO5

    ame of faulty:sayyada mubeen & chaitanya page no5

    UNIT-VI

    INPUT-OUTPUT ORGANIZATION : Peripheral Devices, Input-Output Interface, Asynchronous data transfer Modes

    of Transfer, Priority Interrupt Direct memory Access, Input Output Processor (IOP) Serial communication;

    Introduction to peripheral component, Interconnect (PCI) bus. Introduction to

    standard serial communication protocols like RS232, USB, IEEE1394.

    UNIT VII :

    PIPELINE AND VECTOR PROCESSING : Parallel Processing, Pipelining, Arithmetic Pipeline, Instruction Pipeline,

    RISC Pipeline Vector Processing, Array Processors.

    UNIT VIII :

    MULTI PROCESSORS : Characteristics or Multiprocessors, Interconnection Structures, Interprocessor Arbitration.

    InterProcessor Communication and Synchronization Cache Coherance. Shared Memory Multiprocessors.

    TEXT BOOKS :

    1. Computer Organization Carl Hamacher, Zvonks Vranesic, SafeaZaky, Vth Edition, McGraw Hill.

    2. Computer Systems Architecture M.Moris Mano, IIIrd Edition, Pearson/PHI

    REFERENCES :

    1. Computer Organization and Architecture William Stallings Sixth Edition, Pearson/PHI

    2. Structured Computer Organization Andrew S. Tanenbaum, 4th Edition PHI/Pearson

    3. Fundamentals or Computer Organization and Design, - Sivaraama Dandamudi Springer Int. Edition.

    4. Computer Architecture a quantitative approach, John L. Hennessy and David A. Patterson, Fourth Edition Elsevier

    5.Computer Architecture: Fundamentals and principles of Computer Design, Joseph D. Dumas II, BS Publication.

  • 7/29/2019 Demo Course File

    6/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO6

    ame of faulty:sayyada mubeen & chaitanya page no6

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLOGYHimayathsagar, Hyderabad-8

    PLAN OF SYLLABUS COVERAGE

    SUBJECT:

    YEAR/SEMESTER/BRANCH:

    TOTAL NO. OF WEEKS AS PER ACADEMIC CALENDER:

    S.No. Unit Syllabus to be Covered Period Week1 1 Basic structure of computer

    Computer types and introduction

    Functional units and basic concepts

    Bus structure

    s/w performance

    Multiprocers and Multicomputer

    Data types complements

    Data representation and fixed point

    Error Detection codes

    2 2 RTL and Microoperatins

    Register transfer languageBus and Memory transfer

    Arthemetic Micro operations

    Logic micro operations

    ALU shift Instruction codes

    Computer Instruction

    Input Output Interupt

    Stack Organisation

    Micro program ,Micro program control

    3 3 Micro pragramed control

    Control Memory

    Address sequenceAdressing modes

    Data transfer and manipulation

    Reduced instruction set of computer

    4 4 Computer Arthemmetic

  • 7/29/2019 Demo Course File

    7/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO7

    ame of faulty:sayyada mubeen & chaitanya page no7

    Sign of the Concerned Faculty Head of the Department

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLOGYHimayathsagar, Hyderabad-8

    PLAN OF SYLLABUS COVERAGE

    SUBJECT:

    YEAR/SEMESTER/BRANCH:

    TOTAL NO. OF WEEKS AS PER ACADEMIC CALENDER:

    S.No. Unit Syllabus to be Covered Period Week4 Multipling alogarithim,Addition

    Subtraction alogarithim

    Division algorithim

    Floating point algorithim

    Division problems

    5 5 Memory hierarchy system

    Auxilary Associative

    Cache memory

    Virtual Memory management

    6 6 Peripheral Devices input output

    Data transmission modePriority DMA

    Serial Communication

    Data Modes

    7 7 Parallel processing

    Pipeline Arithmetic

    Instructing pipeline

    RISC pipeline

    Vector processing features

    Array processing

    8 8 Multiprocessors

    StructuresIPC

    Synchronization

    Cache coherence

    Sign of the Concerned Faculty Head of the Department

  • 7/29/2019 Demo Course File

    8/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO8

    ame of faulty:sayyada mubeen & chaitanya page no8

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLOGYHimayathsagar, Hyderabad-8

    TEACHING DIARY

    S.No Date No.ofPeriods

    CumulativePeriods

    Syllabus Covered Sign

    1 21/7 2 2 Basic structure of computer

    2 23/7 2 4 Computer types and introduction3 26/7 1 5 Functional units and basic concepts

    4 27/7 1 6 Bus structure

    5 28/7 1 7 s/w performance

    6 29/7 1 8 Multiprocers and Multicomputer

    7 31/7 1 9 Data types complements

    8 3/8 1 10 Data representation and fixed point

    9 4/8 1 11 Error Detection codes

    10 5/8 2 13 RTL and Microoperatins

    11 6/8 1 14 Register transfer language

    12 9/8 1 15 Bus and Memory transfer

    13 10/8 1 16 Arthemetic Micro operations

    14 16/8 1 17 Logic micro operations

    15 17/8 1 18 ALU shift Instruction codes

    16 18/8 1 19 Computer Instruction

    17 19/8 1 20 Input Output Interupt

    18 21/8 2 22 Stack Organisation

    19 23/8 2 24 Micro program ,Micro program control

    20 24/8 1 25 Micro pragramed control

    21 24/8 1 26 Control Memory

    22 25/8 1 27 Address sequence

    23 25/8 1 28 Adressing modes24 26/8 1 29 Computer Arthemmetic

    Head of the Department PRINCIPAL

  • 7/29/2019 Demo Course File

    9/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO9

    ame of faulty:sayyada mubeen & chaitanya page no9

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLOGYHimayathsagar, Hyderabad-8

    TEACHING DIARY

    S.No Date No.ofPeriods

    CumulativePeriods

    Syllabus Covered Sign

    25 28/8 1 30 Multipling alogarithim,Addition26 28/8 1 31 Subtraction alogarithim

    27 2/9 2 33 Division algorithim

    28 3/9 2 35 Floating point algorithim

    29 6/9 2 37 Memory hierarchy system

    30 7/9 1 38 Auxilary Associative

    31 8/9 1 39 Cache memory

    32 8/9 1 40 Virtual Memory management

    33 16/9 1 41 Peripheral Devices input output

    34 17/9 1 42 Data transmission mode

    35 18/9 1 43 Priority DMA

    36 20/9 1 44 Serial Communication

    37 21/9 2 45 Data Modes

    38 28/9 1 46 Parallel processing

    39 29/9 2 48 Pipeline Arithmetic

    40 30/9 1 49 Instructing pipeline

    41 4/10 1 50 RISC pipeline and vector processing

    42 5/10 1 51 Array processing

    43 8/10 1 52 Multiprocessors

    44 9/10 2 54 Structures

    45 11/10 2 56 IPC

    46 12/10 2 58 Synchronization

    47 14/10 1 59 Cache coherence

    48 18/10 1 60 cache

    Head of the Department PRINCIPAL

  • 7/29/2019 Demo Course File

    10/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO10

    ame of faulty:sayyada mubeen & chaitanya page no10

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLOGYHimayathsagar, Hyderabad-8

    TEACHING DIARY

    S.No Date No.ofPeriods

    CumulativePeriods

    Syllabus Covered Sign

    49 20/10 1 61 Revision on 1, 250 21/10 2 63 Revision of 3,4

    51 25/10 2 65 Revision of 5

    52 27/10 3 68 Revision of 6,7

    53 27/10 2 70 Revision of 8

    55 28/10 3 73 Revision Test

    Head of the Department PRINCIPAL

  • 7/29/2019 Demo Course File

    11/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO11

    ame of faulty:sayyada mubeen & chaitanya page no11

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLOGYHimayathsagar, Hyderabad-8

    TIME TABLE

    Day/Period I II III IV V VI VII VIII

    Monday L co

    Tuesday U co

    Wednesday N co

    Thursday co CCo(tut)

    Friday H

    Saturday co

    COURSE FILE LORDS INSTITUTE OFENGINEERING & TECHNOLOGY PAGE NO:

  • 7/29/2019 Demo Course File

    12/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO12

    ame of faulty:sayyada mubeen & chaitanya page no12

    SUBJECT:

    YEAR/SEMESTER:

    BRANCH:

    NAME OF THE FACULTY:

    UNIT-1

    BASIC STRUCTURE OF COMPUTERS

    Computer Types

    Digital Computer is a fast electronic calculating machine that accepts digitized input information, processes it according to a list of internally stored instructions, and produces the resulting output information.

    Many types of computers exist that differ widely in Size, Cost,Computational Power and

    intended Use Personal Computer/ Desktop computers Portable Notebook Computers Work Stations Enterprise System Servers Super Computers

    Figure 1.1 Block diagram of a digital computer.

    Functional Units

  • 7/29/2019 Demo Course File

    13/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO13

    ame of faulty:sayyada mubeen & chaitanya page no13

    FunctionalUnits

    A digital computer consists of five functionally independent parts. Input

    Output Memory Unit Arithmetic and Logic Unit Control Unit

    INPUT UNIT: computers accept coded information through input units, which reads thedata.

    Ex: Keyboard, Mouse, joy sticks. Output Units:

    Table (1.1) Basic identities of Boolean Algebra.

    BUS STRUCTURES

    There are different types of buses

    They are

    a)controll bus

    b)data bus

    A bus structure comprises a plurality of driver circuits, each driver circuit comprising an inputfor a first signal and a terminal for an output signal wherein each driver circuit is capable of

    providing the output signal at the terminal upon receipt of the first signal, a parallel buscomprising a plurality of output signal lines at a receiving end, being connectable to a target

    component, each of the signal lines extending at least from the receiving end to the terminal of a

    different one of the plurality of driver circuits, such that a length of the output signal linebetween the receiving end and the respective driver circuits decreases in a connection order

    among the plurality of driver circuits, and a signal line coupled to each of the inputs of the driver

    circuits in the connection order.

    MULTIPROCESSORS AND MULTICOMPUTERS

    multicomputer-- A computer made up of several computers. The term generally refers to an

    architecture in which each processor has its own memory rather than multiple processors with a

    shared memory.

  • 7/29/2019 Demo Course File

    14/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO14

    ame of faulty:sayyada mubeen & chaitanya page no14

    Something similiar to parallel computing.

    Distributed computing deals with hardware and software systems containing more than one

    processing

    element or storage element, concurrent processes, or multiple programs, running under a loosely

    or tightly controlled regime. A multicomputer may be considered to be either a loosely coupledNUMA computer or a tightly coupled cluster. Multicomputers are commonly used when strong

    computer power is required in an environment with restricted physical space or electrical power.

    Common suppliers include Mercury Computer Systems, CSPI, and SKY Computers.

    Common uses include 3D medical imaging devices and mobile radar.

    In distributed computing a program is split up into parts that run simultaneously on multiple

    computers communicating over a network. Distributed computing is a form of parallel

    computing, but parallel computing is most commonly used to describe program parts running

    simultaneously on multiple processors in the same computer. Both types of processing requiredividing a program into parts thatcan run simultaneously, but distributed programs often must

    deal with heterogeneous environments, network links of varying latencies, and unpredictablefailures in the network or the computers.

    multiprocessor-- A multiprocessor system is simply a computer that has more than one CPU on

    its motherboard. If the operating system is built to take advantage of this, it can run differentprocesses(or different threads belonging to the same process) on different CPUs.

    Multiprocessing is the use of two or more central processing units (CPUs) within a single

    computer system. The term also refers to the ability of a system to support more than one

    processor and/or the ability to allocate tasks between them.[1] There are many variations on thisbasic theme, and the definition of multiprocessing can vary with context, mostly as a function of

    how CPUs are defined (multiple cores on one die, multiple chips in one package, multiple

    packages in one system unit, etc.).

    BASIC OPERATONAL CONCEPTS

    DATA REPRESENTATION

    Information that a Computer is dealing with

    * Data

    - Numeric Data

    Numbers( Integer, real)

    - Non-numeric Data

  • 7/29/2019 Demo Course File

    15/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO15

    ame of faulty:sayyada mubeen & chaitanya page no15

    Letters, Symbols

    * Relationship between data elements

    - Data Structures

    Linear Lists, Trees, Rings, etc

    NUMERIC DATA REPRESENTATION

    R = 10 Decimal number system, R = 2 Binary

    R = 8 Octal, R = 16 Hexadecimal

    Radix point(.) separates the integer

    portion and the fractional portion

    Data

    Numeric data - numbers(integer, real)

    Non-numeric data - symbols, letters

    Number System

    Nonpositional number system

    - Roman number system

    Positional number system

    - Each digit position has a value called a weight associated with it

    - Decimal, Octal, Hexadecimal, Binary

    Base (or radix) R number

    - Uses R distinct symbols for each digit

    - Example AR

    = an-1

    an-2

    ...a1

    a0

    .a-1

    a-m

    Table for addition is infinite

    --> Impossible to build, very expensive even

    if it can be built

  • 7/29/2019 Demo Course File

    16/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO16

    ame of faulty:sayyada mubeen & chaitanya page no16

    * Positional Number System

    - Table for Addition is finite

    --> Physically realizable, but cost wise

    the smaller the table size, the less

    expensive --> Binary is favorable to Decimal

    0 1 2 3 4 5 6 7 8 9

    0 0 1 2 3 4 5 6 7 8 9

    1 1 2 3 4 5 6 7 8 9 10

    2 2 3 4 5 6 7 8 9 1011

    3 3 4 5 6 7 8 9 101112

    4 4 5 6 7 8 9 10111213

    5 5 6 7 8 9 1011121314

    6 6 7 8 9 101112131415

    7 7 8 9 10111213141516

    8 8 9 1011121314151617

    9 9 101112131415161718

    REPRESENTATION OF NUMBERS - POSITIONAL NUMBERS

    Decimal Binary Octal Hexadecimal

    00 0000 00 0

    01 0001 01 1

    02 0010 02 2

    03 0011 03 3

    04 0100 04 4

    05 0101 05 5

    06 0110 06 6

    07 0111 07 7

  • 7/29/2019 Demo Course File

    17/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO17

    ame of faulty:sayyada mubeen & chaitanya page no17

    08 1000 10 8

    09 1001 11 9

    10 1010 12 A

    11 1011 13 B

    12 1100 14 C

    13 1101 15 D

    14 1110 16 E

    15 1111 17 F

    CONVERSION OF BASES

    Decimal to Base R number

    Base R to Decimal Conversion

    V(A) = ak k

    A = an-1 an-2 an-3 a0 . a-1 a-m

    (736.4)

    8

    = 7 x 82 + 3 x 81 + 6 x 80 + 4 x 8-1

    = 7 x 64 + 3 x 8 + 6 x 1 + 4/8 = (478.5)10

    (110110)2 = ... = (54)10

    (110.111)2 = ... = (6.785)10

    (F3)16 = ... = (243)10

    (0.325)6 = ... = (0.578703703 .................)10

    - Separate the number into its integer and fraction parts and convert each partseparately.

    - Convert integer part into the base R number

    successive divisions by R and accumulation of the remainders.

    - Convert fraction part into the base R number

  • 7/29/2019 Demo Course File

    18/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO18

    ame of faulty:sayyada mubeen & chaitanya page no18

    successive multiplications by R and accumulation of integer digits

    EXAMPLE

    Convert 41.687510 to base 2.

    Integer = 41

    41

    20 1

    10 0

    5 0

    2 1

    1 0

    0 1

    Fraction = 0.6875

    0.6875

    x 2

    1.3750

    x 2

    0.7500

    x 2

    1.5000

    x 2

    1.0000

    (41)10 = (101001)2 (0.6875)10 =(0.1011)2

    (41.6875)10 = (101001.1011)2

    Convert (63)10 to base 5: (223)5

    Convert (1863)10 to base 8: (3507)8

  • 7/29/2019 Demo Course File

    19/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO19

    ame of faulty:sayyada mubeen & chaitanya page no19

    Convert (0.63671875)10 to hexadecimal: (0.A3)16

    COMPLEMENT OF NUMBERS

    Two types of complements for base R number system:

    - R's complement and (R-1)'s complement

    The (R-1)'s Complement

    Subtract each digit of a number from (R-1)

    Example

    - 9's complement of 83510 is 16410

    - 1's complement of 10102 is 01012(bit by bit complement operation)

    The R's Complement

    Add 1 to the low-order digit of its (R-1)'s complement

    Example

    - 10's complement of 83510 is 16410 + 1 = 16510

    - 2's complement of 10102 is 01012 + 1 = 01102

    FIXED POINT REPRESENTATION

    Binary Fixed-Point Representation

    X = xnxn-1xn-2 ... x1x0. x-1x-2 ... x-m

    Sign Bit(xn): 0 for positive - 1 for negative

    Remaining Bits(xn-1xn-2 ... x1x0. x-1x-2 ... x-m)

    Numbers: Fixed Point Numbers and Floating Point Numbers

    SIGNED NUMBERS

    Signed magnitude representation

    Signed 1's complement representation

    Signed 2's complement representation

  • 7/29/2019 Demo Course File

    20/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO20

    ame of faulty:sayyada mubeen & chaitanya page no20

    Example: Represent +9 and -9 in 7 bit-binary number

    Only one way to represent +9 ==> 0 001001

    Three different ways to represent -9:

    In signed-magnitude: 1 001001

    In signed-1's complement: 1 110110

    In signed-2's complement: 1 110111

    In general, in computers, fixed point numbers are represented

    either integer part only or fractional part only.

    Need to be able to represent both positive and negative numbers

    CHARACTERISTICS OF 3 DIFFERENT REPRESENTATIONS

    Complement

    Signed magnitude: Complement only the sign bit

    Signed 1's complement: Complement all the bits including sign bit

    Signed 2's complement: Take the 2's complement of the number,

    Maximum and Minimum Representable Numbers and Representation of Zero

    X = xn xn-1 ... x0 . x-1 ... x-m

    Signed Magnitude

    Max: 2n - 2-m 011 ... 11.11 ... 1

    Min: -(2n - 2-m) 111 ... 11.11 ... 1

    Zero: +0 000 ... 00.00 ... 0

    -0 100 ... 00.00 ... 0

    Signed 1s Complement

  • 7/29/2019 Demo Course File

    21/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO21

    ame of faulty:sayyada mubeen & chaitanya page no21

    Max: 2n - 2-m 011 ... 11.11 ... 1

    Min: -(2n - 2-m) 100 ... 00.00 ... 0

    Zero: +0 000 ... 00.00 ... 0

    -0 111 ... 11.11 ... 1

    signed 2s Complement

    Max: 2n - 2-m 011 ... 11.11 ... 1

    Min: -2n 100 ... 00.00 ... 0

    Zero: 0 000 ... 00.00 ... 0

    2s COMPLEMENT REPRESENTATION WEIGHTS

    Signed 2s complement representation follows a weight scheme similar to that ofunsigned numbers

    Sign bit has negative weight Other bits have regular weights

    X = xn xn-1 ... x0

    V(X) = - xn 2n + xi 2ii = 0n-1 V(X) = - xn 2n + xi 2ii = 0n-1

  • 7/29/2019 Demo Course File

    22/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO22

    ame of faulty:sayyada mubeen & chaitanya page no22

    ERROR DETECTING CODES

    Simplest is the Parity System

    Simplest method for error detection

    - One parity bit attached to the information

    - Even Parity and Odd Parity

    Even Parity

    - One bit is attached to the information so that

    the total number of 1 bits is an even number

    1011001 0

    1010010 1

    Odd Parity

    One bit is attached to the information so that the total number of 1 bits is an odd number

    OTHER DECIMAL CODESDecimal BCD(8421) 2421 84-2-1 Excess-3

    0 0000 0000 0000 0011

    1 0001 0001 0111 0100

    2 0010 0010 0110 01013 0011 0011 0101 0110

    4 0100 0100 0100 0111

    5 0101 1011 1011 1000

    6 0110 1100 1010 1001

    7 0111 1101 1001 1010

    8 1000 1110 1000 1011

    9 1001 1111 1111 1100 d3 d2 d1 d0: symbol in the codes

    BCD: d3 x 8 + d2 x 4 + d1 x 2 + d0 x 1

    8421 code.2421: d3 x 2 + d2 x 4 + d1 x 2 + d0 x 1

    84-2-1: d3 x 8 + d2 x 4 + d1 x (-2) + d0 x (-1)

    Excess-3: BCD + 3

    Note: 8,4,2,-2,1,-1 in this table is the weightassociated with each bit position.

    BCD: It is difficult to obtain the 9's complement.However, it is easily obtained with the other codes listed above.

    Self-complementing codes

    External Representations

  • 7/29/2019 Demo Course File

    23/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO23

    ame of faulty:sayyada mubeen & chaitanya page no23

    COURSE FILE LORDS INSTITUTE OFENGINEERING & TECHNOLOGY PAGE NO:

    SUBJECT:

    YEAR/SEMESTER:

    BRANCH:

    NAME OF THE FACULTY:

    UNIT2

    REGISTER TRANSFER LANGUAGE

    Combinational and sequential circuits can be used to create simple digital systems.

    These are the low-level building blocks of a digital computer. Simple digital systems are frequently characterized in terms of

    the registers they contain, and the operations that they perform.

    Typically, What operations are performed on the data in the registers What information is passed between registers

    MICROOPERATIONS (1)

    The operations executed on data stored in registers are called microoperations. Examples of microoperations

    Shift Load Clear Increment Count

    MICROOPERATION (2)

    An elementary operation performed (during one clock pulse), on the information stored in one

    or more registers.

    R f(R, R)

    f: shift, load, clear, increment, add, subtract, complement,

  • 7/29/2019 Demo Course File

    24/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO24

    ame of faulty:sayyada mubeen & chaitanya page no24

    and, or, xor,

    INTERNAL HARDWAREORGANIZATION OF A DIGITAL SYSTEM

    - Set of registers it contains and their function

    - The sequence of microoperations performed on the binary information stored in the registers

    - Control signals that initiate the sequence of

    microoperations (to perform the functions)

    Definition of the internal hardware organization of a computer

    REGISTER TRANSFER LANGUAGE

    The symbolic notation used to describe the microoperation transfers among registers iscalled a

    Register transfer language.

    Register transfer language A symbolic language A convenient tool for describing the internal organization of digital computers Can also be used to facilitate the design process of digital systems.

    ALU(f)

    Registers(R)

    ALU(f)

    Registers(R)

  • 7/29/2019 Demo Course File

    25/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO25

    ame of faulty:sayyada mubeen & chaitanya page no25

    Often we want the transfer to occur only under a predetermined control condition.

    if (p=1) then (R2 R1)

    where p is a control signal generated in the control section.

    In digital systems, this is often done via a control signal, called a control function

    If the signal is 1, the action takes place

    This is represented as:

    P: R2 R1

    Which means if P = 1, then load the contents of register R1 into register R2, i.e., if (P = 1)

    then

    (R2 R1)

    Register Transfer

    Registers are designated by capital letters, sometimes followed by numbers (e.g., A, R13,IR).

    Often the names indicate function: MAR - memory address register PC - program counter IR - instruction register

    Often we want the transfer to occur only under a predetermined control condition.

    if (p=1) then (R2 R1)

    where p is a control signal generated in the control section.

    R1

    Register R

    Numbering of bits

    Showing individual bits

    Subfields (Divided into two parts)

    PC(H) PC(L)

    15 8 7 0

    Block diagram of a register

    7 6 5 4 3 2 1 0

    R2

    15 0

  • 7/29/2019 Demo Course File

    26/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO26

    ame of faulty:sayyada mubeen & chaitanya page no26

    In digital systems, this is often done via a control signal, called a control function If the signal is 1, the action takes place

    This is represented as:

    P: R2 R1

    Which means if P = 1, then load the contents of register R1 into register R2, i.e., if (P = 1)then

    (R2 R1)

    SIMULTANEOUS OPERATIONS

    If two or more operations are to occur simultaneously, they are separated with commas

    P: R3 R5, MAR IR

    Here, if the control function P = 1, load the contents of R5 into R3, and at the same time(clock),

    load the contents of register IR into register MAR

    BUS AND MEMORY TRANSFERS

    HARDWARE IMPLEMENTATION OF CONTROLLED

    TRANSFERSImplementation of controlled transfer

    P: R2 R1

    Block diagram

    Timing diagram

    Clock

    Transfer occurs here

    R2

    R1

    ControlCircuit

    LoadP

    n

    Clock

    Load

    t t+1

    The same clock controls the circuits that generate the control function

    and the destination register Registers are assumed to use positive-edge-triggered flip-flops

  • 7/29/2019 Demo Course File

    27/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO27

    ame of faulty:sayyada mubeen & chaitanya page no27

    Bus is a path(of a group of wires) over which information is transferred, from any of several

    sources to any of several destinations.

    From a register to bus BUS R

    Bus and Memory Transfers

    BUS TRANSFER IN RTL

    Depending on whether the bus is to be mentioned explicitly or not, register transfer canbe indicated.

    In the former case the bus is implicit, but in the latter, it is explicitly indicated

    R2 R1

    BUS R1, R2 BUS

    MEMORY (RAM)

    Memory (RAM) can be thought as a sequential circuits containing some number of registers

    These registers hold the words of memory Each of the r registers is indicated by an address These addresses range from 0 to r-1

    1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

    Register A Register B Register C Register D

    B C D1 1 1

    4 x1MUX

    B C D2 2 2

    4 x1MUX

    B C D3 3 3

    4 x1MUX

    B C D4 4 4

    4 x1MUX

    4-line bus

    x

    yselect

    0 0 0 0

    1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4

    Register A Register B Register C Register D

    B C D1 1 1

    4 x1MUX

    B C D2 2 2

    4 x1MUX

    B C D3 3 3

    4 x1MUX

    B C D4 4 4

    4 x1MUX

    4-line bus

    x

    yselect

    0 0 0 0

    Register A Register B Register C Register D

    Bus lines

    Register A Register B Register C Register D

    Bus lines

  • 7/29/2019 Demo Course File

    28/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO28

    ame of faulty:sayyada mubeen & chaitanya page no28

    Each register (word) can hold n bits of data Assume the RAM contains r = 2k words. It needs the following

    n data input lines n data output lines k address lines

    A Read control line A Write control line

    MEMORY TRANSFER

    Collectively, the memory is viewed at the register level as a device, M. Since it contains multiple locations, we must specify which address in memory we will

    be using This is done by indexing memory references Memory is usually accessed in computer systems by putting the desired address in a

    special register, the Memory Address Register (MAR, or AR)

    When memory is accessed, the contents of the MAR get sent to the memory unitsaddress lines

    M

    MEMORY READ

    data input lines

    data output lines

    n

    n

    k

    address lines

    Read

    Write

    RAMunit

    data input lines

    data output lines

    n

    n

    k

    address lines

    Read

    Write

    RAMunit

    ARMemory

    unit

    Read

    Write

    Data inData out

    ARMemory

    unit

    Read

    Write

    Data inData out

  • 7/29/2019 Demo Course File

    29/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO29

    ame of faulty:sayyada mubeen & chaitanya page no29

    To read a value from a location in memory and load it into a register, the register transferlanguage

    notation looks like this:

    This causes the following to occur The contents of the MAR get sent to the memory address lines A Read (= 1) gets sent to the memory unit The contents of the specified address are put on the memorys output data lines These get sent over the bus to be loaded into register R1

    R1 M[MAR]

    MEMORY WRITE

    To write a value from a register to a location in memory looks like this in register transferlanguage:

    This causes the following to occur The contents of the MAR get sent to the memory address lines A Write (= 1) gets sent to the memory unit The values in register R1 get sent over the bus to the data input lines of the

    memory The values get loaded into the specified address in the memory

    ARITHMETIC MICROOPERATIONS

    Computer system microoperations are of four types:

    1. Register transfer microoperations transfer binary information from one register to another

    2. Arithmetic microoperationsperform arithmetic operations on numeric data stored in registers.

    3. Logic microoperationsperform bit manipulation operations on non numeric data stored in

    registers.

    4. Shift microoperationsperform shift operations on data stored in registers.

    Table: Arithmetic Micro-Operations

    R3 R1 + R2 Contents of R1 plus R2 transferred to R3

    R3 R1 - R2 Contents of R1 minus R2 transferred to R3

    R2 R2 Complement the contents of R2

  • 7/29/2019 Demo Course File

    30/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO30

    ame of faulty:sayyada mubeen & chaitanya page no30

    R2 R2+ 1 2's complement the contents of R2 (negate)

    R3 R1 + R2+ 1 subtraction

    R1 R1 + 1 Increment

    R1 R1 - 1 Decrement

    The basic arithmetic microoperations are

    Addition Subtraction Increment Decrement

    The additional arithmetic microoperations are Add with carry Subtract with borrow

    Transfer/Load etc.

    BINARY ADDER / SUBTRACTOR / INCREMENTER

    Binary Adder-Subtractor

    Binary

    Incrementer

    FA

    B0 A0

    S0

    C0FA

    B1 A1

    S1

    C1FA

    B2 A2

    S2

    C2FA

    B3 A3

    S3

    C3

    C4

    FA

    B0 A0

    S0

    C0C1FA

    B1 A1

    S1

    C2FA

    B2 A2

    S2

    C3FA

    B3 A3

    S3C4

    M

  • 7/29/2019 Demo Course File

    31/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO31

    ame of faulty:sayyada mubeen & chaitanya page no31

    Binary Adder

    LOGIC MICROOPERATIONS

    It specifies binary operations on the strings of bits stored in registers Logic microoperations are bit-wise operations, i.e., they work on the individual

    bits of data useful for bit manipulations on binary data useful for making logical decisions based on the bit value

    There are, in principle, 16 different logic functions that can be defined over two binaryinput variables

    However, most systems only implement four of these

    AND (), OR (), XOR (), Complement/NOT

    The others can be created from combination of these

    LIST OF LOGIC MICROOPERATIONS

    0 0 0 0 F0 = 0 F 0 Clear

    HA

    x y

    C S

    A0 1

    S0

    HA

    x y

    C S

    A1

    S1

    HA

    x y

    C S

    A2

    S2

    HA

    x y

    C S

    A3

    S3C4

    0 0 0 0 0 1 1 10 1 0 0 0 1 1 11 0 0 0 1 0 1 11 1 0 1 0 1 0 1

    A B F0 F1 F2 F13 F14 F15

    0 0 0 0 0 1 1 10 1 0 0 0 1 1 11 0 0 0 1 0 1 11 1 0 1 0 1 0 1

    A B F0 F1 F2 F13 F14 F15

  • 7/29/2019 Demo Course File

    32/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO32

    ame of faulty:sayyada mubeen & chaitanya page no32

    0 0 0 1 F1 = xy F A B AND

    0 0 1 0 F2 = xy' F A B

    0 0 1 1 F3 = x F A Transfer A

    0 1 0 0 F4 = x'y F A B

    0 1 0 1 F5 = y F B Transfer B

    0 1 1 0 F6 = x y F A B Exclusive-OR

    0 1 1 1 F7 = x + y F A B OR

    1 0 0 0 F8 = (x + y)' F A B) NOR

    1 0 0 1 F9 = (x y)' F (A B) Exclusive-NOR

    1 0 1 0 F10 = y' F B Complement B

    HARDWARE IMPLEMENTATION OF LOGIC MICROOPERATIONS

    0 0 F = A B AND

    0 1 F = AB OR

    1 0 F = A B XOR

    1 1 F = A Complement

    APPLICATIONS OF LOGIC MICROOPERATIONS

    Logic microoperations can be used to manipulate individual bits or a portions of a word in aregisterConsider the data in a register A. In another register, B, is bit data that will be used to

    modify the contents of A

    Selective-set A A + B Selective-complement A A B Selective-clear A A B Mask (Delete) A A B Clear A A B Insert A (A B) + C Compare A A B

  • 7/29/2019 Demo Course File

    33/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO33

    ame of faulty:sayyada mubeen & chaitanya page no33

    SELECTIVE SET

    In a selective set operation, the bit pattern in B is used to set certain bits in A1 1 0 0 At

    1 0 1 0 B

    1 1 1 0 At+1 (A A + B)

    If a bit in B is set to 1, that same position in A gets set to 1, otherwise that bit in A keepsits previous

    value

    SELECTIVE COMPLEMENT

    In a selective complement operation, the bit pattern in B is used to complement certainbits in A1 1 0 0 At

    1 0 1 0 B

    0 1 1 0 At+1 (A A B)

    If a bit in B is set to 1, that same position in A gets complemented from its original value,otherwise

    it is unchanged

    SELECTIVE CLEAR

    In a selective clear operation, the bit pattern in B is used to clear certain bits in A1 1 0 0 At

    1 0 1 0 B

    0 1 0 0 At+1 (A A B)

    If a bit in B is set to 1, that same position in A gets set to 0, otherwise it is unchanged

    MASK OPERATION

    In a mask operation, the bit pattern in B is used to clear certain bits in A

    1 1 0 0 At

  • 7/29/2019 Demo Course File

    34/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO34

    ame of faulty:sayyada mubeen & chaitanya page no34

    1 0 1 0 B

    1 0 0 0 At+1 (A A B)

    If a bit in B is set to 0, that same position in A gets set to 0, otherwise it is unchanged

    CLEAR OPERATION

    In a clear operation, if the bits in the same position in A and B are the same, they arecleared in A,

    otherwise they are set in A

    1 1 0 0 At

    1 0 1 0 B

    0 1 1 0 At+1 (A A B)

    INSERT OPERATION

    An insert operation is used to introduce a specific bit pattern into A register, leaving theother bit

    positions unchanged

    This is done as A mask operation to clear the desired bit positions, followed by An OR operation to introduce the new bits into the desired positions

    Example Suppose you wanted to introduce 1010 into the low order four bits of A: 1101 1000 1011 0001 A (Original) 1101 1000 1011 1010 A (Desired)

    1101 1000 1011 0001 A (Original)1111 1111 1111 0000 Mask

    1101 1000 1011 0000 A (Intermediate)

    0000 0000 0000 1010 Added bits

    1101 1000 1011 1010 A (Desired)

  • 7/29/2019 Demo Course File

    35/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO35

    ame of faulty:sayyada mubeen & chaitanya page no35

    SHIFT MICROOPERATIONS

    Shift microoperations are used for serial transfer of data. The information transferred through the serial input determines the type of shift. There

    are threetypes of shifts

    Logical shift Circular shift Arithmetic shift

    LOGICAL SHIFT

    In a logical shift the serial input to the shift is a 0. A right logical shift operation: A left logical shift operation: In a Register Transfer Language, the following notation is used

    shl for a logical shift left shr for a logical shift right Examples:

    R2 shr R2 R3 shl R3

    CIRCULAR SHIFT

    In a circular shift the serial input is the bit that is shifted out of the other end of theregister.

    A right circular shift operation: A left circular shift operation: In a RTL, the following notation is used

    cil for a circular shift left cir for a circular shift right Examples:

    R2 cir R2

    00

    00

  • 7/29/2019 Demo Course File

    36/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO36

    ame of faulty:sayyada mubeen & chaitanya page no36

    R3 cil R3

    ARITHMETIC SHIFT

    An arithmetic shift is meant for signed binary numbers (integer) An arithmetic left shift multiplies a signed numberby two An arithmetic right shift divides a signed numberby two The main distinction of an arithmetic shift is that it must keep the sign of the number the

    same as it

    performs the multiplication or division

    A left arithmetic shift operation:

    00

    ARITHMETIC SHIFT

    An left arithmetic shift operation must

    checked for the overflow

    VBefore the shift, ifbits differ, the shi

    overflow

    In a RTL, the following notation is use ashl for an arithmetic shift left ashr for an arithmetic shift right

    Examples: R2 ashr R2

    R3 ashl R3

    signbit

  • 7/29/2019 Demo Course File

    37/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO37

    ame of faulty:sayyada mubeen & chaitanya page no37

    AR

    ITHMETIC LOGIC SHIFT UNIT

    S3 S2 S1 S0 Cin Operation Function

    0 0 0 0 0 F = A Transfer A

    0 0 0 0 1 F = A + 1 Increment A

    0 0 0 1 0 F = A + B Addition

    0 0 0 1 1 F = A + B + 1 Add with carry

    INSTRUCTION CODES

    Every different processor type has its own design (different registers, buses,

    microoperations,

    machine instructions, etc)

    Modern processor is a very complex device

    It containMany registers

    Multiple arithmetic units, for both integer and floating point calculations

    The ability to pipeline several consecutive instructions to speed execution

    ARITHMETIC LOGIC SHIFT UNIT

    S3 S2 S1 S0 Cin Operation Function0 0 0 0 0 F = A Transfer A0 0 0 0 1 F = A + 1 Increment A0 0 0 1 0 F = A + B Addition0 0 0 1 1 F = A + B + 1 Add with carry0 0 1 0 0 F = A + B Subtract with borrow0 0 1 0 1 F = A + B+ 1 Subtraction0 0 1 1 0 F = A - 1 Decrement A0 0 1 1 1 F = A TransferA0 1 0 0 X F = A B AND0 1 0 1 X F = A B OR0 1 1 0 X F = A B XOR0 1 1 1 X F = A Complement A1 0 X X X F = shr A Shift right A into F1 1 X X X F = shl A Shift left A into F

    ArithmeticCircuit

    LogicCircuit

    C

    C 4 x 1MUX

    Select

    0123

    F

    S3S2S1S0

    BA

    i

    A

    D

    A

    E

    shrshl

    i+1 i

    ii

    i+1i-1

    i

    i

  • 7/29/2019 Demo Course File

    38/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO38

    ame of faulty:sayyada mubeen & chaitanya page no38

    However, to understand how processors work, we will start with a simplified processor

    model This is similar to what real processors were like ~25 years ago

    M. Morris Mano introduces a simple processor model he calls theBasic Computer

    We will use this to introduce processor organization and the relationship of the RTL model tothe higher level computer processor

    INSTRUCTION CYCLE

    In Basic Computer, a machine instruction is executed in the following cycle:

    1. Fetch an instruction from memory

    2. Decode the instruction

    3. Read the effective address from memory if the instruction has an indirect address

    4. Execute the instruction

    After an instruction is executed, the cycle starts again at step 1, for the next instruction

    Note: Every different processor has its own (different) instruction cycle

    COMPUTER INSTRUCTIONS

    Instructions

    Basic Computer Instruction Format

    15 14 12 11 0

    I Opcode Address

    Memory-Reference Instructions (OP-code = 000 ~ 110)

    Register-Reference Instructions (OP-code = 111, I = 0)

    Input-Output Instructions (OP-code =111, I = 1)

    15 12 11 0

    Register operation0 1 1 1

    15 12 11 0

    I/O operation1 1 1 1

  • 7/29/2019 Demo Course File

    39/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO39

    ame of faulty:sayyada mubeen & chaitanya page no39

    FETCH and DECODE

    Fetch and Decode T0: AR PC (S0S1S2=010, T0=1)T1: IR M [AR], PC PC + 1 (S0S1S2=111, T1=1)T2: D0, . . . , D7 Decode IR(12-14), AR IR(0-11), I IR(15)

    S2

    S1

    S0

    Bus

    7Memory

    unitAddress

    Read

    AR

    LD

    PC

    INR

    IR

    LD Clock

    1

    2

    5

    Common bus

    T1

    T0

    Instruction Cycle

    INPUT-OUTPUT AND INTERRUPT

    Input-Output Configuration

    INPR Input register - 8 bitsOUTR Output register - 8 bitsFGI Input flag - 1 bitFGO Output flag - 1 bitIEN Interrupt enable - 1 bit

    - The terminal sends and receives serial information- The serial info. from the keyboard is shifted into INPR- The serial info. for the printer is stored in the OUTR- INPR and OUTR communicate with the terminal

    serially and with the AC in parallel.- The flags are needed to synchronize the timing

    difference between I/O device and the computer

    A Terminal with a keyboard and a Printer

    I/O and Interrupt

    Input-outputterminal

    Serialcommunication

    interface

    Computerregisters andflip-flops

    Printer

    Keyboard

    Receiverinterface

    Transmitterinterface

    FGOOUTR

    AC

    INPR FGI

    Serial Communications Path

    Parallel Communications Path

  • 7/29/2019 Demo Course File

    40/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO40

    ame of faulty:sayyada mubeen & chaitanya page no40

    ARITHMETIC LOGIC SHIFT UNIT

    S3 S2 S1 S0 Cin Operation Function

    0 0 0 0 0 F = A Transfer A

    0 0 0 0 1 F = A + 1 Increment A

    0 0 0 1 0 F = A + B Addition

    0 0 0 1 1 F = A + B + 1 Add with carry

    0 0 1 0 0 F = A + B Subtract with borrow

    0 0 1 0 1 F = A + B+ 1 Subtraction

    0 0 1 1 0 F = A - 1 Decrement A

    1 0 X X X F = shr A Shift right A into F

    1 1 X X X F = shl A Shift left A into F

    MEMORY REFERENCE INSTRUCTIONS

    AND to AC

    D0T4: DR M[AR] Read operandD0T5: AC AC DR, SC 0 AND with AC

    ADD to AC

    D1T4: DR M[AR] Read operandD1T5: AC AC + DR, E Cout, SC 0 Add to AC and store carry in E

    - The effective address of the instruction is in AR and was placed there duringtiming signal T2 when I = 0, or during timing signal T3 when I = 1

    - Memory cycle is assumed to be short enough to complete in a CPU cycle- The execution of MR instruction starts with T4

    MR Instructions

    SymbolOperationDecoder

    Symbolic Description

    AND D0 AC AC M[AR]ADD D1 AC AC + M[AR], E CoutLDA D2 AC M[AR]STA D3 M[AR] ACBUN D4 PC ARBSA D5 M[AR] PC, PC AR + 1ISZ D6 M[AR] M[AR] + 1, if M[AR] + 1 = 0 then PC PC+1

  • 7/29/2019 Demo Course File

    41/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO41

    ame of faulty:sayyada mubeen & chaitanya page no41

    MEMORY REFERENCE INSTRUCTIONS

    AND to AC

    D0T4: DR M[AR] Read operandD0T5: AC AC DR, SC 0 AND with AC

    ADD to AC

    D1T4: DR M[AR] Read operandD1T5: AC AC + DR, E Cout, SC 0 Add to AC and store carry in E

    - The effective address of the instruction is in AR and was placed there duringtiming signal T2 when I = 0, or during timing signal T3 when I = 1

    - Memory cycle is assumed to be short enough to complete in a CPU cycle- The execution of MR instruction starts with T4

    MR Instructions

    SymbolOperationDecoder

    Symbolic Description

    AND D0 AC AC M[AR]ADD D1 AC AC + M[AR], E CoutLDA D2 AC M[AR]STA D3 M[AR] ACBUN D4 PC ARBSA D5 M[AR] PC, PC AR + 1ISZ D6 M[AR] M[AR] + 1, if M[AR] + 1 = 0 then PC PC+1

    MEMORY REFERENCE INSTRUCTIONS

    Memory, PC after execution

    21

    0 BSA 135

    Next instruction

    Subroutine

    20

    PC = 21

    AR = 135

    136

    1 BUN 135

    Memory, PC, AR at time T4

    0 BSA 135

    Next instruction

    Subroutine

    20

    21

    135

    PC = 136

    1 BUN 135

    Memory Memory

    LDA: Load to ACD2T4: DR M[AR]D2T5: AC DR, SC 0

    STA: Store ACD3T4: M[AR] AC, SC 0

    BUN: Branch Unconditionally

    D4T4: PC AR, SC 0BSA: Branch and Save Return Address

    M[AR] PC, PC AR + 1

  • 7/29/2019 Demo Course File

    42/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO42

    ame of faulty:sayyada mubeen & chaitanya page no42

    MEMORY REFERENCE

    INSTRUCTIONS

    MR Instructions

    BSA:D5T4: M[AR] PC, AR AR + 1D5T5: PC AR, SC 0

    ISZ: Increment and Skip-if-ZeroD6T4: DR M[AR]D6T5: DR DR + 1D6T4: M[AR] DR, if (DR = 0) then (PC PC + 1), SC 0

    OWCHART FOR MEMORY REFERENCE INSTRUCTIO

    MR Instructions

    Memory-reference instruction

    DR M[AR] DR M[AR] DR M[AR] M[AR] ACSC 0

    AND ADD LDA STA

    AC AC DRSC 0

    AC AC + DRE CoutSC 0

    AC DRSC 0

    D T0 4

    D T1 4 D T2 4 D T3 4

    D T0 5 D T1 5 D T2 5

    PC ARSC 0

    M[AR] PCAR AR + 1

    DR M[AR]

    BUN BSA ISZ

    D T4 4 D T5 4 D T6 4

    DR DR + 1D T5 5 D T6 5

    PC ARSC 0

    M[AR] DRIf (DR = 0)then (PC PC + 1)SC 0

    D T6 6

  • 7/29/2019 Demo Course File

    43/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO43

    ame of faulty:sayyada mubeen & chaitanya page no43

    STACK ORGANIZATON

    INPUT-OUTPUT AND INTERRUPT

    Input-Output Configuration

    INPR Input register - 8 bits

    OUTR Output register - 8 bitsFGI Input flag - 1 bitFGO Output flag - 1 bitIEN Interrupt enable - 1 bit

    - The terminal sends and receives serial information- The serial info. from the keyboard is shifted into INPR- The serial info. for the printer is stored in the OUTR- INPR and OUTR communicate with the terminal

    serially and with the AC in parallel.- The flags are needed to synchronize the timing

    difference between I/O device and the computer

    A Terminal with a keyboard and a Printer

    I/O and Interrupt

    Input-output

    terminal

    Serial

    communicationinterface

    Computer

    registers andflip-flops

    Printer

    Keyboard

    Receiverinterface

    Transmitterinterface

    FGOOUTR

    AC

    INPR FGI

    Serial Communications Path

    Parallel Communications Path

    PROGRAM CONTROLLED DATA TRANSFER

    loop: If FGI = 1 goto loop

    INPR new data, FGI 1loop: If FGO = 1 goto loop

    consume OUTR, FGO 1

    -- CPU -- -- I/O Device --

    /* Input */ /* Initially FGI = 0 */loop: If FGI = 0 goto loop

    AC INPR, FGI 0/* Output */ /* Initially FGO = 1 */

    loop: If FGO = 0 goto loop

    OUTR AC, FGO 0

    I/O and Interrupt

    Start Input

    FGI 0

    FGI=0

    AC INPR

    MoreCharacter

    END

    Start Output

    FGO 0

    FGO=0

    MoreCharacter

    END

    OUTR AC

    AC Datayes

    no

    yes

    no

    FGI=0 FGO=1

    yes

    yesno

    no

  • 7/29/2019 Demo Course File

    44/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO44

    ame of faulty:sayyada mubeen & chaitanya page no44

    INSTRUCTION FORMATS

    A computer instruction is often divided into two parts An opcode (Operation Code) that specifies

    the operation for that instruction An address that specifies the registers and/or locations in

    memory to use for that operationIn the Basic Computer, since the memory contains 4096 (= 212)

    words, we needs 12 bit to specify which memory address this instruction will use In the BasicComputer, bit 15 of the instruction specifies the addressing mode (0: direct addressing, 1:

    indirect addressing)Since the memory words, and hence the instructions, are 16 bits long, that

    leaves 3 bits for the instructions opcode

    The address field of an instruction can represent either Direct address: the address in memory of

    the data to use (the address of the operand), or Indirect address: the address in memory of the

    address in memory of the data to use

    ADDRESSING MODES

    The address field of an instruction can represent either Direct address: the address in memory of

    the data to use (the address of the operand), orIndirect address: the address in memory of the

    address in memory of the data to use

    Effective Address (EA):The address, that can be directly used without modification to access an

    operand for a computation-type instruction, or as the target address for a branch-type instruction

  • 7/29/2019 Demo Course File

    45/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO45

    ame of faulty:sayyada mubeen & chaitanya page no45

    Effective Address (EA)

    The address, that can be directly used without modification to access an operand for a

    computation-type instruction, or as the target address for a branch-type instruction

    DATA TRANSFER AND MANIPULATION

    When collecting data locally, institutions can customize their collection and delivery systems to

    produce the precise formats and data structure necessary for their needs. This section therefore

    focuses on vendor-provided statistics only. Of the vendors that do provide usage data, some offer

    the option to receive/review the data in HTML, TXT, XLS, CSV, or even XML (currently rare).

    This diversity is not bad in itself. The problem is lodged in the fact that not every vendor

    provides all of the same options. In order to deposit all e-resource usage data into a single

    location (be it a spreadsheet or database), vendor-provided data must be manipulated to varying

    degrees. Different delivery formats (HTML, CSV, etc.) must be normalized through uniqueprocessing protocols for each format. The data must be cleaned to liminate extraneous

    presentation elements (like report titles, footnotes or blank lines). T

    The raw data itself may need to be further aggregated, disaggregated, or transposed to normalize

    content increments that may be inconsistent with those of the repository (e.g. data provided in

    daily or weekly increments may need to be aggregated to monthly totals prior to deposit). In

    0 AD

    45

    2

    Operand45

    1 AD

    30

    3

    135

    30

    Operand135

    +

    A

    +

    A

    Direct Indirect

  • 7/29/2019 Demo Course File

    46/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO46

    ame of faulty:sayyada mubeen & chaitanya page no46

    many cases the raw data is not sufficiently meaningful and local categories must be assigned to

    columns/groups of data to ensure that the data gets into the right place in the repository. It is

    clear that some sort of XML-based data transfer protocol standard would facilitate faster and

    more meaningful data transfer and integration, which would in turn enable easier local repository

    design.

    RISC(REDUCED INSTRUCTION SET COMPUTERS)

    Reduced instruction set computing, orRISC (pronounced/rsk/), is a CPU design strategybased on the insight that simplified (as opposed to complex) instructions can provide higher

    performance if this simplicity enables much faster execution of each instruction. A computer

    based on this strategy is a reduced instruction set computer (also RISC). There are many

    proposals for precise definitions, but the term is slowly being replaced by the more descriptive

    load-store architecture. Well known RISC families include, and SPARC.Some aspects

    attributed to the first RISC-labeleddesigns around 1975 include the observations that the

    memory-restricted compilers of the time were often unable to take advantageof features intendedto facilitate manualassembly coding, and that complex addressing modes take many cycles to

    perform due to the required additional memory accesses.

    It was argued that such functions would be better performed by sequences of simpler instructions

    if this could yield implementations small enough to leave room for many registers, reducing the

    number of slow memory accesses. In these simple designs, most instructions are of uniform

    length and similar structure, arithmetic operations are restricted to CPU registers and onlyseparate loadandstore instructions access memory. These properties enable a better balancing of

    pipeline stages than before, making RISC pipelines significantly more efficient and allowing

    Typical characteristics of RISC

    For any given level of general performance, a RISC chip will typically have far fewertransistors

    dedicated

    to the core logic which originally allowed designers to increase the size of the register set and

    increase internal parallelism.

    Other features, which are typically found in RISC architectures are:

    Uniform instruction format, using a single word with the opcode in the same bit positions in

    every instruction, demanding less decoding; Identical general purpose registers, allowing any register to be used in any context,

    simplifying compiler design (although normally there are separate floating point registers); Simple addressing modes. Complex addressing performed via sequences of arithmetic and/or

    load-store operations;

    http://en.wikipedia.org/wiki/Wikipedia:IPA_for_Englishhttp://en.wikipedia.org/wiki/Wikipedia:IPA_for_Englishhttp://en.wikipedia.org/wiki/Wikipedia:IPA_for_Englishhttp://en.wikipedia.org/wiki/CPU_designhttp://en.wikipedia.org/wiki/SPARChttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/Addressing_modehttp://en.wikipedia.org/wiki/Instruction_pipelinehttp://en.wikipedia.org/wiki/Transistorhttp://en.wikipedia.org/wiki/Transistorhttp://en.wikipedia.org/wiki/Transistorhttp://en.wikipedia.org/wiki/General_purpose_registershttp://en.wikipedia.org/wiki/Floating_pointhttp://en.wikipedia.org/wiki/Addressing_modehttp://en.wikipedia.org/wiki/Addressing_modehttp://en.wikipedia.org/wiki/Floating_pointhttp://en.wikipedia.org/wiki/General_purpose_registershttp://en.wikipedia.org/wiki/Transistorhttp://en.wikipedia.org/wiki/Instruction_pipelinehttp://en.wikipedia.org/wiki/Addressing_modehttp://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/SPARChttp://en.wikipedia.org/wiki/CPU_designhttp://en.wikipedia.org/wiki/Wikipedia:IPA_for_English
  • 7/29/2019 Demo Course File

    47/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO47

    ame of faulty:sayyada mubeen & chaitanya page no47

    Fe data types in hardware, some CISCs have byte string instructions, or support complexnumbers; this is so far unlikely to be found on a RISC.Exceptions abound, of course, within

    both CISC and RISC.RISC designs are also more likely to feature a Harvard memory model,where the instruction stream and the data stream are conceptually separated; this means that

    modifying the memory where code is held might not have any effect on the instructions

    executed by the processor (because the CPU has a separate instruction and data cache), atleast until a special synchronization instruction is issued. On the upside, this allows both

    caches to be accessed simultaneously, which can often improve performanceMany early

    RISC designs also shared the characteristic of having a branch delay slot. A branch delay slot is an instruction space immediately following a jump or branch. The

    instruction in this space is executed,whether or not the branch is taken (in other words the

    effect of the branch is delayed).

    This instruction keeps the ALU of the CPU busy for the extra time normally needed to perform a

    branch. Nowadays the branch delay slot is considered an unfortunate side effect of a particular

    strategy for implementing some RISC designs, and modern RISC designs generally do away

    with it .

    http://en.wikipedia.org/wiki/Bytehttp://en.wikipedia.org/wiki/String_(computer_science)http://en.wikipedia.org/wiki/Complex_numberhttp://en.wikipedia.org/wiki/Complex_numberhttp://en.wikipedia.org/wiki/Harvard_architecturehttp://en.wikipedia.org/wiki/Cachehttp://en.wikipedia.org/wiki/Branch_delay_slothttp://en.wikipedia.org/wiki/Arithmetic_and_logical_unithttp://en.wikipedia.org/wiki/Arithmetic_and_logical_unithttp://en.wikipedia.org/wiki/Branch_delay_slothttp://en.wikipedia.org/wiki/Cachehttp://en.wikipedia.org/wiki/Harvard_architecturehttp://en.wikipedia.org/wiki/Complex_numberhttp://en.wikipedia.org/wiki/Complex_numberhttp://en.wikipedia.org/wiki/String_(computer_science)http://en.wikipedia.org/wiki/Byte
  • 7/29/2019 Demo Course File

    48/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO48

    ame of faulty:sayyada mubeen & chaitanya page no48

    COURSE FILE LORDS INSTITUTE OFENGINEERING & TECHNOLOGY PAGE NO:

    SUBJECT:

    YEAR/SEMESTER:

    BRANCH:

    NAME OF THE FACULTY:UNIT3

    MICROPROGRAMMED CONTROL

    Control Memory

    Microprogram

    Program stored in memory that generates all the control signals required to execute the

    instruction set Correctly. Consists of microinstructions.it Contains a control word and a

    sequencing word Control Word - All the control information required for one clock cycle

    Sequencing Word - Information needed to decide the next microinstruction address

    - Vocabulary to write a microprogram

    Control Memory(Control Storage: CS) Storage in the microprogrammed control unit to store the

    microprogramWriteable Control Memory(Writeable Control Storage:WCS) CS whose contents

    can be modified, Allows the microprogram can be changed, Instruction set can be changed or

    modified

    ADDRESS SEQUENSING

    Sequencer (Microprogram Sequencer)

    A Microprogram Control Unit that determines the Microinstruction Address to be executed n

    the next clock cycle

  • 7/29/2019 Demo Course File

    49/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO49

    ame of faulty:sayyada mubeen & chaitanya page no49

    CONDITIONAL BRANCHING

    Unconditional BranchFixing the value of one status bit at the input of the multiplexer to 1

    Conditional Branch

    IfCondition is true, then Branch (address fromthe next address field of the current microinstruction)else Fall Through

    Conditions to Test: O(overflow), N(negative),Z(zero), C(carry), etc.

    Control address register

    Control memoryMUX

    Load address

    Increment

    Status(condition)

    bits

    Micro-operationsCondition select

    Next address

    ...

    CONDITIONAL BRANCHING

    Unconditional Branch

    Fixing the value of one status bit at the input of the multiplexer to 1

    Conditional Branch

    IfCondition is true, thenBranch (address from

    the next address field of the current microinstruction)

    elseFall Through

    Conditions to Test: O(overflow), N(negative),

    Z(zero), C(carry), etc.

    MICROPROGRAM EXAMPLE

    Computer Configuration

    MUX

    AR

    10 0

    PC

    10 0

    Address Memory

    2048 x 16

    MUX

    DR15 0

    Arithmeticlogic andshift unit

    AC

    15 0

    SBR

    6 0

    CAR

    6 0

    Control memory128 x 20

    Control unit

  • 7/29/2019 Demo Course File

    50/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO50

    ame of faulty:sayyada mubeen & chaitanya page no50

    COMPARISON OF CONTROL UNIT IMPLEMENTATIONS

    Implementation of Control Unit

    Control Unit Implementation

    Combinational Logic Circuits (Hard-wired)

    Microprogram

    I R Status F/Fs

    Control Data

    CombinationalLogic Circuits

    ControlPoints

    CPU

    Memory

    Timing State

    Ins. Cycle State

    Control Unit's State

    Status F/Fs

    Control Data

    Next AddressGenerationLogic

    CSAR

    ControlStorage

    (-programmemory)

    Memory

    I R

    CSDR

    CPs

    CPUD

    }

    MICROPROGRAMMED CONTROL

    DESIGN OF CONTROL UNIT- DECODING ALU CONTROL INFORMATION -

    microoperation fields

    3 x 8 decoder

    7 6 5 4 3 2 1 0

    F1

    3 x 8 decoder

    7 6 5 4 3 2 1 0

    F2

    3 x 8 decoder

    7 6 5 4 3 2 1 0

    F3

    Arithmeticlogic andshift unit

    ANDADD

    DRTAC

    ACLoad

    FromPC

    FromDR(0-10)

    Select 0 1

    Multiplexers

    ARLoad Clock

    AC

    DR

    DRTAR

    PCTAR

  • 7/29/2019 Demo Course File

    51/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO51

    ame of faulty:sayyada mubeen & chaitanya page no51

    MICROINSTRUCTION FORMAT

    - Control Information, Sequencing Information, Constant Information which is useful

    when feeding into the system.

    These information needs to be organized in some way for Efficient use of the microinstructionbits Fast decoding

    Field Encoding

    - Encoding the microinstruction bits

    - Encoding slows down the execution speed

    due to the decoding delay

    - Encoding also reduces the flexibility due to

    the decoding hardware

    MACHINE INSTRUCTION FORMAT

    Microinstruction Format

    EA is the effective addressSymbol OP-code Description

    ADD 0000 AC AC + M[EA]BRANCH 0001 if (AC < 0) then (PC EA)STORE 0010 M[EA] ACEXCHANGE 0011 AC M[EA], M[EA] AC

    Machine instruction format

    I Opcode

    15 14 11 10

    Address

    0

    Sample machine instructions

    F1 F2 F3 CD BR AD

    3 3 3 2 2 7

    F1, F2, F3: Microoperation fields

    CD: Condition for branching

    BR: Branch field

    AD: Address field

    SYMBOLIC MICROINSTRUCTIONS

  • 7/29/2019 Demo Course File

    52/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO52

    ame of faulty:sayyada mubeen & chaitanya page no52

    Symbols are used in microinstructions as in assembly language A symbolic microprogram can be translated into its binary equivalent by a microprogramassembler.

    Sample Format

    five fields: label; micro-ops; CD; BR; AD

    CD: one of {U, I, S, Z}, where U: Unconditional Branch

    I: Indirect address bit

    S: Sign of AC

    Z: Zero value in AC

    BR: one of {JMP, CALL, RET, MAP}

    AD: one of {Symbolic address, NEXT, empty}

    SYMBOLIC MICROPROGRAM - FETCH ROUTINE

    During FETCH, Read an instruction from memory and decode the instruction and update PC

    Sequence of microoperations in the fetch cycle:ARPC

    DR M[AR], PC PC + 1,AR DR(0-10), CAR(2-5) DR(11-14), CAR(0,1,6) 0

    SYMBOLIC MICROPROGRAM

    Control Storage: 128 20-bit words The first 64 words: Routines for the 16 machine instructions The last 64 words: Used for other purpose (e.g., fetch routine and other subroutines) Mapping: OP-code XXXX into 0XXXX00, the first address for the 16 routines

  • 7/29/2019 Demo Course File

    53/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO53

    ame of faulty:sayyada mubeen & chaitanya page no53

    SYMBOLIC MICROPROGRAM

    ORG 0NOPREADADD

    ORG 4NOPNOPNOPARTPC

    ORG 8NOPACTDRWRITE

    ORG 12NOPREADACTDR, DRTACWRITE

    ORG 64PCTARREAD, INCPCDRTARREADDRTAR

    IUU

    SUI

    U

    IUU

    IUUU

    UUUUU

    CALLJMPJMP

    JMPJMPCALLJMP

    CALLJMPJMP

    CALLJMPJMPJMP

    JMPJMPMAPJMPRET

    INDRCTNEXTFETCH

    OVERFETCHINDRCTFETCH

    INDRCTNEXTFETCH

    INDRCTNEXTNEXTFETCH

    NEXTNEXT

    NEXT

    ADD:

    BRANCH:

    OVER:

    STORE:

    EXCHANGE:

    FETCH:

    INDRCT:

    Label Microops CD BR AD

    Partial Symbolic Microprogram

    This microprogram can be implemented using ROM

    Address Binary Microinstruction

    Micro Routine Decimal Binary F1 F2 F3 CD BR AD

    ADD 0 0000000 000 000 000 01 01 1000011

    1 0000001 000 100 000 00 00 0000010

    2 0000010 001 000 000 00 00 1000000

    3 0000011 000 000 000 00 00 1000000

    BRANCH 4 0000100 000 000 000 10 00 0000110

    5 0000101 000 000 000 00 00 1000000

    6 0000110 000 000 000 01 01 1000011

    7 0000111 000 000 110 00 00 1000000

    STORE 8 0001000 000 000 000 01 01 1000011

    9 0001001 000 101 000 00 00 0001010

    10 0001010 111 000 000 00 00 1000000

    11 0001011 000 000 000 00 00 1000000

    EXCHANGE 12 0001100 000 000 000 01 01 1000011

    13 0001101 001 000 000 00 00 000111014 0001110 1 00 1 01 0 00 0 0 00 0001111

    15 0001111 111 000 000 00 00 1000000

    FETCH 64 1000000 110 000 000 00 00 1000001

    65 1000001 0 00 1 00 1 01 0 0 00 1000010

    66 1000010 101 000 000 00 11 0000000

    INDRCT 67 1000011 000 100 000 00 00 1000100

    68 1000100 101 000 000 00 10 0000000

    BINARY MICROPROGRAM

  • 7/29/2019 Demo Course File

    54/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO54

    ame of faulty:sayyada mubeen & chaitanya page no54

    COMPARISON OF CONTROL UNIT IMPLEMENTATIONS

    Implementation of Control Unit

    Control Unit Implementation

    Combinational Logic Circuits (Hard-wired)

    Microprogram

    I R Status F/Fs

    Control Data

    CombinationalLogic Circuits

    ControlPoints

    CPU

    Memory

    Timing State

    Ins. Cycle State

    Control Unit's State

    Status F/Fs

    Control Data

    Next AddressGenerationLogic

    CSAR

    ControlStorage

    (-programmemory)

    Memory

    I R

    CSDR

    CPs

    CPUD

    }

    NANOSTORAGE AND NANOINSTRUCTION

    The decoder circuits in a vertical microprogram storage organization can be replaced by a ROM

    => Two levels of control storage First level - Control Storage

    Second level -Nano Storage

    Two-level microprogram First level Vertical format Microprogram Second level

    -Horizontal format Nanoprogram , Interprets the microinstruction fields, thus converts

    a vertical microinstruction format into a horizontal nanoinstruction format.

  • 7/29/2019 Demo Course File

    55/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO55

    ame of faulty:sayyada mubeen & chaitanya page no55

    TWO-LEVEL MICROPROGRAMMING - EXAMPLE

    Microprogram: 2048 microinstructions of 200 bits each With 1-Level Control Storage: 2048 x

    200 = 409,600 bits Assumption:256 distinct microinstructions among 2048

    * With 2-Level Control Storage:

    Nano Storage: 256 x 200 bits to store 256 distinct nanoinstructions

    Control storage: 2048 x 8 bits

    To address 256 nano storage locations 8 bits are needed

    * Total 1-Level control storage: 409,600 bits

    Total 2-Level control storage: 67,584 bits (256 x 200 + 2048 x 8)

  • 7/29/2019 Demo Course File

    56/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO56

    ame of faulty:sayyada mubeen & chaitanya page no56

    COURSE FILE LORDS INSTITUTE OFENGINEERING & TECHNOLOGY PAGE NO:

    SUBJECT:

    YEAR/SEMESTER:

    BRANCH:

    NAME OF THE FACULTY:

    UNIT -V

    THE MEMORY SYSTEM

    Basic concepts semiconductor RAM memories

    A semiconductor random access memory system for use in a processor system is adapted to

    operate with a magnetic disc storage device, such as the so-called floppy-disc store. A

    semiconductor RAM has data input/output terminals and address terminals for writing data into

    or reading data out of a storage location that is addressed by an address signal supplied to theaddress terminals. Track and sector address registers are coupled to the processor system for

    receiving and storing the typical track and sector address signals normally generated in thesystem. A counter counts timing pulses to produce a count signal, which timing pulses are

    generated by a timing control circuit. An address synthesizer is coupled to the track and sector

    address registers and also to the counter for synthesizing a RAM address signal from the storedtrack and sector address signals as well as the count signal and for supplying this RAM address

    signal to the RAM address terminals to access the RAM storage location which is addressed

    thereby.

    Thus, when the processor system generates the typical track and sector address signals normally

    used with a floppy disc store, such track and sector address signals are used to address a typical

    semiconductor RAM.

    Random-access memory (RAM) is a form ofcomputer data storage. Today, it takes the form ofintegrated circuits that allow stored data to be accessed in any order (that is, at random).

    "Random" refers to the idea that any piece of data can be returned in a constant time, regardless

    of its physical location and whether it is related to the previous piece of data.

    The word "RAM" is often associated with volatile types of memory (such as DRAM memory

    modules), where the information is lost after the power is switched off. Many other types of

    memory are RAM as well, including most types ofROM and a type offlash memory called

    NOR-Flash.

    Types of RAM

    http://en.wikipedia.org/wiki/Computer_data_storagehttp://en.wikipedia.org/wiki/Integrated_circuithttp://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/Random_accesshttp://en.wikipedia.org/wiki/Constant_timehttp://en.wikipedia.org/wiki/Volatile_memoryhttp://en.wikipedia.org/wiki/DRAMhttp://en.wikipedia.org/wiki/DIMMhttp://en.wikipedia.org/wiki/DIMMhttp://en.wikipedia.org/wiki/Read_only_memoryhttp://en.wikipedia.org/wiki/Flash_memoryhttp://en.wikipedia.org/wiki/Flash_memory#NOR_flashhttp://en.wikipedia.org/wiki/Flash_memory#NOR_flashhttp://en.wikipedia.org/wiki/Flash_memory#NOR_flashhttp://en.wikipedia.org/wiki/Flash_memoryhttp://en.wikipedia.org/wiki/Read_only_memoryhttp://en.wikipedia.org/wiki/DIMMhttp://en.wikipedia.org/wiki/DIMMhttp://en.wikipedia.org/wiki/DRAMhttp://en.wikipedia.org/wiki/Volatile_memoryhttp://en.wikipedia.org/wiki/Constant_timehttp://en.wikipedia.org/wiki/Random_accesshttp://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/Integrated_circuithttp://en.wikipedia.org/wiki/Computer_data_storage
  • 7/29/2019 Demo Course File

    57/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO57

    ame of faulty:sayyada mubeen & chaitanya page no57

    Top L-R, DDR2 with heat-spreader, DDR2 without heat-spreader, Laptop DDR2, DDR, Laptop

    DDR

    1 Megabit chip - one of the last models developed by VEB Carl Zeiss Jena in 1989

    Modern types ofwritable RAM generally store a bit of data in either the state of a flip-flop, as inSRAM (static RAM), or as a charge in a capacitor(ortransistorgate), as in DRAM (dynamicRAM), EPROM, EEPROM and Flash. Some types have circuitry to detect and/or correct random

    faults called memory errors in the stored data, using parity bits orerror correction codes. RAM

    of the read-only type, ROM, instead uses a metal mask to permanently enable/disable selectedtransistors, instead of storing a charge in them. Of special consideration is SIMM and DIMM

    memory modules.

    Memory hierarchy

    Many computer systems have a memory hierarchy consisting ofCPU registers, on-die SRAM

    caches, external caches, DRAM, paging systems, and virtual memory orswap space on a hard

    drive. This entire pool of memory may be referred to as "RAM" by many developers, even

    though the various subsystems can have very different access times, violating the originalconcept behind the random access term in RAM. Even within a hierarchy level such as DRAM,

    the specific row, column, bank, rank, channel, orinterleave organization of the components

    make the access time variable, although not to the extent that rotating storage media or a tape is

    variable.

    http://en.wikipedia.org/wiki/DDR2_SDRAMhttp://en.wikipedia.org/wiki/Carl_Zeiss_AGhttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Flip-flop_(electronics)http://en.wikipedia.org/wiki/Static_random_access_memoryhttp://en.wikipedia.org/wiki/Electric_chargehttp://en.wikipedia.org/wiki/Capacitorhttp://en.wikipedia.org/wiki/Transistorhttp://en.wikipedia.org/wiki/Dynamic_random_access_memoryhttp://en.wikipedia.org/wiki/EPROMhttp://en.wikipedia.org/wiki/EEPROMhttp://en.wikipedia.org/wiki/Flash_memoryhttp://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Error_detection_and_correctionhttp://en.wikipedia.org/wiki/Read_only_memoryhttp://en.wikipedia.org/wiki/CPU_registerhttp://en.wikipedia.org/wiki/Static_random_access_memoryhttp://en.wikipedia.org/wiki/Cachehttp://en.wikipedia.org/wiki/DRAMhttp://en.wikipedia.org/wiki/Paginghttp://en.wikipedia.org/wiki/Virtual_memoryhttp://en.wikipedia.org/wiki/Swap_spacehttp://en.wikipedia.org/wiki/Access_timehttp://en.wikipedia.org/wiki/Memory_rankhttp://en.wikipedia.org/wiki/Interleavehttp://en.wikipedia.org/wiki/Storage_mediahttp://en.wikipedia.org/wiki/File:Bundesarchiv_Bild_183-1989-0406-022,_VEB_Carl_Zeiss_Jena,_1-Megabit-Chip.jpghttp://en.wikipedia.org/wiki/File:RamTypes.JPGhttp://en.wikipedia.org/wiki/File:RamTypes.JPGhttp://en.wikipedia.org/wiki/File:Bundesarchiv_Bild_183-1989-0406-022,_VEB_Carl_Zeiss_Jena,_1-Megabit-Chip.jpghttp://en.wikipedia.org/wiki/File:RamTypes.JPGhttp://en.wikipedia.org/wiki/File:RamTypes.JPGhttp://en.wikipedia.org/wiki/File:Bundesarchiv_Bild_183-1989-0406-022,_VEB_Carl_Zeiss_Jena,_1-Megabit-Chip.jpghttp://en.wikipedia.org/wiki/File:RamTypes.JPGhttp://en.wikipedia.org/wiki/File:RamTypes.JPGhttp://en.wikipedia.org/wiki/Storage_mediahttp://en.wikipedia.org/wiki/Interleavehttp://en.wikipedia.org/wiki/Memory_rankhttp://en.wikipedia.org/wiki/Access_timehttp://en.wikipedia.org/wiki/Swap_spacehttp://en.wikipedia.org/wiki/Virtual_memoryhttp://en.wikipedia.org/wiki/Paginghttp://en.wikipedia.org/wiki/DRAMhttp://en.wikipedia.org/wiki/Cachehttp://en.wikipedia.org/wiki/Static_random_access_memoryhttp://en.wikipedia.org/wiki/CPU_registerhttp://en.wikipedia.org/wiki/Read_only_memoryhttp://en.wikipedia.org/wiki/Error_detection_and_correctionhttp://en.wikipedia.org/wiki/Parity_bithttp://en.wikipedia.org/wiki/Flash_memoryhttp://en.wikipedia.org/wiki/EEPROMhttp://en.wikipedia.org/wiki/EPROMhttp://en.wikipedia.org/wiki/Dynamic_random_access_memoryhttp://en.wikipedia.org/wiki/Transistorhttp://en.wikipedia.org/wiki/Capacitorhttp://en.wikipedia.org/wiki/Electric_chargehttp://en.wikipedia.org/wiki/Static_random_access_memoryhttp://en.wikipedia.org/wiki/Flip-flop_(electronics)http://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Carl_Zeiss_AGhttp://en.wikipedia.org/wiki/DDR2_SDRAM
  • 7/29/2019 Demo Course File

    58/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO58

    ame of faulty:sayyada mubeen & chaitanya page no58

    Swapping

    If a computer becomes low on RAM during intensive application cycles, many CPUarchitectures and operating systems are able to perform an operation known as "swapping".

    Swapping uses apaging file, an area on a hard drive temporarily used as additional working

    memory. Excessive use of this mechanism is called thrashing and is generally undesirablebecause it lowers overall system performance, mainly because hard drives are far slower than

    RAM. However, if a program attempts to allocate memory and fails, it may crash.

    Other uses of the "RAM" term

    Other physical devices with readwrite capability can have "RAM" in their names: for example,

    DVD-RAM. "Random access" is also the name of an indexing method: hence, disk storage is

    often called "random access" (Wiki:PowerOfPlainText, Fortran language features, MBASIC,

    RAM disks:Software can "partition" a portion of a computer's RAM, allowing it to act as amuch faster hard drive that is called a RAM disk. A RAM disk loses the stored data when thecomputer is shut down, unless memory is arranged to have a standby battery source.

    Shadow RAM

    Sometimes, the contents of a relatively slow ROM chip are copied to read/write memory to allowfor shorter access times. The ROM chip is then disabled while the initialized memory locations

    are switched in on the same block of addresses (often write-protected). This process, sometimes

    calledshadowing, is fairly common in both computers and embedded systems.

    As a common example, the BIOS in typical personal computers often has an option called useshadow

    BIOS or similar. When enabled, functions relying on data from the BIOSs ROM will instead

    use DRAM locations (most can also toggle shadowing of video card ROM or other ROM

    sections). Depending on the system, this may not result in increased performance, and may causeincompatibilities. For example, some hardware may be inaccessible to the operating system if

    shadow RAM is used. On

    some systems the benefit may be hypothetical because the BIOS is not used after booting infavor of direct hardware access. Free memory is reduced by the size of the shadowed ROMs

    READ ONLY MEMORIES

    Read-only memory (ROM) is a class ofstorage media used in computers and other electronicdevices. Data stored in ROM cannot be modified, or can be modified only slowly or withdifficulty, so it is mainly used to distribute firmware (software that is very closely tied to specific

    hardware, and unlikely to need frequent updates).

    http://en.wikipedia.org/wiki/Paginghttp://en.wikipedia.org/wiki/Hard_drivehttp://en.wikipedia.org/wiki/Thrashing_(computer_science)http://en.wikipedia.org/wiki/DVD-RAMhttp://c2.com/cgi/wiki?PowerOfPlainTexthttp://en.wikipedia.org/wiki/Fortran_language_features#Direct-access_fileshttp://en.wikipedia.org/wiki/MBASIC#Files_and_input.2Foutputhttp://en.wikipedia.org/wiki/RAM_diskhttp://en.wikipedia.org/wiki/Embedded_systemshttp://en.wikipedia.org/wiki/BIOShttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/Computer_storagehttp://en.wikipedia.org/wiki/Computerhttp://en.wikipedia.org/wiki/Firmwarehttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Softwarehttp://en.wikipedia.org/wiki/Firmwarehttp://en.wikipedia.org/wiki/Computerhttp://en.wikipedia.org/wiki/Computer_storagehttp://en.wikipedia.org/wiki/Operating_systemhttp://en.wikipedia.org/wiki/BIOShttp://en.wikipedia.org/wiki/Embedded_systemshttp://en.wikipedia.org/wiki/RAM_diskhttp://en.wikipedia.org/wiki/MBASIC#Files_and_input.2Foutputhttp://en.wikipedia.org/wiki/Fortran_language_features#Direct-access_fileshttp://c2.com/cgi/wiki?PowerOfPlainTexthttp://en.wikipedia.org/wiki/DVD-RAMhttp://en.wikipedia.org/wiki/Thrashing_(computer_science)http://en.wikipedia.org/wiki/Hard_drivehttp://en.wikipedia.org/wiki/Paging
  • 7/29/2019 Demo Course File

    59/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO59

    ame of faulty:sayyada mubeen & chaitanya page no59

    In its strictest sense, ROM refers only to mask ROM (the oldest type ofsolid state ROM), which

    is fabricated with the desired data permanently stored in it, and thus can never be modified.

    However, more modern types such as EPROM and flash EEPROM can be erased and re-programmed multiple times.

    Types

    The firstEPROM, anIntel1702, with thedieandwire bondsclearly visible through the erase

    window.

    Semiconductor based:Classic mask-programmed ROM chips are integrated circuits that

    physically encode the data to be stored, and thus it is impossible to change their contents after

    fabrication. Other types ofnon-volatile solid-state memory permit some degree of modification:

    Programmable read-only memory(PROM), orone-time programmable ROM

    (OTP), can be written to orprogrammed via a special device called a PROM

    programmer.

    Erasable programmable read-only memory(EPROM) can be erased by exposure to

    strongultravioletlight (typically for 10 minutes or longer), then rewritten with a process

    that again needs higher than usual voltage applied. Repeated exposure to UV light willeventually wear out an EPROM).

    Electrically alterable read-only memory(EAROM) is a type of EEPROM that can be

    modified onebitat a time. Writing is a very slow process and again needs higher voltage

    http://en.wikipedia.org/wiki/Mask_ROMhttp://en.wikipedia.org/wiki/Solid_state_(electronics)http://en.wikipedia.org/wiki/Semiconductor_fabricationhttp://en.wikipedia.org/wiki/EPROMhttp://en.wikipedia.org/wiki/Flash_EEPROMhttp://en.wikipedia.org/wiki/EPROMhttp://en.wikipedia.org/wiki/EPROMhttp://en.wikipedia.org/wiki/EPROMhttp://en.wikipedia.org/wiki/Intelhttp://en.wikipedia.org/wiki/Intelhttp://en.wikipedia.org/wiki/Intelhttp://en.wikipedia.org/wiki/Die_(integrated_circuit)http://en.wikipedia.org/wiki/Die_(integrated_circuit)http://en.wikipedia.org/wiki/Die_(integrated_circuit)http://en.wikipedia.org/wiki/Wire_bondhttp://en.wikipedia.org/wiki/Wire_bondhttp://en.wikipedia.org/wiki/Wire_bondhttp://en.wikipedia.org/wiki/Non-volatilehttp://en.wikipedia.org/wiki/Programmable_read-only_memoryhttp://en.wikipedia.org/wiki/Programmable_read-only_memoryhttp://en.wikipedia.org/wiki/Erasable_programmable_read-only_memoryhttp://en.wikipedia.org/wiki/Erasable_programmable_read-only_memoryhttp://en.wikipedia.org/wiki/Ultraviolethttp://en.wikipedia.org/wiki/Ultraviolethttp://en.wikipedia.org/wiki/Ultraviolethttp://en.wikipedia.org/wiki/Electrically_alterable_read-only_memoryhttp://en.wikipedia.org/wiki/Electrically_alterable_read-only_memoryhttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/File:Eprom.jpghttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Electrically_alterable_read-only_memoryhttp://en.wikipedia.org/wiki/Ultraviolethttp://en.wikipedia.org/wiki/Erasable_programmable_read-only_memoryhttp://en.wikipedia.org/wiki/Programmable_read-only_memoryhttp://en.wikipedia.org/wiki/Non-volatilehttp://en.wikipedia.org/wiki/Wire_bondhttp://en.wikipedia.org/wiki/Die_(integrated_circuit)http://en.wikipedia.org/wiki/Intelhttp://en.wikipedia.org/wiki/EPROMhttp://en.wikipedia.org/wiki/Flash_EEPROMhttp://en.wikipedia.org/wiki/EPROMhttp://en.wikipedia.org/wiki/Semiconductor_fabricationhttp://en.wikipedia.org/wiki/Solid_state_(electronics)http://en.wikipedia.org/wiki/Mask_ROM
  • 7/29/2019 Demo Course File

    60/87

    LORDS INSTITUTE OF ENGINEERING AND TECHNOLGY PAGE NO60

    ame of faulty:sayyada mubeen & chaitanya page no60

    (usually around 12V) than is used for read access. EAROMs are intended for applications that

    require infrequent and only partial rewriting.

    Flash memory(or simply flash) is a modern type of EEPROM invented in 1984. Flash

    memory can be erased and rewritten faster than ordinary EEPROM,Optical storage

    media, suchCD-ROMwhich is read-only (analogous to masked ROM).CD-RisWrite

    Once Read Many(analogous to PROM), whileCD-RWsupports erase-rewrite cycles

    (analogous to EEPROM); both are designed forbackwards-compatibility with CD-ROM.

    CACHE MEMORIES

    In computer engineering, a cache is a component that transparently stores data so that future

    requests for that data can be served faster. The data that is stored within a cache might be values

    that ha