2079

BIT151 · TU past paper

Microprocessor and Computer Architecture 2079 question paper

The complete TU 2079 exam paper for Microprocessor and Computer Architecture (BIT151), all 12 questions with solved model answers written to the mark scheme.

Tap a question to open its answer.

  1. 1Functional units of 8085Answer

    What is 8085 Microprocessor? Explain the Functional Units of 8085 Microprocessor [10]

    The 8085 microprocessor is an 8-bit general-purpose microprocessor designed by Intel in 1976. It operates on a single +5V power supply, has 8-bit data bus, 16-bit address bus (can address 64KB of memory), and operates at a maximum clock frequency of 3.2 MHz.

    --- The 8085 microprocessor is an 8-bit general-purpose microprocessor developed by Intel Corporation in 1976. Key characteristics include: Feature Specification ------ Data Bus Width 8-bit (bidirectional) Address Bus Width 16-bit (unidi...

  2. 210 marksHardwired control unit design and block diAnswer

    Draw the block diagram of Hardwired control unit and explain their functional units in brief.[10]

    A Hardwired Control Unit is a control unit implementation where the control signals are generated by logic circuits (gates, flip-flops, decoders, etc.) that are physically wired together. The control logic is fixed at the time of design ...

  3. 310 marksNumericalRestoring division algorithmAnswer

    State an algorithm for the restoring division method of fixed point binary division.Show the step-by step division process using restoring division algorithm when 448(0111000000) is divided by 17(10001). Use 5-bit register to represent the numbers.[10]

    Restoring Division Algorithm (Fixed Point Binary Division)

    Algorithm

    Registers: A (accumulator/partial remainder), Q (holds dividend, then quotient), M (divisor), Count = number of bits.

    1. Initialize: A = 0, Q = dividend, M = divisor, Count = n.
    2. Repeat n times:
      • Shift the combined register (A, Q) left by 1 bit.
      • A = A − M (add 2's complement of M).
      • If A ≥ 0 (MSB = 0): set Q[0] = 1.
      • Else (A < 0, MSB = 1): set Q[0] = 0 and restore A = A + M.
      • Decrement Count.
    3. End: Q = quotient, A = remainder.

    STEP 1: Given Data

    • Dividend = 448 = 0111000000 (10 bits)
    • Divisor = 17 = 10001 (5 bits) → M = 10001
    • 5-bit registers → n = 5 iterations
    • 2's complement of M = 01111

    Important note on register sizing

    To hold both A and Q for a 10-bit dividend divided by a 5-bit divisor, and to detect the sign of a subtraction of two 5-bit numbers, the accumulator generally needs one extra (sign) bit. Working strictly with 5-bit registers as required, I use A as a 5-bit register and detect "A ≥ 0" via the carry-out of the addition of the 2's complement (carry = 1 means result ≥ 0, no borrow), which is the standard hardware convention.

    Loading: A = 00000, Q = 0111000000? Q is only 5 bits. Since the dividend is 10 bits but registers are 5 bits, the standard approach splits the dividend into A and Q:

    • A = high 5 bits = 01110
    • Q = low 5 bits = 00000

    STEP 2: Solve

    M = 10001, 2's complement of M = 01111

    Initial: A = 01110, Q = 00000

    Iteration 1

    • Shift left: A = 11100, Q = 00000
    • A + comp(M): 11100 + 01111 = 101011 → A = 01011, carry = 1 ⇒ ≥ 0 ⇒ Q[0] = 1
    • A = 01011, Q = 00001

    Iteration 2

    • Shift left: A = 10110, Q = 00010
    • 10110 + 01111 = 100101 → A = 00101, carry = 1 ⇒ ≥ 0 ⇒ Q[0] = 1
    • A = 00101, Q = 00011

    Iteration 3

    • Shift left: A = 01010, Q = 00110
    • 01010 + 01111 = 011001 → A = 11001, carry = 0 ⇒ < 0 ⇒ Q[0] = 0, restore
    • Restore: 11001 + 10001 = 101010 → A = 01010
    • A = 01010, Q = 00110

    Iteration 4

    • Shift left: A = 10100, Q = 01100
    • 10100 + 01111 = 100011 → A = 00011, carry = 1 ⇒ ≥ 0 ⇒ Q[0] = 1
    • A = 00011, Q = 01101

    Iteration 5 (the final required step)

    • Shift left: A,Q = 00011 01101 → A = 00110, Q = 11010
    • 00110 + 01111 = 010101 → A = 10101, carry = 0 ⇒ < 0 ⇒ Q[0] = 0, restore
    • Restore: 10101 + 10001 = 100110 → A = 00110
    • A = 00110, Q = 11010

    Result

    • Quotient Q = 11010 = 26
    • Remainder A = 00110 = 6

    Verification

    $$17 \times 26 + 6 = 442 + 6 = 448 \checkmark$$

    Summary Table

    IterA (after)Q (after)Q[0]
    Init0111000000-
    101011000011
    200101000111
    301010001100
    400011011011
    500110110100

    Quotient = 26, Remainder = 6.

  4. 45 marksDifferences between SAP 1 and SAP 2Answer

    What is the difference between SAP-1 and SAP-2? [5]

    Note: No specific reference notes were found for this topic. The following answer is based on standard computer architecture curriculum content for TU BSc CSIT, which covers SAP (Simple As Possible) computers as described in Malvino's Di...

  5. 55 marksNumericalInstruction cycle and execution timeAnswer

    What is instruction cycle? If the clock frequency is 5 MHz, how much time is required to execute an instruction MVI A, 08H? [3+2]

    • Clock frequency: $f = 5 \text{ MHz} = 5 \times 10^6 \text{ Hz}$ - Instruction: MVI A, 08H (8085 microprocessor) --- An instruction cycle is the total time taken by a microprocessor to fetch, decode, and execute a single instruction. It...
  6. 65 marksMicrooperations definition and typesAnswer

    What is Microoperations? Explain the function of each following microoperations: AR ⟵ PC, DR ⟵ M[AR], PC ⟵ PC+1, AR ⟵ DR(0 - 10), CAR(2 - 5) ⟵ DR(11 - 14) [5]

    A microoperation is an elementary operation performed on the data stored in registers during one clock pulse. It is the most basic or atomic operation that a computer can perform on data stored in its registers. Microoperations are the b...

  7. 75 marksNumericalBasic computer instruction format and regiAnswer

    What is Instruction Format of basic computer architecture? A computer uses a memory unit with 256K words of 32 bits each. Draw the instruction word format and indicate the number of bits in each part. [5]

    Instruction Format of Basic Computer Architecture

    Definition

    An instruction format specifies the layout of bits within an instruction word. It defines how the total bits of the word are partitioned into fields, typically:

    • Mode field (I): indicates the addressing mode (direct or indirect).
    • Operation code (opcode): specifies the operation to be performed.
    • Address field: specifies the memory address of the operand.

    In the basic computer (Mano's model), each instruction occupies one memory word, and the format is determined by the memory word size and the number of addressable locations.


    Given Data

    • Memory size = 256K words
    • Word size = 32 bits (so each instruction is 32 bits)

    Step 1: Number of Bits for the Address Field

    The address field must be large enough to address every word in memory.

    $$256K = 256 \times 1024 = 2^8 \times 2^{10} = 2^{18}$$

    $$\text{Address bits} = \log_2(2^{18}) = 18 \text{ bits}$$

    So 18 bits are required for the address field.


    Step 2: Allocate the Remaining Bits

    Total word size = 32 bits. Reserve 1 bit for the addressing mode (I), the rest goes to the opcode.

    $$\text{Opcode bits} = 32 - 1 - 18 = 13 \text{ bits}$$

    Check:

    $$1 + 13 + 18 = 32 \text{ bits} \checkmark$$


    Instruction Word Format (32 bits)

      31    30           18 17                        0
     +----+----------------+--------------------------+
     | I  |    Opcode      |         Address          |
     |1bit|    13 bits     |         18 bits          |
     +----+----------------+--------------------------+
    

    Explanation of Each Field

    FieldBitsDescription
    I (Mode)1Addressing mode: 0 = direct, 1 = indirect
    Opcode13Operation code; supports up to $2^{13} = 8192$ operations
    Address18Operand address; addresses up to $2^{18} = 256K$ words

    Key Points

    • Address field size ($18$ bits) is fixed by the memory size ($256K = 2^{18}$).
    • One bit is used as the mode bit to select direct/indirect addressing.
    • The remaining $13$ bits form the opcode.

    Final answer: Mode = 1 bit, Opcode = 13 bits, Address = 18 bits, totaling 32 bits.

  8. 85 marksArithmetic instructions with examplesAnswer

    Write a 8085 assembly langauge for division of two 8-bit numbers by repeated subtraction method. [5]

    Division by repeated subtraction works by repeatedly subtracting the divisor from the dividend until the result becomes zero or less than the divisor. The number of times subtraction is performed gives the quotient, and the remaining val...

  9. 95 marksControl ROM and mapping tableAnswer

    Explain the use of mapping table. [5]

    A mapping table is a data structure used in computer systems (particularly in memory management, file systems, and storage systems) to maintain a correspondence (mapping) between two sets of addresses or identifiers -- typically logical/...

  10. 105 marksIsolated I/O and memory mapped I/OAnswer

    What is the difference between isolated 1/0 and memory-mapped I/0? What are the avantages and disadvantages of each? [5]

    Note: No specific reference notes were found for this topic. The following answer is based on standard computer organization and architecture concepts, which align with the TU BSc CSIT curriculum. --- In isolated I/O, the I/O devices are...

  11. 115 marksPipelining concept and role in computingAnswer

    What is pipelining? Explain the role of pipelining in computing. [5]

    Pipelining is a technique used in computer architecture where multiple instructions are overlapped in execution. It is analogous to an assembly line in a factory: just as different stages of product assembly happen simultaneously on diff...

  12. 125 marksMultiplexed address busAnswer

    Write short notes on: a.) Multiplexed Address Write short notes on: b.) Memory Hierarchy [2.5+2.5]

    Definition: A multiplexed address is a technique where the same set of address lines (pins) is used to transmit different parts of an address at different times, rather than having separate lines for each part. Key Concept: In many memor...