fbpx
วิกิพีเดีย

อินพุต/เอาต์พุต

อินพุต/เอาต์พุต ย่อว่า ไอ/โอ (อังกฤษ: input/output: I/O) หรือภาษาไทยว่า รับเข้า/ส่งออก ในทางคอมพิวเตอร์ หมายถึงการสื่อสารระหว่างระบบประมวลผลสารสนเทศ (เช่นคอมพิวเตอร์) กับโลกภายนอก ซึ่งอาจเป็นมนุษย์หรือระบบประมวลผลสารสนเทศอีกระบบหนึ่ง อินพุตหรือสิ่งรับเข้าคือสัญญาณหรือข้อมูลที่ระบบรับเข้ามา และเอาต์พุตหรือสิ่งส่งออกคือสัญญาณหรือข้อมูลที่ระบบส่งออกไป ศัพท์นี้ใช้เรียกการกระทำเพียงส่วนหนึ่ง กล่าวคือ “การกระทำไอ/โอ” หมายถึงการปฏิบัติการรับเข้าหรือส่งออกสัญญาณหรือข้อมูล บุคคลหนึ่ง (หรือระบบอื่น) สามารถใช้อุปกรณ์ไอ/โอเพื่อสื่อสารกับคอมพิวเตอร์ ตัวอย่างเช่น คีย์บอร์ดหรือเมาส์จัดว่าเป็นอุปกรณ์รับเข้าสำหรับคอมพิวเตอร์ ในขณะที่จอภาพและเครื่องพิมพ์จัดว่าเป็นอุปกรณ์ส่งออกสำหรับคอมพิวเตอร์ ส่วนอุปกรณ์ที่สื่อสารระหว่างคอมพิวเตอร์ด้วยกัน เช่นโมเด็มหรือแผ่นวงจรเครือข่าย โดยปกติสามารถเป็นได้ทั้งอุปกรณ์รับเข้าและส่งออก

มีข้อสังเกตเกี่ยวกับการออกแบบของอุปกรณ์ว่าจะเป็นการรับเข้าหรือการส่งออกขึ้นอยู่กับมุมมอง ตัวอย่างเช่น เมาส์และคีย์บอร์ดรับเข้าการเคลื่อนไหวทางกายภาพที่ส่งออกโดยมนุษย์ผู้ใช้งาน และแปลงเป็นสัญญาณที่คอมพิวเตอร์สามารถเข้าใจ สัญญาณส่งออกจากอุปกรณ์เหล่านี้จึงเป็นสัญญาณรับเข้าของคอมพิวเตอร์ และเช่นเดียวกัน เครื่องพิมพ์และจอภาพรับเข้าสัญญาณที่ส่งออกจากคอมพิวเตอร์ และแปลงสัญญาณเหล่านี้เป็นการแสดงผลที่มนุษย์ผู้ใช้งานสามารถมองเห็นหรืออ่านได้ กระบวนการอ่านหรือการมองเห็นการแสดงผลก็เป็นข้อมูลรับเข้าของมนุษย์ผู้ใช้งาน การศึกษาการโต้ตอบเหล่านี้อยู่ในขอบเขตที่เรียกว่าการโต้ตอบระหว่างมนุษย์กับคอมพิวเตอร์ (human-computer interaction)

ในสถาปัตยกรรมคอมพิวเตอร์ การรวมผสานระหว่างหน่วยประมวลผลกลางกับหน่วยความจำหลักจะถูกพิจารณาว่าเป็น “สมอง” ของคอมพิวเตอร์ (หน่วยประมวลผลกลางที่อ่านและเขียนหน่วยความจำหลักได้โดยตรงด้วยชุดคำสั่งเฉพาะเป็นอาทิ) และจากมุมมองดังกล่าว การถ่ายโอนสารสนเทศมาจากหรือไปสู่การรวมผสานนั้นกับหน่วยอื่น เช่นหน่วยขับจานบันทึก ถือว่าเป็นไอ/โอ หน่วยประมวลผลกลางและวงจรที่รองรับได้จัดเตรียมไอ/โอที่จับจองบนหน่วยความจำ (memory-mapped I/O) ไว้ให้ ซึ่งใช้ในการเขียนโปรแกรมระดับล่างเพื่อพัฒนาโปรแกรมขับอุปกรณ์ (device driver) ขั้นตอนวิธีของไอ/โอเป็นสิ่งหนึ่งที่ออกแบบมาเพื่อใช้ประโยชน์เอกลักษณ์เฉพาะเครื่องและปฏิบัติการอย่างมีประสิทธิภาพ เมื่อมีข้อมูลอยู่บนหน่วยเก็บข้อมูลสำรองเช่นหน่วยขับจานบันทึก

