งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Chapter 7 Input/Output I/O Module Communication between the peripheral and the bus.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Chapter 7 Input/Output I/O Module Communication between the peripheral and the bus."— ใบสำเนางานนำเสนอ:

1 Chapter 7 Input/Output I/O Module Communication between the peripheral and the bus

2 I/O Module ในการที่หน่วยประมวลผลกลาง (Central Processing Unit) หรือ หน่วยความจำหลัก (Main Memory) จะ ติดต่อสื่อสารกับอุปกรณ์อินพุต / เอ้าท์พุตซึ่ง บางทีก็เรียกเป็นอุปกรณ์ภายนอก (Peripheral Devices) เช่น แป้นพิมพ์ จอภาพ เมาส์ เครื่องพิมพ์ โมเด็ม สแกนเนอร์ เป็นต้น จะไม่สามารถติดต่อกันได้โดยตรง แต่จะต้อง มีตัวกลางคือหน่วย I/O Module สำหรับ ทำงานติดต่อและโยกย้ายหรือถ่าย (transfer)

3 I/O Module

4 Input/Output Problems ( สาเหตุที่หน่วยประมวลผลกลาง และหน่วยความจำหลักไม่สามารถที่จะติดต่อสื่อสารกับอุปกรณ์ ภายนอกได้โดยตรงเนื่องจาก ) Wide variety of peripherals (หลากหลายชนิดของ อุปกรณ์) —Delivering different amounts of data ในด้านรูปแบบของ ข้อมูล (data format) และขนาดของคำของข้อมูล (word length) สำหรับแต่ละอุปกรณ์ก็ไม่เหมือนกัน —In different formats อุปกรณ์ภายนอกแต่ละอุปกรณ์ก็มี รูปแบบในการติดต่อ ควบคุมการสื่อสารที่ไม่เหมือนกัน All slower than CPU and RAM ความเร็วในการถ่าย ข้อมูลของอุปกรณ์ภายนอกจะช้ากว่าความเร็วของ หน่วยประมวลผลกลางและหน่วยความจำหลัก Need I/O modules จึงจำเป็นต้องการ i/o module เพื่อจัดการ

5 Input/Output Module Interface to CPU and Memory Interface to one or more peripherals

6 Generic Model of I/O Module

7 External Devices( เราจำแนกอุปกรณ์ภายนอก เป็น 3 อย่าง ) Human readable - สำหรับการติดต่อกับผู้ใช้คอมพิวเตอร์ เช่น Screen, printer, keyboard Machine readable - สำหรับติดต่อกับ equipment เช่น Monitoring and control, magnetic disk, tape, sensor Communication - สำหรับติดต่อกับอุปกรณ์ระยะไกล(Remote Device) —Modem —Network Interface Card (NIC)

8 External Device Block Diagram

9 Typical I/O Data Rates

10 I/O Module Function หน้าที่ของ I/O Module Control & Timing CPU Communication Device Communication Data Buffering Error Detection

11 I/O Steps CPU checks I/O module device status I/O module returns status If ready, CPU requests data transfer I/O module gets data from device I/O module transfers data to CPU

12 I/O Module Diagram โครงสร้างของ I/O Module เพื่อที่จะให้ I/O Module สามารถ ทำงานเป็นตัวต่อเชื่อมระหว่างคอมพิวเตอร์ กับอุปกรณ์ภายนอกได้ดี ภายในของ I/O Module ควรจะประกอบด้วยส่วนประกอบ สำคัญต่างๆดังแสดงในรูปถัดไป I/O Module นี้บางที่ก็เรียกเป็น I/O Controller หรือ Device Controller ก็ได้ และในปัจจุบันมีการบรรจุวงจรทั้งหมดลงใน ไอซีที่เรียกว่า Programmable Peripheral Interface

13 I/O Module Diagram

14 โดยในการติดต่อ CPU จะ - ส่ง Address Lines ระบุอุปกรณ์ที่ต้องการ - ส่งสัญญาณควบคุมผ่าน Control Lines ไปสั่งให้ Control Logic รับข้อมูล Status บอก สถานะของอุปกรณ์ที่ต้องการมาวางไว้ใน Status/Control Register เพื่อให้ CPU ตรวจดูสถานะ ของอุปกรณ์ ถ้าอุปกรณ์พร้อม CPU ก็จะส่งสัญญาณ สั่ง read หรือ write ข้อมูลผ่าน Data Register และ Data Lines

