Chapter 7 Input/Output I/O Module

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
องค์ประกอบของระบบคอมพิวเตอร์
Advertisements

3. วิธีทำให้ข้อมูลเป็นสารสนเทศมีกี่วิธีอะไรบ้าง
การงานอาชีพและเทคโนโลยี เรื่อง อุปกรณ์คอมพิวเตอร์
คอมพิวเตอร์เบื้องต้น
ใบความรู้ 3 ระบบคอมพิวเตอร์.
กระบวนการ (Process).
เทคโนโลยีสารสนเทศและคอมพิวเตอร์
ระบบปฏิบัติการ (Operating System : OS )
โครงสร้างของระบบปฏิบัติการ Operating System Structure
ระบบมัลติโปรแกรมมิ่ง (Multiprogramming System)
คลิก เข้าสู่การเรียนรู้
หน่วยการเรียนรู้ที่ 5 เรื่อง หลักการทำงานของคอมพิวเตอร์
Central Processing Unit
Software คือ ชุดคำสั่งหรือ ขั้นตอนการทำงานของคอมพิวเตอร์
ระบบคอมพิวเตอร์ (Computer System)
อุปกรณ์คอมพิวเตอร์.
เรื่อง องค์ประกอบของคอมพิวเตอร์ จำทำโดย นาย เดชฤทธิ์ ร้อยพรหมมา
PLC คืออะไร?           Programmable Logic Controller เครื่องควบคุมเชิงตรรกะ
Chapter 5 Plug and Play.
หลักการทำงานของคอมพิวเตอร์
การทำงานขั้นพื้นฐานของคอมพิวเตอร์
การจัดการอุปกรณ์รับ และแสดงผล
หลักการทำงานคอมพิวเตอร์
ความรู้เกี่ยวกับคอมพิวเตอร์
หลักการทำงาน ของคอมพิวเตอร์
หลักการทำงานของคอมพิวเตอร์
ระบบเครือข่ายคอมพิวเตอร์
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
ขั้นตอนการแปลงไฟล์.
เรื่อง การทำงานของคอมพิวเตอร์ สาระวิชา คอมพิวเตอร์ ช่วงชั้นที่ ๑
มารู้จักคอมพิวเตอร์กันเถอะ มารู้จักคอมพิวเตอร์กันเถอะ
Chapter 1 Introduction to Information Technology
การประยุกต์ ใช้งานมัลติมีเดีย
การทำงานของคอมพิวเตอร์
ส่วนประกอบของสกาดา 1. Field Instrumentation 2. Remote Station
ระบบปฏิบัติการ ผู้สอน ผศ. รวินทร์ ไชยสิทธิพร chandra. ac
องค์ประกอบของระบบคอมพิวเตอร์
Functional components of a computer
ขั้นตอนการทำงานและอุปกรณ์คอมพิวเตอร์
CPU ไม่รวม I/O PROCESSOR , MATH CO-PROCESSOR
เมนบอร์ด (mainboard). เมนบอร์ด (mainboard) Mainboard             Mainboard หรือ mother board ถือได้ว่าเป็นอุปกรณ์ชิ้นสำคัญไม่แพ้กับ CPU เพราะหน้าทีหลัก.
องค์ประกอบของระบบคอมพิวเตอร์
หน่วยประมวลผลกลางและหน่วยความจำ Central Processing Unit and Memory
หน่วยนำข้อมูลเข้าและออก Input Unit And Output Unit
เรื่ององค์ประกอบคอมพิวเตอร์
เรื่องคอมพิวเตอร์ทำงานอย่างไร
วิชา เทคโนโลยีสารสนเทศ เรื่อง. หลักการทำงาน และ
คอมพิวเตอร์.
ระบบคอมพิวเตอร์และการประมวลผล
การทำงานของคอมพิวเตอร์
เกียรติพงษ์ ยอดเยี่ยมแกร
หลักการทำงานของคอมพิวเตอร์
อธิบายหลักการทำงาน บทบาท และประโยชน์ของคอมพิวเตอร์
Interrupt.
บทที่ 7 การนำโปรแกรมคอมพิวเตอร์มาใช้ในงานอุตสาหกรรม
บทที่ 1 ระบบคอมพิวเตอร์.
สร้างสรรค์โดย เด็กชายทวีลาภ สุวัฒนพันธุ์กุล Taweelap Suwattanapunkul เด็กชายทวีลาภ สุวัฒนพันธุ์กุล Taweelap Suwattanapunkul.
“หลักการทำงานของคอมพิวเตอร์"
ระบบเครือข่ายคอมพิวเตอร์
ระบบคอมพิวเตอร์ ระบบ (System) คือกลุ่มขององค์ประกอบที่มีความสัมพันธ์กันและทำงานร่วมกัน ซึ่งระบบคอมพิวเตอร์จะมีองค์ประกอบที่สำคัญ 3 ส่วน คือ ฮาร์ดแวร์ (Hardware)
วิชา การปฏิบัติการประกอบเครื่องคอมพิวเตอร์
Input / Output ธนวัฒน์ แซ่เอียบ.
ระบบคอมพิวเตอร์ (computer system)
องค์ประกอบของคอมพิวเตอร์
จัดทำโดย เด็กหญิง พัทธนันท์ ริบแจ่ม เลขที่ 7 มัธยมศึกษาชั้นปีที่ 4/5 เสนอ อาจารย์ สายฝน เอกกันทา โรงเรียนจักรคำคณาทร จ. ลำพูน.
Integrated Network Card
ระบบคอมพิวเตอร์ และ การสื่อสาร กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร วิทยาเขต สารสนเทศพะเยา.
วิชาเทคโนโลยีคอมพิวเตอร์และระบบปฏิบัติการ รหัสวิชา Computer Technology and Operating System บทที่ 1 เทคโนโลยีคอมพิวเตอร์ อ.รจนา วานนท์ Master.
ส่วนประกอบของคอมพิวเตอร์
ระบบคอมพิวเตอร์ (computer system)
ใบสำเนางานนำเสนอ:

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

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

I/O Module

Wide variety of peripherals (หลากหลายชนิดของอุปกรณ์) 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 เพื่อจัดการ

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

Generic Model of I/O Module

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)

External Device Block Diagram

Typical I/O Data Rates

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

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

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

I/O Module Diagram

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

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

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 และส่งออกไปให้แก่อุปกรณ์ภายนอก

Programmed I/O

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

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 ต่อจนทำเสร็จ

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

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

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

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

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

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

Using 82C55A To Control Keyboard/Display

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

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

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

CPU tells DMA controller:- 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

DMA Configurations (1) Single Bus, Detached DMA controller ถ้า I/O ติดต่อกับ Memory จะทำให้ CPU ใช้ bus ไม่ได้

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

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

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 ที่มีหน่วยประมวลผลของตัวเอง

I/O Channel Architecture