ส่วนต่อประสาน

ส่วนต่อประสานไอ/โอจะเป็นสิ่งจำเป็นก็ต่อเมื่ออุปกรณ์ไอ/โอถูกขับเคลื่อนโดยหน่วยประมวลผล ส่วนต่อประสานต้องมีตรรกะที่จำเป็นเพื่อตีความเลขที่อยู่ของอุปกรณ์ซึ่งสร้างโดยหน่วยประมวลผล การเจรจาตกลง (handshaking) ควรกระทำให้เกิดผลด้วยคำสั่งที่เหมาะสมของส่วนต่อประสานอย่างเช่น BUSY, READY, WAIT หน่วยประมวลผลจึงจะสามารถสื่อสารกับอุปกรณ์ไอ/โอผ่านส่วนต่อประสานนั้น ถ้ารูปแบบข้อมูลที่จะแลกเปลี่ยนมีลักษณะต่างไป ส่วนต่อประสานจะต้องสามารถแปลงข้อมูลลำดับเป็นรูปแบบขนานและในทางกลับกันได้ ต้องมีข้อกำหนดเพื่อสร้างสัญญาณขัดจังหวะ (interrupt) พร้อมทั้งเลขประเภทที่สอดคล้องสำหรับการประมวลผลในภายหน้าเมื่อเป็นที่ต้องการโดยหน่วยประมวลผล

คอมพิวเตอร์ประเภทที่ใช้ไอ/โอที่จับจองบนหน่วยความจำ เข้าถึงฮาร์ดแวร์โดยการอ่านและการเขียนบนตำแหน่งที่อยู่บนหน่วยความจำที่ระบุ โดยใช้ชุดคำสั่งภาษาแอสเซมบลีชุดเดิมตามปกติที่คอมพิวเตอร์ใช้เข้าถึงหน่วยความจำ

การทำให้เกิดผลในระดับที่สูงกว่า

ระบบปฏิบัติการและเครื่องมืออำนวยความสะดวกในการเขียนโปรแกรมในระดับที่สูงกว่า ใช้มโนทัศน์และพื้นฐานไอ/โอที่เป็นนามธรรมมากกว่าและแบ่งแยกออกจากกัน ตัวอย่างเช่น ระบบปฏิบัติการส่วนมากจัดเตรียมโปรแกรมประยุกต์ต่าง ๆ ไว้ด้วยแนวคิดของไฟล์ ภาษาโปรแกรมกลุ่มภาษาซี ภาษาซีพลัสพลัส และระบบปฏิบัติการตระกูลยูนิกซ์ โดยดั้งเดิมจะถือว่าไฟล์และอุปกรณ์ต่าง ๆ เป็นกระแสข้อมูล (stream) ซึ่งสามารถอ่าน เขียน หรือกระทำได้ทั้งสองอย่าง ไลบรารีภาษาซีมาตรฐานได้จัดเตรียมฟังก์ชันเพื่อจัดดำเนินการกระแสข้อมูลรับเข้าและส่งออกไว้ด้วย

ในบริบทของภาษาอัลกอล 68 เครื่องมืออำนวยความสะดวกเกี่ยวกับสิ่งรับเข้าและสิ่งส่งออกกล่าวโดยรวมเป็น ทรานสพุต (transput) ไลบรารีทรานสพุตของภาษาอัลกอล 68 สามารถรับรู้ไฟล์หรืออุปกรณ์มาตรฐานต่อไปนี้ได้แก่ stand in, stand out, stand errors และ stand back

ฟังก์ชันพื้นฐานพิเศษอีกทางเลือกหนึ่งคือไอ/โอโมแนด (I/O monad) ซึ่งอนุญาตให้โปรแกรมสั่งการไอ/โอได้เท่านั้น ส่วนการทำงานจะเกิดขึ้นนอกตัวโปรแกรม สิ่งนี้เป็นสิ่งสำคัญเพราะฟังก์ชันไอ/โอจะต้องเพิ่มผลข้างเคียงเข้าไปในภาษาโปรแกรมใดๆ แต่ในทางปฏิบัติ การเขียนโปรแกรมเชิงฟังก์ชันโดยแท้จริงเท่านั้นที่ทำได้ในขณะนี้

