Post on 05-Jul-2015
Embed Size (px)
- 1. Course : AIT 204 Course Title : Computer Organization and Architecture (COA) Course Credits : 3 + 0 Course Teacher : Dr. Y R Ghodasara & Prof. K.C. Kamani College of Agricultural Information Technology Anand Agricultural University Anand Unit IV
2. Intro to the I/O system I/O Devices are attached with the computer to communicate with the external world. Input devices are used to take input from the user. Output devices are used to display output to the user. Storage devices are used to store files. I/O Devices are connected with the south bridge of the mother board. Different I/O devices are using different I/O Bus for Connectivity. I/O bus is a standard mechanism to connect I/O device to transfer data. Separate Controllers are there to control I/O Bus. 3. Criteria North Bridge Bus South Bridge Bus Devices CPU, RAM, AGP, Ethernet All other devices Bus Options FSB PCI Express AGP PCI PCI Express USB ATA SATA SCSI FireWire(WiFi) Clock Speed 70-1000 MHz 10-40 MHz Data Transfer Speed 3 GB/Second 20-500 MB/Second Comparison of North Bridge and South Bridge Buses 4. Bus Type Devices Serial, KBD, PS2 Keyboard, Mouse, Floppy ROM,CMOS BIOS ATA, SATA Hard disk, CD-ROM/RW, DVD PCI/ PCI Express Network Card, Sound Card, Graphics and Video Card and other Adapters USB Mouse, Scanner, Printer, External Hard Disk, Modam and many more FireWire(Wi-Fi) Scanner, Camera, External Disk SCSI Hard Disks, CD Drive, DVD Drive, Scanners LPT, COM Keyboard, Mouse, Printers Different Bus Interface to connect Devices 5. I/O devices Data Transfer Methods Three methods are used to transfer data between memory and I/O devices. Programmed I/O transfer Interrupted I/O transfer DMA (Direct Memory Access ) transfer 6. Programmed I/O Transfer In the programmed I/O method, the I/O devices does not have direct access to memory. A transfer from an I/O device to memory requires the execution of several instructions by the CPU. CPU transfers data from I/O devices to its register and then write those data from register to memory. I/O Controller CPU RAM Issue Read Command to IO Controller Read Status of IO Controller status Read Data from IO Controller Write Data to Memory done Not Ready Ready No Yes Execute Next Instruction Check status 7. Disadvantages Continuous CPU Monitoring is required to check whether data is available from IO device or not. This wastes lot of precious CPU cycles. Transfer from IO controller to CPU and CPU to Memory requires CPU execution time. Not suitable for large amount of data transfer. 8. Interrupted I/O Transfer In the interrupt I/O method, the I/O device controller will generate interrupt when device is ready to transfer data. On receiving this interrupt, the CPU will execute IO routine stored in the memory to transfer data and then resumes its former processing. I/O Controller CPU RAM Interrupt Received Interrupt Raised CPU doing something else IO Controller Interrupt for Data trasnfer Interrupted Read Data from IO Controller Write Data to Memory done No Yes 9. Advantages Continuous CPU Monitoring is not required. IO controller request(interrupt) for CPU when ever required. CPU can execute other programs in free time. Disadvantages Transfer from IO controller to CPU and CPU to Memory requires CPU execution time. Not suitable for large amount of data transfer. 10. DMA (Direct Memory Access)Transfer In the DMA transfer, the I/O device is instructed by the CPU to transfer data. CPU also provide location information and number of bytes to be transferred. IO Controller will transfer data directly in the Memory using data bus. CPU is free during this transfer and can do execution of other program. IO Controller will inform CPU after transfer is complete. I/O Controller CPU RAM Transfer Data From location x1 ( 100 bytes ) to x2(Memory) Transfer Complete CPU Inform IO Controller to transfer data from x1(size) to x2 CPU Starts other work IO Controller Reads Data Write Data to Memory done No Yes Inform CPU that transfer is over. 11. Advantages Continuous CPU Monitoring is not required. IO controller request(interrupt) for CPU when ever required. CPU can execute other programs in free time. Transfer from IO controller to Memory does not require CPU execution time. CPU remains free. It is suitable for large amount of data transfer. 12. Multi Processor Architecture 13. Industry Demands More Processing Power For Drug Design To simulate engineering model To general complex graphics in computer application To process large amount of historical data and predict future trend To predict financial and economical trends Limitations of Single Processor Machine Clock speed can not be increase further. In Digital circuit maximum signal speed is as much as light speed. More speed generate more heat. 14. Dual Core Chip uses one die in a single package and a die contains two core units on the processor. Dual core has 4MB of shared L2 cache on the processor. On Intel dual-core CPUs the Front Side Bus is used for accessing the RAM memory. Dual Core Processor Dual Core Processor 15. Quad Core Chip uses two dies in a single package and each die is a dual core unit, for a total of four cores on the processor. Each core still has 4MB of shared L2 cache for a total of 8MB L2 on the processor. On Intel quad-core CPUs the Front Side Bus is used for accessing the RAM memory and for the communication between each pair of cores. Quad Core Processor Quad Core Processor 16. Multiprocessor in Multi computers Multiprocessor systems can be build by connecting hundred of computers with single processor. Computers co ordinate by various programming language facility like message passing. This is a low cost solution to achieve 100 CPUs speed using ordinary computers. Examples Cluster Computing Grid Computing Cloud Computing 17. CLUSTER COMPUTING A computer cluster is a group of tightly coupled computers that work together closely so that in many respects it can be viewed as though it were a single computer. Clusters are commonly connected through fast local area networks. Clusters are usually deployed to improve speed and/or reliability over that provided by a single computer, while typically being much more cost effective than single computer the of comparable speed or reliability . 18. 18 Characteristics of Cluster computing Tightly coupled systems Single system image Centralized Job management & scheduling system 19. 19 What is a Grid? Many definitions exist in the literature Early defs: Foster and Kesselman, 1998 A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational facilities Kleinrock 1969: We will probably see the spread of computer utilities, which, like present electric and telephone utilities, will service individual homes and offices across the country. 20. 20 3-point checklist (Foster 2002) 1. Coordinates resources not subject to centralized control 2. Uses standard, open, general purpose protocols and interfaces 3. Deliver nontrivial qualities of service e.g., response time, throughput, availability, security 21. 21 Grid Architecture Autonomous, globally distributed computers/clusters 22. 22 Why do we need Grids? Many large-scale problems cannot be solved by a single computer Globally distributed data and resources Roughly on a grid, a server log in to a bunch of computers (the grid), send them data and a program to run, and runs the program on those computers, which sends the data back to the server when its done. 23. Characteristics of Grid Computing Loosely coupled (Decentralization) Diversity and Dynamism Distributed Job Management & scheduling 24. 24 Comparison of Grid Computing vs. Cluster Computing Grid computing is focused on the ability to support computation across administrative domains sets it apart from traditional computer clusters or traditional distributed computing. Grids offer a way of using the information technology resources optimally inside an organization. In short, it involves virtualizing computing resources. Grid computing is often confused with cluster computing. Functionally, one can classify grids into several types: Computational Grids (including CPU scavenging grids), which focuses primarily on computationally-intensive operations, and Data grids, or the controlled sharing and management of large amounts of distributed data. 25. Cloud computing Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over a network (typically the Internet). The name comes from the use of a cloud-shaped symbol as an abstraction for the complex infrastructure it contains in system diagrams. Cloud computing entrusts remote services with a user's data, software and computation. 26. Use Helps to use applications without installations. Access the personal files at any computer with internet access. This technology allows much more efficient computation by centralizing storage, memory, processing and band width.