Q. I/O buses. Ans. Introduction to the We have seen before, that the PC’s buses are the fundamental data “highways” on the system board. The “first” bus is the system bus, which connects the CPU with RAM. In older designs it was a local bus. In newer designs this bus is called the front side bus (FSB). However, the first PCs had only one bus, which was common for the CPU, RAM and I/O components: The older first and second generation CPUs ran at relatively low clock frequencies, and all system components could keep up with those speeds. Q. What is ISA and what is its function? Ans. Industry Standard Architecture (in practice almost always shortened to ISA) was a computer bus standard for IBM compatible computers. ISA bus Since about 1984, standard bus for PC I/O. It is still used in all PCs to maintain backwards compatibility. In that way modern PCs can accept expansion cards of the old ISA type. Industry Standard Architecture, an 8-bit (and later, a 16-bit) expansion bus that provides a buffered interface from devices on expansion cards to the PC internal bus. ISA is 16 bits wide and runs at the maximum of 8 MHz. However it requires 2-3 clock ticks to move 16 bits of data. The ISA bus works synchronous with the CPU. If the system bus is faster than 10 MHz, many expansion boards become flaky and the ISA clock frequency is reduced to a fraction of the system bus clock frequency. The ISA bus has a theoretical transmission capacity of about 8 MBps However, the actual speed does not exceed 1-2 MBps, and it soon became too slow. Q. EISA BUS Ans. The Extended Industry Standard Architecture (EISA) is a bus standard for IBM compatible computers. EISA buses are 32 bits wide and support multiprocessing. Some of the key features of the EISA bus: ISA Compatibility: ISA cards will work in EISA slots. 32 Bit Bus Width: Like MCA, the bus was expanded to 32 bits. Bus Mastering: The EISA bus supports bus mastering adapters for greater efficiency, including proper bus arbitration. Plug and Play: EISA automatically configures adapter cards, similar to the Plug and Play standards of modem systems EISA introduced the following enhancements over ISA: • 32-bit memory addressing for CPU, DMA, and bus master devices • A synchronous data transfer protocol for high speed burst transfers • Automatic translation of bus cycles between EISA and ISA masters and slaves • Support of intelligent bus master peripheral controllers • Enhanced DMA arbitration and transfer rates 33MB/stransfer rate for bus masters and DMA devices • Shareable interrupts, programmable for edge or level triggering • Automatic configuration of system and expansion boards An important feature of the EISA bus is that the host or any bus master can access any memory device or peripheral in the system, even if their bus widths differ. As indicated in the features list, for sheer speed EISA excelled providing a maximum 32-bit data transfer rate of 33 MB/s Q. Explain VESA local bus and its uses? Ans. Video Electronic Standards Association (VESA). VESA Local Bus is a standard interface between your computer and its expansion slot that provides faster data flow between the devices controlled by the expansion cards and your computer’s microprocessor, a microprocessor, increasing total system performance. VESA Local Bus is particularly effective in systems with advanced video cards and supports 32-bit data flow at 50 MHz. The VESA Local Bus mostly used in personal computers. VESA Local Bus worked alongside the ISA bus, it acted as a high-speed conduct it for memory-mapped I/O and DMA, while the ISA bus handled interrupts and port-mapped I/O the VESA Local Bus was designed as a top gap solution to the problem of the ISA bus’s limited bandwidth. Q. PCI bus Ans. Peripheral Component Interconnect (PCI). The PCI bus was introduced with the Pentium computer. The 16-bit and 32-bit bus architecture would limit the performance of the 64-bit Pentiums. The PCI bus supports both 32 and 64-bit data paths and uses a chipset that will also support ISA and EISA architectures. This means that the PCI bus can be used for both 486 computers and Pentiums, and motherboards can have a combination of PCI and ISA or EISA slots. The PCI bus communicates with the processor through a bridge circuit, which acts kind of like an interpreter. This means that it can be processor independent. PCI has a 33 MHz bus speed and can support multiple bus mastering devices. The cards are Plug-and-Play, the slots are keyed differently and will not allow the wrong voltage card to be inserted. Benefits of PCI A PCI bus does provide improved performance for high speed devices such as graphic display adapters, network cards, and disk controllers. PCI is also auto configurable and is controlled by software and not jump or switches on a board. This is feature referred to as “Plug-andPlay” or “PNP”. The clock speed (MHz) of a PCI bus works independently of the CPU speed. A PCI bus can operate at 3.3V which is important for battery life on portables and the new energy saving “Green pc” requirements. A PCI bus will operate on several computer platform such as the PowerPC from Apple and IBM and DEC’S Alpha chip. Because a PCI bus requires less components, pins and boards, there is a higher reliability rate. There are less parts to manufacturer and fewer parts that will break. Q. Describe the concept of local bus. Ans. In computer science, a local bus is a computer bus that connects directly, or, almost directly, from the CPU to one or more slots on the expansion bus. The significance of direct connection to the CPU is avoiding the bottleneck created by the expansion bus, thus providing fast throughput. Local Bus, also known as internal data bus, system bus or front-Side-Bus, connects all the internal components of a computer, such as CPU and memory, to the motherboard. Internal data buses are also referred to as a local bus, because they are intended to connect to local devices. A bus or electronic pathway that allows access to the CPU at a speed synchronized with the CPU. VESA Local Bus is an example of local bus design. Q. Compare the performance and capabilities of VESA and PCI buses. Ans. VESA Local Bus (VLB) The idea of a local bus came from the need for a bus that could keep up with the faster CPUs. A local bus connects directly to the processor and operates at the same speed as the CPU externally (not multiplied). The Video Electronics Standards Association (VESA) developed a local bus that had a 32bit data path. It was built on the ISA architecture, but was longer, with a third connector that had all its lines running directly to the processor. It was usually used for video cards, I/O cards and multimedia expansion cards. There couldn’t be more than 3 VLB slots on a motherboard because the processors couldn’t keep up with the transfer. Often, one of the slots was a shared slot. This meant that if the ISA slot beside it was being used, the VLB slot beside it had to be left empty. If the VESA slot had a card in it, the ISA slot beside it could not be used. This Bus called VLB for short. It is an inexpensive and simple technology. This bus only achieved status as an interim phenomenon (in’ 1993-94). VLB was widely used on 486 motherboards, where the system bus runs at 33 MFIz. VLB runs directly with the system bus. Therefore, data transfer is at CPU speed, synchronous and in width. The problem with VLB was compatibility. Adapters and system boards would not always work together. VESA is an organization with about 120 members, mostly monitor and graphics card manufacturers. Therefore, most VLB cards were video cards. Q: What does an I/O bus do? I/O buses connect the CPU to all other components, except RAM. Data are moved on the buses from one component to another, and data from other components to the CPU and RAM. The I/O buses differ from the system bus in speed. Their speed will always be lower than the system bus speed. Over the years, different I/O buses have been developed. On modem PCs, you will usually find four buses: The ISA bus, which is an old low speed bus, soon to be excluded from the PC design. The PCI bus, which is a new high speed bus. The USB bus (Universal Serial Bus), which is a new low speed bus. The AGP bus which solely is used for the graphics card. As mentioned earlier, 1/0 buses are really extensions to the system bus. On the motherboard, the system bus ends in a controller chip, which forms a bridge to the I/O buses. All in all, the buses have had a very central placement in the PC’s data exchange. Actually, all components except the CPU communicate with each other and with RAM via the different I/O buses. Here you see a demonstration of this logic. In modem PCs you only find the PCI and ISA buses (besides USB, which we do not know much about yet). But, over the years, there have been other buses. Here is a diagram of the various I/O buses: Q. What is bus arbitration? Ans. The procedure in bus communication that chooses between connected devices contending for control of the shared bus; the device currently in control of the bus is often termed the bus master. Devices may be allocated differing priority levels that will determine the choice of bus master in case of contention. A device not currently bus master must request control of the bus before attempting to initiate a data transfer via the bus. The normal protocol is that only one device may be bus master at any time and that all other devices act as slaves to this master. Only a bus master may initiate a normal data transfer on the bus; slave devices respond to commands issued by the current bus master by supplying data requested or accepting data sent. Or, A bus arbitration scheme is to provide fair access to the bus by the various elements of the computer system. Arbitration must allow for each element to have access to the bus while, at the same time, preventing any signal element from monopolizing the bus. The method of bus arbitration presented here appears to meet these goals. The arbitration scheme described in this report places the various elements of the system on a rotating system of priorities. After the various priorities are set initially (O.N-l, where N is the number of system elements) all the priorities are incremented by one on a modulo N basis. In this way, each processor will eventually have to priority and be able to take possession of the bus if needed. Q: Bus Comparison: Q. What is the difference between ISA and EISA bus? Comparison between ISA and PCI Q.2.What is the purpose of IRQ? Ans. The computing phrase “interrupt request” (or IRQ) is used to refer to either the act of interrupting the bus lines used to signal an interrupt, or the interrupt input lines on a Programmable Interrupt Controller (PLC). Purpose: A device sends a interrupt to the motherboard’s interrupt circuitry by changing the voltage level on the interrupt request line. There are 15 IRQs available. No two pieces of hardware can share the same IRQ, with the exception of your PCI and IDE controllers. The IDEs are usually 14 and 15. No two devices can share an IRQ number. IRQ are used by the Input/output devices to communicate with a CPU. LRQs on ISA machines cannot be shared by two devices. An IRQ is a request to service a particular hardware device or update a specific section of the program. When an IRQ occurs the appropriate ISR will be called to service the request. Q. What do you mean by plug-n-play technique? Ans. Plug-and-play automatically tells the software (device drivers) where to find various pieces of hardware (devices) such as modems, network cards, sound cards, etc. Plug-and-Play’s task is to match up physical devices with the software (device drivers) that operates them and to establish channels of communication between each physical device and its driver. In order to achieve this, allocates the following; bus resources of both drivers and hardware: I/O addresses, IRQs, DMA channels (ISA bus only), and memory regions. Q. Define the term resource conflict. Ans. Static resource conflicts are caused when one or more devices are conflicting with another device. If you have recently added a device to your computer, attempt to remove the device from the computer. If this resolves your issue, see if the applicable device has the availability to have different settings. This error can be caused by any of the below reasons: • A device within your computer that causes IRQ I DMA is conflicting. This could cause some hardware not to work on your computer. • Hardware misreporting information about hardware. This could be bad hardware within your computer. • CMOS issue: could be the CMOS battery within your computer is jumbled or damaged. Clearing or resetting it could resolve the issue. Q. What is the full form of VME, ISA, PCI; MCA, SCS1and EISA? Ans. VME- Virtual Machine Environment ISA- Industry Standard Architecture PCI- Peripheral Component Interconnect MCA- Micro Channel Architecture SCSI- Small Computer System Interface EISA- Extended Industry Standard Architecture SECTION-B Q. Explain DMA controller in detail. Ans. Direct memory access (DMA) is a feature of modem computers and microprocessors that allows certain hardware subsystems within the computer to access system memory for reading and/or writing independently of the central processing unit Many hard’ systems use DMA including disk drive controllers, graphics cards, network cards and sound cards DMA is also used for intra-chip data transfer in multi-core processors especially in multiprocessor system-on-chips where its processing element is equipped with a local memory (often called scratchpad memory and DMA is used for transferring data between the local memory and the main memory. Computers that have DMA channels can transfer data to and from devices with much less CPU overhead than computers without a DMA channel. Similarly a processing element inside a multi-core processor can transfer data to and from its local memory without occupying its processor time and allowing computation and data transfer concurrency. Direct memory access (DMA) provides a way for devices to transfer information directly to and from memory, without the processor’s intervention. This was originally conceived as a more efficient means of transferring information to and from memory than programmed I/O, as it allows the processor to do other work (when using an operating system that supports it). It is still used by many devices, although newer transfer modes are now used for high-performance devices like hard disks. DMA is controlled by the chipset’s DMA cont and the better (and newer) the controller, the more DMA modes its supports. See here for more details on DMA Bus mastering is an enhancement of DMA whereby the remote device not only can send data to the memory directly; it actually takes control of the bus, and performs the transfer itself instead of using the DMA controller. This cuts down on the overhead of having the (relatively slow) DMA controller talk to the device doing the transfer, further improving performance. Bus mastering support is also provided by the chipset. DMA is an essential feature of all modem computers, as it allows devices to transfer data without subjecting the CPU to a heavy overhead. Otherwise, the CPU would have to copy each piece of data from the source to the destination, making itself unavailable for other tasks. This situation is aggravated because access to I/O devices over a peripheral bus is generally slower than normal system RAM. With DMA, the CPU gets freed from this overhead and can do useful tasks during data transfer (though the CPU bus would be partly blocked by DMA). In the same way, a DMA engine in an embedded processor allows its processing element to issue a data transfer and carries on its own task while the data transfer is being performed. A DMA transfer copies a block of memory from one device to another. While the CPU initiates the transfer by issuing a DMA command, it does not execute it. For so-called “third party” DMA, as is normally used with the J bus, the transfer is performed by a DMA controller which is typically part of the motherboard chinset. More advanced bus designs such as typically use bus mastering DMA, where the device takes control of the bus and performs the transfer itself. In an embedded processor or multiprocessor system-on-chip it is a DMA engine connected to the on-chip. bus that actually administers the transfer of the data, in coordination with the flow control mechanisms of the on- chip bus. A typical usage of DMA is copying a block of memory from system RAM to or from a buffer on the device. Such an operation usually does not stall the processor, which as a result can be scheduled to perform other tasks unless those tasks include a read from or write to memory. DMA is essential to high performance embedded systems It is also essential in providing so-called zero-copy implementations of peripheral device drivers as well as functionalities such as network packet routing, audio playback and streaming video Multicore embedded processors (in the form of multiprocessor system-on-chip often use one or more DMA engines in combination with scratchpad memories for both increased efficiency and lower power consumption In computer clusters for high performer computing DMA among multiple computing nodes is often used under the name of remote DMA There are two control signal used to request acknow1edge a DMA transfer in microprocessor-based system. The HOLD pin is used to request a DMA action and the HLDA pin is an output acknowledges the DMA action. DMA Controller Features • General-purpose direct-memory access (DMA) controller • Up to 16 DMA channels Supports both synchronous and asynchronous DMA transfers Designed for peripheral component interconnect (PCI) and other central processing unit (CPU) bus systems. DMA Controller Description The DMA controller megafunction is designed for data transfer in different system environments. Two module types—type 0 and type 1— are provided, and the user can choose the number of each module type. Type 0 modules are designed to transfer data residing on the same bus, and Type I modules are designed to transfer data between two different buses. Each module can support up to 4 DMA channels; the megafunction supports up to 16 total DMA channels. Each DMA channel can be programmed for various features, such as transfer size, synchronized and unsynchronized transfer control, transfer priority, interrupt generation, memory and I/O address space, and address change direction. This megafunction is designed to work with 32- bit and 64-bit bus systems, including the PCI bus, PowerPC bus, arid other CPU host buses. It can also be integrated with other mega functions to form a complete functional block. This mega function is available in Altera Hardware Description Language (AHDL), Verilog HDL, VHDL, and net list format. Device Utilization Example Table I lists the typical device utilization results for the mega function. Q. Differentiate between IRQ channels and DMA channels. Ans. IRQ channels This can be thought of as a ‘channel’ that devices in your PC use when they want the processors attention, i.e. when you move the mouse or press a key, it is important that the IRQ settings in your machine are set correctly otherwise it can cause devices to conflict with each other. DMA channels Direct memory access (DMA) channels are system pathways used by many devices to transfer information directly to and from memory. DMA channels are not nearly as “famous” as IRQs as system resources go. This is mostly for a good reason: there are fewer of them and they are used by many fewer devices, and hence they usually cause fewer problems with system setup. However, conflicts on DMA channels can cause very strange system problems and can be very difficult to diagnose. DMAs are used most commonly today by floppy disk drives, tape drives and sound cards. Without DMA, using programmed input/output (P mode for communication with peripheral devices, or load store instructions in the case of multicore chips, the CPU is typically fully occupied for the entire duration of the read or write operation, and is thus unavailable to perform other work. With DMA, the CPU would initiate the transfer, do other operations while the transfer is in progress, and receive an interrupt from the DMA controller once the operation has been done. This is especially useful in real-time computing applications where not stalling behind concurrent operations is critical. Another and related application area is various forms of stream processing where it is essential to have data processing and transfer in parallel, in order to achieve sufficient throughput. An IRQ (interrupt request line) is a hardware line which devices can send interrupt signals to the microprocessor. Think of it as an assigned location where the computer can expect a particular device to interrupt it when that device sends the computer signals about its operation. When installing and removing hardware devices, the system relies on interrupt requests. There are default settings that are configured in the system BIOS and recognized by the operating system. Plug and Play technology has reduced the need for concern for these settings and virtually eliminated manual configuration in modem computers and operating systems. Here are the most common IRQ assignments. For AT, 386,486, and Pentium Computers DMA (direct memory access) channels are used for transferring data from main memory to a device without passing it through the CPU (processor). DMA channels allow data to be transferred much faster than devices that don’t use DMA and frees up resources for other devices. Here are some commonly assigned DMA channels. 0 Assigned internal to the system board, you shouldn’t be able to use it. (8-bit transfer) 1 No specific assignment, although its usually used for sound cards, or SCSI host adapters.(8-bit transfer) 2 Assigned to the diskette drives. 3 No specific assignment. Common for sound cards, network interface cards, or SCSI host adapters.(8bit transfer) 4 No specific assignment 5 No specific assignment. Sound Blaster cards generally use this DMA channel. (16-bit transfer) 6 No specific assignment (16-bit transfer) 7 No specific assignment (16-bit transfer) Q. Discuss the advantages of USB technology over serial and parallel slots? Ans. The Universal Serial Bus, or USB for short, is an external bus (a hardwired connection linking two or more hardware components within a computer system) d to provide a fast and functional means for adding external component to a PC. Toward that end, three characteristics define the USB technology: speed, power, and convenience. USB provides an expandable, hot-pluggable Plug and Play serial interface that ensures standard. Low-cost connection for peripheral devices such as keyboards, mice. Joy sticks printers, scanners, storage devices, modems, and video conferencing cameras. Migration to USB is recommended for all peripheral devices that use legacy ports such as PS/2, serial, and parallel ports. Ultra-Wideband is a USB cable replacement technology that provides new solutions for wireless multimedia connectivity and interoperability. Drivers for most USB devices should use WDF. Even though a USB port can handle many of the same peripherals that otherwise connect to a serial or parallel port, the truth is that the USB technology has little in common with its more primitive counterparts. The serial and parallel ports are slow, have limited expandability, and do not carry their own charge of electricity. These ports work fine for connecting printers, mice, and keyboards to your PC, but all other devices will perform better if connected to a USB port. FireWire (also referred to as i.LINK or IEEE 1394) ports, on the other hand, compete favorably with the USB technology. The high performance serial bus delivers transmission speeds of 400Mbps (equivalent to 50MBps), is hot-pluggable, and supports daisy chaining of as many as 63 devices. You’ll find FireWire technology used primarily in situations that require high-volume data transfers. Digital video recorders, external hard drives, and external recordable CD drives are among the devices that are most likely to sport FireWire ports. An enhanced version of FireWire is presently under development. The new specification will provide data throughput at rates of 3.200Mbps (400MBps), leaving all other external bus interfaces in the dust. Be that as it may, we live in the present. Given the fact that USB 2.0 has the current installment of Fire Wire beat in almost all aspects of performance, we believe your best bet is to stick with USB as the port of choice for the time being.