15 Input Output Techniques( เทคนิคในการจัดการกับ อุปกรณ์ Input output) Programmed Interrupt driven Direct Memory Access (DMA)

16 Programmed I/O Programmed I/O ทำการควบคุมการติดต่ออุปกรณ์ภายนอก ด้วยการให้ CPU ทำงานไปตามขั้นตอนในโปรแกรมที่สร้างไว้ โดยในโปรแกรมจะประกอบด้วยชุดคำสั่งสำหรับทำงาน 4 อย่าง คือ  1. control สำหรับสั่งงานอุปกรณ์ภายนอกให้ทำงานตามที่ ต้องการ  2. test สั่งให้ CPU ทำการทดสอบสถานะของ I/O Module และ อุปกรณ์ภายนอก  3. read สั่งให้ I/O Module รับข้อมูลที่ป้อนเข้ามาจากอุปกรณ์ ภายนอกเข้ามาวางไว้ใน buffer แล้วส่งต่อให้ CPU หรือ หน่วยความจำผ่าน Data Bus  4. write สั่งให้ I/O Module รับข้อมูลไปจาก Data Bus และ ส่งออกไปให้แก่อุปกรณ์ภายนอก

17 Programmed I/O

18 การควบคุมการติดต่อกับอุปกรณ์ภายนอกแบบนี้มี ข้อเสียที่สำคัญคือในระหว่างการรันโปรแกรมทั่วๆไป ตามปกติ CPU จะต้องคอยแบ่งเวลามาตรวจสอบว่า อุปกรณ์อินพุตที่สำคัญเช่นแป้นพิมพ์หรือเมาส์มีการกด ป้อนข้อมูลเข้ามาหรือไม่อยู่เป็นครั้งคราวตลอดเวลา (polling) มิฉะนั้นก็จะไม่ทราบและไม่ได้ตอบสนองต่อ อุปกรณ์อินพุตเหล่านี้ทำให้ได้ผลการรันโปรแกรมไม่ สมบูรณ์ แต่ก็มีผลทำให้การรันโปรแกรมช้าลงกว่าที่ ควรจะเป็น

19 Interrupt Driven I/O Interrupt-Driven I/O เพื่อแก้ปัญหาของระบบการ ควบคุมการติดต่อกับอุปกรณ์อินพุตแบบ Programmed I/O จึงมีการออกแบบให้ไอซีของ CPU มีขั้วสาย Interrupt สำหรับต่อกับอุปกรณ์อินพุตต่างๆ วิธีการนี้จะคล้ายๆ แบบ Programmed I/O เพียงแต่จะ มีการ interupt เข้ามาเกี่ยวข้อง ซึ่งจะเป็นการช่วยเพิ่ม ความเร็วให้ระบบคอมพิวเตอร์ วิธีนี้ Programmed I/O ไม่ต้องรอ เวลาในการติดต่อ กับ I/O แต่จะทำกระบวนการใน CPU ไปเรื่อยๆ จนกว่าจะมีสัญญาณ Interupt จาก I/O Module ว่า ตอนนี้ Ok แล้ว ถึงจะไปติดต่อกับ I/O ต่อจนทำเสร็จ

20 โดยเมื่ออุปกรณ์เหล่านั้นมีข้อมูลต้องการจะส่งให้แก่ CPU ก็จะส่งสัญญาณ Interrupt มาที่ขั้วสายนี้พร้อม กับส่งหมายเลขประจำอุปกรณ์มาทางแอดเดรสบัส เป็นการแจ้งให้ CPU ทราบว่าในขณะนั้นอุปกรณ์นั้นๆมี ข้อมูลที่จะส่งให้แก่ CPU หรือกล่าวอีกอย่างหนึ่งว่าเป็น การขอใช้บริการจาก CPU ซึ่ง CPU ก็จะทราบว่า อุปกรณ์ใดขอใช้บริการมาก็จะหยุดการรันโปรแกรมที่ กำลังรันอยู่เพื่อไปรันโปรแกรมย่อยที่เขียนไว้ และเมื่อ เสร็จสิ้นการให้บริการอุปกรณ์นั้นๆแล้วจึงกลับมาทำ โปรแกรมเดิมต่อไป ดังขั้นตอนการทำงาน

