COA Tutorial
Basic CO and Design
Computer Instructions
Digital Logic Circuits
Map Simplification
Combinational Circuits
Flip - Flops
Digital Components
Register Transfer
Micro-Operations
Memory Organization
COA_Misc
- Booth's Multiplication Algorithm
- Branch Instruction in Computer Organization
- Data Representation in Computer Organization
- ALU and Data Path in Computer Organization
- External memory in Computer Organization
- Structured Computer Organization
- Types of Register in Computer Organization
- Secondary Storage Devices in Computer Organization
- Types of Operands in Computer Organization
- Serial Communication in Computer organization
- Addressing Sequencing in Computer Organization
- Simplified Instructional Computer (SIC)
- Arithmetic Instructions in AVR microcontroller
- Conventional Computing VS Quantum Computing
- Instruction set used in Simplified Instructional Computer
- Branch Instruction in AVR microcontroller
- Conditional Branch instruction in AVR Microcontroller
- Data transfer instruction in AVR microcontroller
- Difference between Memory-based and Register-based addressing modes
- Difference between 1's complement Representation and 2's complement Representation
- CALL Instructions and Stack in AVR Microcontroller
- Difference between Call and Jump Instructions
- Overflow in Arithmetic Addition in Binary number System
- Horizontal Micro-programmed Vs. Vertical Micro-programmed Control Unit
- Hardwired Vs. Micro-programmed Control Unit
- Non-Restoring Division Algorithm for Unsigned Integer
- Restoring Division Algorithm for Unsigned Integer
- Debugging a Machine-level Program
- Dependencies and Data Hazard in pipeline in Computer Organization
- Execution, Stages and Throughput in Pipeline
- Types of Pipeline Delay and Stalling
- Timing Diagram of MOV Instruction
- Advantages and Disadvantages of Flash Memory
- Importance/Need of negative feedback in amplifiers
- Anti-Aliasing - Computer Graphics
- Bus Arbitration in Computer Organization
- Convert a number from Base 2 (Binary) to Base 6
- Cache Coherence
- EHCI
- Cache Memory and Virtual Memory
- Electrical Potential and Potential Difference
- RAM and Cache
- SIM and RIM instructions in 8085 processor
- Clusters in Computer Organization
- Data Types and Addressing Modes of 80386/80386DX Microprocessor
Bus Arbitration in Computer Organization
What is Bus Arbitration?
Bus Arbitration is the procedure by which the active bus master accesses the bus, relinquishes control of it, and then transfers it to a different bus-seeking processor unit. A bus master is a controller that can access the bus for a given instance.
A conflict could occur if multiple DMA controllers, other controllers, or processors attempt to access the common bus simultaneously, yet only one is permitted to access. Bus master status can only be held by one processor or controller at once. By coordinating the actions of all devices seeking memory transfers, the Bus Arbitration method is used to resolve these disputes.
Two approaches are followed for the bus Arbitration:
- Centralized Bus Arbitration - In which the necessary arbitration is carried out by a lone bus arbitrator.
- Distributive Bus Arbitration - In which every device takes part in choosing the new bus master. A 4bit identification number is allocated to each device on the bus. The created ID will decide the device's priority.
Centralized Bus Arbitration Methodologies
There are three methods of Centralized Bus Arbitration, which are listed below:
1. Daily Chaining Method - All bus masters work on the same line to make bus requests in this straightforward and less expensive approach. Up until it comes across the first master who is making a request for access to the bus, the bus grant signal travels serially through each master. Any other seeking module will not receive the grant signal and hence be unable to access the bus since this master prevents the bus grant signal from propagating.
Any device linked to the bus, such as the processor or any DMA controller unit, may act as the bus master throughout any bus cycle.
Its Advantages:
- It is scalable and provides simplicity
- The user is free to add multiple devices to a predefined number of maximum devices wherever he wants along the chain.
Its Disadvantages:
- A device's priority value is determined by the location of the master bus.
- Using this strategy results in propagation delay.
- The entire system will cease to function if one gadget malfunctions.
2. Rotating or Polling Priority Method - The address lines needed depend on how many connected masters are in the system. The controller is utilized to produce the unique priority for the master (or address). A series of master addresses are generated by the controller. The bus is used once the asking master knows its address and activates the busy line.
Its Advantages:
- This approach is neutral in terms of processor and device preferences.
- The process is also straightforward.
Its Disadvantages:
- It is challenging to add bus masters since it increases the circuit's address line count.
- The system will continue to function even if one device malfunctions.
3. Independent Request or Fixed Priority Method - A unique pair of bus requests and bus grant lines are provided to each master, and each pair is given a priority. The controller's built-in priority decoder chooses the utmost priority request and then asserts the matching bus grant signal.
Its Advantage:
- This technique produces a quick response.
Its Disadvantage:
- A significant number of control lines are needed, which raises the cost of the hardware.