ภาวะการกำหนดเลขที่อยู่

หน่วยความจำสามารถอ่านหรือเก็บบันทึกข้อมูลได้หลายวิธี แต่ละวิธีก็เป็นภาวะการกำหนดเลขที่อยู่แบบหนึ่ง ซึ่งก็มีข้อได้เปรียบและข้อจำกัดของมันเอง ภาวะการกำหนดเลขที่อยู่มีหลายประเภทเช่น การกำหนดเลขที่อยู่ทางตรง ทางอ้อม แบบใช้ทันที แบบดัชนี แบบฐาน แบบดัชนีบนฐาน แบบแสดงนัย ฯลฯ

การกำหนดเลขที่อยู่ทางตรง

การกำหนดเลขที่อยู่ด้วยวิธีนี้เป็นส่วนหนึ่งของชุดคำสั่งในตัวเองอยู่แล้ว เมื่อหน่วยประมวลผลตีความชุดคำสั่ง จะดึงเลขที่อยู่หน่วยความจำจากตำแหน่งที่สามารถอ่านหรือเขียนข้อมูลสารสนเทศที่ต้องการ ตัวอย่างเช่น

MOV register, [address] ; อ่าน MOV [address], register ; เขียน ; ในทำนองเดียวกัน IN register, [address] ; อ่านเป็นอินพุต OUT [address], register ; เขียนเป็นเอาต์พุต 

ในที่นี้ตัวถูกดำเนินการ address ชี้ไปยังตำแหน่งบนหน่วยความจำที่มีข้อมูลอยู่ และคัดลอกค่าที่อ่านได้ลงใน register ที่ระบุ หรือคัดลอกค่าจาก register ที่ระบุไปยังตำแหน่งบนหน่วยความจำ สัญลักษณ์วงเล็บเหลี่ยมคือตัวดำเนินการอ้างอิงกลับ (dereference operator)

การกำหนดเลขที่อยู่ทางอ้อม

จากตัวอย่างด้านบน address สามารถเก็บบันทึกอยู่ในรีจิสเตอร์อีกตัวหนึ่งได้ ดังนั้นชุดคำสั่งดังกล่าวก็จะมีรีจิสเตอร์แทนค่าตำแหน่งที่อยู่นั้น ชุดคำสั่งจะต้องถูกตีความตามรีจิสเตอร์ที่เหมาะสมที่ได้เลือกไว้เพื่อดึงข้อมูลออกมา ค่าของรีจิสเตอร์นั้นจะถือว่าเป็นค่าตำแหน่งที่อยู่ สำหรับเลือกตำแหน่งที่อยู่บนหน่วยความจำที่เหมาะสม จากนั้นจึงจะสามารถเขียนหรืออ่านได้ วิธีการกำหนดเลขที่อยู่นี้มีข้อดีเมื่อเทียบกับทางตรงคือ ค่าของรีจิสเตอร์นั้นสามารถเปลี่ยนแปลงได้ ทำให้สามารถเลือกหน่วยความจำที่เหมาะสมแบบพลวัตได้

อ้างอิง

  1. LINUX assembly language programming