21 Interrupt Driven I/O จะเห็นว่าด้วยวิธีการ Interrupt-Driven I/O นี้ CPU ไม่ต้องเสียเวลามาคอยตรวจดูสถานะของอุปกรณ์ อินพุตต่างๆอยู่เสมอๆในระหว่างการรัน Main Program ต่อเมื่อมีสัญญาณอินเตอร์รัพท์เข้ามาเท่านั้นซึ่ง CPU ก็ จะหยุดการรัน Main Program เพื่อไปรันโปรแกรมย่อย ให้บริการอุปกรณ์นั้นๆ เมื่อเสร็จแล้วจึงกลับไปรัน Main program ต่อไป จึงมีผลทำให้ได้ความเร็วในการ รัน Main Program สูงขึ้น

22 Interrupt Driven I/O Basic Operation CPU issues read command I/O module gets data from peripheral while CPU does other work I/O module interrupts CPU CPU requests data I/O module transfers data

23 Multiple Interrupts Each interrupt line has a priority Higher priority lines can interrupt lower priority lines If bus mastering only current master can interrupt

24 82C59A Interrupt Controller โดยปกติ cpu จะมี interupt 1 ขา ถ้ามีการ interupt เข้ามาพร้อมๆ กันวิธีแก้ก็คือต่อวงจร ตามรูป ซึ่งจะเป็นการใช้ IC 82C59A เป็นตัว จัดการ การ Interupt

25 Intel 82C55A Programmable Peripheral Interface 82C55A คือตัว I/O Module นั่นเอง

26 Using 82C55A To Control Keyboard/Display

27 Direct Memory Access(DMA) เป็นการติดต่อระหว่าง I/O กับ Memory โดยตรง โดย ไม่ผ่าน CPU จะเป็นการเพิ่มความเร็วของระบบในการย้ายข้อมูลเข้า ออกจากหน่วยความจำโดยไม่รบกวน CPU (แต่จริงๆ แล้วก็รบกวนอยู่บ้าง) จะมี DMA Module เป็นตัวจัดการการรับส่งข้อมูล ระหว่างอุปกรณ์ When transfer is complete, the DMA module sends an interrupt signal to the CPU

28 DMA Function Additional Module (hardware) on bus จะเพิ่ม Module เข้าไปในระบบเพื่อให้ติดต่อกันได้ เร็วยิ่งขึ้น DMA controller takes over from CPU for I/O คือ DMA Controller หรือ DMA Module จะ จัดการการส่งข้อมูลระหว่าง I/O

29 DMA Module Diagram (IC ที่ทำหน้าที่ DMA คือ 8237A)

30 DMA Operation CPU tells DMA controller:- —Read/Write —Device address —Starting address of memory block for data —Amount of data to be transferred CPU carries on with other work DMA controller deals with transfer DMA controller sends interrupt when finished

31 DMA Configurations (1) Single Bus, Detached DMA controller ถ้า I/O ติดต่อกับ Memory จะทำให้ CPU ใช้ bus ไม่ได้ กรรมวิธีการจัดวาง DMA แบบต่างๆ เพื่อความรวดเร็ว

32 DMA Configurations (2) Single Bus, Integrated DMA controller Controller may support >1 device Each transfer uses bus once —DMA to memory

33 DMA Configurations (3) Separate I/O Bus สามารถอ่านข้อมูลจาก CPU  Mem พร้อมๆ กับ Mem  I/O Bus supports all DMA enabled devices Each transfer uses bus once —DMA to memory

34 I/O Channels and Processor จะมี I/O processor เป็นตัวประมวลผล ถ้า I/O Module ต้องการติดต่อกับ CPU แต่จะมี I/O Processor เป็นตัวจัดการไม่ให้ I/O Module ไปติดต่อ กับ CPU แต่ให้ติดต่อกับ I/O Processor เอง จะไม่ยุ่งกับ CPU ซึ่งจะทำให้ CPU ทำงานของตัวเอง ได้เรื่อยๆ ตัวอย่างของเทคนิคแบบนี้ เช่น 3D graphics cards — VGA AGP Card ที่มีหน่วยประมวลผลของตัวเอง

35 I/O Channel Architecture


ดาวน์โหลด ppt Chapter 7 Input/Output I/O Module Communication between the peripheral and the bus.

งานนำเสนอที่คล้ายกัน


Ads by Google