นพ, เอาต, อว, ไอ, โอ, งกฤษ, input, output, หร, อภาษาไทยว, บเข, งออก, ในทางคอมพ, วเตอร, หมายถ, งการส, อสารระหว, างระบบประมวลผลสารสนเทศ, เช, นคอมพ, วเตอร, บโลกภายนอก, งอาจเป, นมน, ษย, หร, อระบบประมวลผลสารสนเทศอ, กระบบหน, นพ, ตหร, อส, งร, บเข, าค, อส, ญญาณหร, อข,. xinphut exatphut yxwa ix ox xngkvs input output I O hruxphasaithywa rbekha sngxxk inthangkhxmphiwetxr hmaythungkarsuxsarrahwangrabbpramwlphlsarsneths echnkhxmphiwetxr kbolkphaynxk sungxacepnmnusyhruxrabbpramwlphlsarsnethsxikrabbhnung xinphuthruxsingrbekhakhuxsyyanhruxkhxmulthirabbrbekhama aelaexatphuthruxsingsngxxkkhuxsyyanhruxkhxmulthirabbsngxxkip sphthniicheriykkarkrathaephiyngswnhnung klawkhux karkrathaix ox hmaythungkarptibtikarrbekhahruxsngxxksyyanhruxkhxmul bukhkhlhnung hruxrabbxun samarthichxupkrnix oxephuxsuxsarkbkhxmphiwetxr twxyangechn khiybxrdhruxemascdwaepnxupkrnrbekhasahrbkhxmphiwetxr inkhnathicxphaphaelaekhruxngphimphcdwaepnxupkrnsngxxksahrbkhxmphiwetxr swnxupkrnthisuxsarrahwangkhxmphiwetxrdwykn echnomedmhruxaephnwngcrekhruxkhay odypktisamarthepnidthngxupkrnrbekhaaelasngxxkmikhxsngektekiywkbkarxxkaebbkhxngxupkrnwacaepnkarrbekhahruxkarsngxxkkhunxyukbmummxng twxyangechn emasaelakhiybxrdrbekhakarekhluxnihwthangkayphaphthisngxxkodymnusyphuichngan aelaaeplngepnsyyanthikhxmphiwetxrsamarthekhaic syyansngxxkcakxupkrnehlanicungepnsyyanrbekhakhxngkhxmphiwetxr aelaechnediywkn ekhruxngphimphaelacxphaphrbekhasyyanthisngxxkcakkhxmphiwetxr aelaaeplngsyyanehlaniepnkaraesdngphlthimnusyphuichngansamarthmxngehnhruxxanid krabwnkarxanhruxkarmxngehnkaraesdngphlkepnkhxmulrbekhakhxngmnusyphuichngan karsuksakarottxbehlanixyuinkhxbekhtthieriykwakarottxbrahwangmnusykbkhxmphiwetxr human computer interaction insthaptykrrmkhxmphiwetxr karrwmphsanrahwanghnwypramwlphlklangkbhnwykhwamcahlkcathukphicarnawaepn smxng khxngkhxmphiwetxr hnwypramwlphlklangthixanaelaekhiynhnwykhwamcahlkidodytrngdwychudkhasngechphaaepnxathi aelacakmummxngdngklaw karthayoxnsarsnethsmacakhruxipsukarrwmphsannnkbhnwyxun echnhnwykhbcanbnthuk thuxwaepnix ox hnwypramwlphlklangaelawngcrthirxngrbidcdetriymix oxthicbcxngbnhnwykhwamca memory mapped I O iwih sungichinkarekhiynopraekrmradblangephuxphthnaopraekrmkhbxupkrn device driver khntxnwithikhxngix oxepnsinghnungthixxkaebbmaephuxichpraoychnexklksnechphaaekhruxngaelaptibtikarxyangmiprasiththiphaph emuxmikhxmulxyubnhnwyekbkhxmulsarxngechnhnwykhbcanbnthuk enuxha 1 swntxprasan 1 1 karthaihekidphlinradbthisungkwa 2 phawakarkahndelkhthixyu 2 1 karkahndelkhthixyuthangtrng 2 2 karkahndelkhthixyuthangxxm 3 xangxingswntxprasan aekikhswntxprasanix oxcaepnsingcaepnktxemuxxupkrnix oxthukkhbekhluxnodyhnwypramwlphl swntxprasantxngmitrrkathicaepnephuxtikhwamelkhthixyukhxngxupkrnsungsrangodyhnwypramwlphl karecrcatklng handshaking khwrkrathaihekidphldwykhasngthiehmaasmkhxngswntxprasanxyangechn BUSY READY WAIT hnwypramwlphlcungcasamarthsuxsarkbxupkrnix oxphanswntxprasannn tharupaebbkhxmulthicaaelkepliynmilksnatangip swntxprasancatxngsamarthaeplngkhxmulladbepnrupaebbkhnanaelainthangklbknid txngmikhxkahndephuxsrangsyyankhdcnghwa interrupt phrxmthngelkhpraephththisxdkhlxngsahrbkarpramwlphlinphayhnaemuxepnthitxngkarodyhnwypramwlphlkhxmphiwetxrpraephththiichix oxthicbcxngbnhnwykhwamca ekhathunghardaewrodykarxanaelakarekhiynbntaaehnngthixyubnhnwykhwamcathirabu odyichchudkhasngphasaaexsesmblichudedimtampktithikhxmphiwetxrichekhathunghnwykhwamca karthaihekidphlinradbthisungkwa aekikh rabbptibtikaraelaekhruxngmuxxanwykhwamsadwkinkarekhiynopraekrminradbthisungkwa ichmonthsnaelaphunthanix oxthiepnnamthrrmmakkwaaelaaebngaeykxxkcakkn twxyangechn rabbptibtikarswnmakcdetriymopraekrmprayukttang iwdwyaenwkhidkhxngifl phasaopraekrmklumphasasi phasasiphlsphls aelarabbptibtikartrakulyuniks odydngedimcathuxwaiflaelaxupkrntang epnkraaeskhxmul stream sungsamarthxan ekhiyn hruxkrathaidthngsxngxyang ilbrariphasasimatrthanidcdetriymfngkchnephuxcddaeninkarkraaeskhxmulrbekhaaelasngxxkiwdwyinbribthkhxngphasaxlkxl 68 ekhruxngmuxxanwykhwamsadwkekiywkbsingrbekhaaelasingsngxxkklawodyrwmepn thransphut transput ilbrarithransphutkhxngphasaxlkxl 68 samarthrbruiflhruxxupkrnmatrthantxipniidaek stand in stand out stand errors aela stand backfngkchnphunthanphiessxikthangeluxkhnungkhuxix oxomaend I O monad sungxnuyatihopraekrmsngkarix oxidethann swnkarthangancaekidkhunnxktwopraekrm singniepnsingsakhyephraafngkchnix oxcatxngephimphlkhangekhiyngekhaipinphasaopraekrmid aetinthangptibti karekhiynopraekrmechingfngkchnodyaethcringethannthithaidinkhnaniphawakarkahndelkhthixyu aekikhhnwykhwamcasamarthxanhruxekbbnthukkhxmulidhlaywithi aetlawithikepnphawakarkahndelkhthixyuaebbhnung sungkmikhxidepriybaelakhxcakdkhxngmnexng phawakarkahndelkhthixyumihlaypraephthechn karkahndelkhthixyuthangtrng thangxxm aebbichthnthi aebbdchni aebbthan aebbdchnibnthan aebbaesdngny l karkahndelkhthixyuthangtrng aekikh karkahndelkhthixyudwywithiniepnswnhnungkhxngchudkhasngintwexngxyuaelw emuxhnwypramwlphltikhwamchudkhasng cadungelkhthixyuhnwykhwamcacaktaaehnngthisamarthxanhruxekhiynkhxmulsarsnethsthitxngkar twxyangechn 1 MOV register address xan MOV address register ekhiyn inthanxngediywkn IN register address xanepnxinphut OUT address register ekhiynepnexatphut inthinitwthukdaeninkar address chiipyngtaaehnngbnhnwykhwamcathimikhxmulxyu aelakhdlxkkhathixanidlngin register thirabu hruxkhdlxkkhacak register thirabuipyngtaaehnngbnhnwykhwamca sylksnwngelbehliymkhuxtwdaeninkarxangxingklb dereference operator karkahndelkhthixyuthangxxm aekikh caktwxyangdanbn address samarthekbbnthukxyuinricisetxrxiktwhnungid dngnnchudkhasngdngklawkcamiricisetxraethnkhataaehnngthixyunn chudkhasngcatxngthuktikhwamtamricisetxrthiehmaasmthiideluxkiwephuxdungkhxmulxxkma khakhxngricisetxrnncathuxwaepnkhataaehnngthixyu sahrbeluxktaaehnngthixyubnhnwykhwamcathiehmaasm caknncungcasamarthekhiynhruxxanid withikarkahndelkhthixyunimikhxdiemuxethiybkbthangtrngkhux khakhxngricisetxrnnsamarthepliynaeplngid thaihsamartheluxkhnwykhwamcathiehmaasmaebbphlwtidxangxing aekikh LINUX assembly language programmingekhathungcak https th wikipedia org w index php title xinphut exatphut amp oldid 9414348, wikipedia, วิกิ หนังสือ, หนังสือ, ห้องสมุด,

บทความ

, อ่าน, ดาวน์โหลด, ฟรี, ดาวน์โหลดฟรี, mp3, วิดีโอ, mp4, 3gp, jpg, jpeg, gif, png, รูปภาพ, เพลง, เพลง, หนัง, หนังสือ, เกม, เกม