计算机采用的主要I/ O方式有哪几种?
主要有4种:循环测试 I/O方式(轮询方式),中断处理方式,直接内存存取(DMA)方式,通道方式
循环测试 I/O方式(轮询方式)
利用I/O测试指令测试设备的闲忙。若设备不忙,则执行输入或输出指令;若设备忙,则I/O测试指令不断对该设备进行测试,直到设备空闲为止。这种方式使CPU花费很多时间在I/O是否完成的循环测试中,造成极大的浪费!
中断处理方式
引入中断之后,每当设备完成I/O操作,便以中断请求方式通知CPU,然后进行相应处理。但由于CPU直接控制输入输出操作,每传达一个单位信息,都要发生一次中断,因而仍然消耗大量CPU时间。
直接内存存取(DMA)方式
DMA(Direct Memory Access,直接内存存取)方式用于高速外部设备与内存之间批量数据的传输。它使用专门的DMA控制器,采用窃取总线程控制权的方法,由DMA控制器送出内存地址和发出内存读、设备写或者设备读、内存写的控制信号完成内存与设备之间的直接数据传送,而不用CPU干预。当本次DMA传送的数据全部完成时才产生中断,请求CPU进行结束处理。
通道方式编辑
通道是一个用来控制外部设备工作的硬件机制,相当于一个功能简单的处理机。通道是独立于CPU的、专门负责数据的输入输出传输工作的处理器,它对外部设备实统一管理,代替CPU对I/O操作进行控制,从而使I/O操作可以与CPU并行工作。通道是实现计算机和传输并行的基础,以提高整个系统的效率。
绛旓細璁$畻鏈虹殑涓昏鎬ц兘鎸囨爣锛氭瘮杈冮噸瑕佺殑鍥涢」鍒嗗埆鏄細杩愮畻閫熷害銆佸瓧闀匡紝瀛樺偍瀹归噺銆両/O閫熷害 1銆佽繍绠楅熷害 杩愮畻閫熷害鏄 閲忚绠楁満鎬ц兘鐨勪竴椤归噸瑕佹寚鏍囥傞氬父鎵璇寸殑璁$畻鏈鸿繍绠楅熷害锛堝钩鍧囪繍绠楅熷害锛夛紝鏄寚姣忕閽熸墍鑳芥墽琛岀殑鎸囦护鏉℃暟锛屼竴鑸敤鈥滅櫨涓囨潯鎸囦护锛忕鈥濓紙mips锛孧illionInstructionPerSecond锛夋潵鎻忚堪銆傚悓涓鍙拌绠楁満锛...
绛旓細1銆 涓绘澘锛氬畨瑁呬簡缁勬垚璁$畻鏈虹殑涓昏鐢佃矾绯荤粺锛屼竴鑸湁BIOS鑺墖銆両/O鎺у埗鑺墖銆侀敭鍜岄潰鏉挎帶鍒跺紑鍏虫帴鍙c佹寚绀虹伅鎻掓帴浠躲佹墿鍏呮彃妲姐佷富鏉垮強鎻掑崱鐨勭洿娴佺數婧愪緵鐢垫帴鎻掍欢绛夊厓浠躲備富鏉跨殑绫诲瀷鍜屾。娆″喅瀹氱潃鏁翠釜寰満绯荤粺鐨勭被鍨嬪拰妗f锛屾ц兘褰卞搷鐫鏁翠釜璁$畻鏈虹郴缁熺殑鎬ц兘銆2銆 CPU锛氬張绉颁腑澶鐞嗗櫒锛屾槸涓涓泦鎴愮數璺ā鍧楋紝涓昏...
绛旓細璁$畻鏈鐨勫彂灞曞彶鍒嗕负鐢靛瓙绠¤绠楁満銆佹櫠浣撶璁$畻鏈恒侀泦鎴愮數璺绠楁満銆佸ぇ瑙勬ā闆嗘垚鐢佃矾鏈哄拰绗簲浠g數瀛愯绠楁満浜斾唬銆傚悇鑷鐨勪富瑕鐗瑰緛濡備笅锛1銆佺數瀛愮璁$畻鏈猴細閲囩敤鐢靛瓙绠′綔涓哄熀鏈數瀛愬厓鍣ㄤ欢锛屼綋绉ぇ銆佽楃數閲忓ぇ銆佸鍛界煭銆佸彲闈犳т綆銆佹垚鏈珮锛屽瓨鍌ㄥ櫒閲囩敤姘撮摱寤惰繜绾裤傝绠楁満鍙兘鍦ㄥ皯鏁板皷绔鍩熶腑寰楀埌杩愮敤锛屼竴鑸敤浜庣瀛︼紝鍐涗簨...
绛旓細(2)I/O鎺ュ彛鎺у埗鍗℃湁鑻ュ共涓泦鎴愮數璺寜涓瀹氱殑閫昏緫缁勬垚涓轰竴涓儴浠,鎴栬呯洿鎺ヤ笌CPU鍚屽湪涓绘澘涓,鎴栨槸涓涓彃浠舵彃鍦ㄧ郴缁熸荤嚎鎻掓Ы涓娿傛寜鐓ф帴鍙g殑杩炴帴瀵硅薄鏉ュ垎,鍙堝彲浠ュ皢浠栦滑鍒嗕负涓茶鎺ュ彛銆佸苟琛屾帴鍙c侀敭鐩樻帴鍙e拰纾佺洏鎺ュ彛绛夈2銆佹帴鍙g殑鍔熻兘鐢变簬璁$畻鏈虹殑澶栧洿璁惧鍝佺绻佸,鍑犱箮閮閲囩敤浜嗘満鐢典紶鍔ㄨ澶,鍥犳,CPU鍦ㄤ笌I/O璁惧杩涜鏁版嵁...
绛旓細2.涓绘澘銆傚畠瀹夎鍦ㄦ満绠卞唴,鏄數瀛愯绠楁満鏈鍩烘湰鐨勪篃鏄渶閲嶈鐨勯儴浠朵箣涓銆備富鏉夸竴鑸负闀挎柟褰㈢數璺澘,涓婇潰瀹夎浜嗙粍鎴璁$畻鏈虹殑涓昏鐢佃矾绯荤粺,涓鑸湁BIOS鑺墖銆両/O鎺у埗鑺墖銆侀敭鐩樺拰闈㈡澘鎺у埗寮鍏虫帴鍙c佹寚绀虹伅鎻掓帴浠躲佹墿鍏呮彃妲姐佷富鏉垮強鎻掑崱鐨勭洿娴佺數婧愪緵鐢垫帴鎻掍欢绛夊厓浠躲備富鏉跨殑鍙︿竴鐗圭偣,鏄閲囩敤浜嗗紑鏀惧紡缁撴瀯銆 涓绘澘涓婂ぇ閮芥湁6-8涓...
绛旓細鍏辨湁鍥涚I/O鎺у埗鏂瑰紡銆1銆佺▼搴廔/O鏂瑰紡 閫傜敤浜庯細鏃╂湡璁$畻鏈鏃犱腑鏂満鏋勶紝澶勭悊鏈哄I/O璁惧鐨勬帶鍒閲囩敤绋嬪簭I/O鏂瑰紡鎴栫О蹇欑瓑鐨勬柟寮忋2銆佷腑鏂┍鍔↖/O鎺у埗鏂瑰紡 閫傜敤浜庯細閫傜敤浜庢湁涓柇鏈烘瀯鐨勮绠楁満绯荤粺涓3銆佺洿鎺ュ瓨鍌ㄥ櫒璁块棿锛圖MA锛塈/O鎺у埗鏂瑰紡 閫傜敤浜庯細鍏锋湁DMA鎺у埗鍣ㄧ殑璁$畻鏈虹郴缁熶腑銆4銆両/O閫氶亾鎺у埗鏂瑰紡 ...
绛旓細涓涓畬鏁寸殑寰瀷璁$畻鏈绯荤粺鍖呮嫭纭欢绯荤粺鍜岃蒋浠剁郴缁熶袱澶ч儴鍒嗐傜‖浠剁郴缁熺敱杩愮畻鍣ㄣ佹帶鍒跺櫒銆佸瓨鍌ㄥ櫒锛 鍚唴瀛樸佸瀛樺拰缂撳瓨锛夈佸悇绉嶈緭鍏ヨ緭鍑鸿澶囩粍鎴愶紝閲囩敤鈥 鎸囦护椹卞姩鈥濇柟寮忓伐浣溿傝蒋浠剁郴缁熷彲鍒嗕负绯荤粺杞欢鍜屽簲鐢ㄨ蒋浠躲傜郴缁熻蒋浠舵槸鎸囩鐞嗐佺洃鎺у拰缁存姢璁$畻鏈鸿祫婧愶紙鍖呮嫭纭欢鍜岃蒋浠讹級鐨勮蒋浠躲傚畠涓昏鍖呮嫭锛氭搷浣滅郴缁熴佸悇绉...
绛旓細2銆佷富鏉:鍙堢О绯荤粺鏉挎垨姣嶆澘,鏄鐢佃剳鏈鍩烘湰鐨勪篃鏄渶閲嶈鐨勯儴浠朵箣涓,瀹夎浜嗙粍鎴璁$畻鏈虹殑涓昏鐢佃矾绯荤粺,涓鑸湁BIOS鑺墖銆両/O鎺у埗鑺墖銆侀敭鍜岄潰鏉挎帶鍒跺紑鍏虫帴鍙c佹寚绀虹伅鎻掓帴浠躲佹墿鍏呮彃妲姐佷富鏉垮強鎻掑崱鐨勭洿娴佺數婧愪緵鐢垫帴鎻掍欢绛夊厓浠躲 3銆佹満绠辩數婧:鏈虹涓虹數鑴戜富鏈烘彁渚涜垝閫傜幆澧冪殑涓涓缃傜數婧愮粰鐢佃剳涓绘満鍜屽悇閮ㄥ垎鎻愪緵涓嶅悓鐨勭數鍘,...
绛旓細Console杩炵嚎鍩,璇ヨ繛绾垮煚涓哄紓姝ヨ繛绾垮煚,涓昏杩炵嚎缁堢鎴栬繍琛岀粓绔豢鐪熺▼寮忕殑璁$畻鏈,鍦ㄦ湰鍦伴厤缃氦鎹㈡満銆佽矾鐢卞櫒銆備笉鏀寔纭綋娴佹帶鍒躲 宸ヤ笟鎺у埗 鏄竴绉閲囩敤姹囨祦鎺掔粨鏋,瀵圭敓浜ц繃绋嬪強鍏舵満鐢佃澶囥佸伐鑹鸿澶囪繘琛屾娴嬩笌鎺у埗鐨勮绠楁満绯荤粺鎬荤О銆傜畝绉板伐鎺ф満銆傚畠鐢辫绠楁満鍜岃繃绋嬭緭鍏ヨ緭鍑(I/O)閫氳繃涓ゅぇ閮ㄥ垎缁勬垚銆傝绠楁満鏄敱涓绘満銆佽緭鍏...
绛旓細瀛樺偍鍣鐨勪富瑕鍔熻兘鏄瓨鍌ㄧ▼搴忓拰鍚勭鏁版嵁淇℃伅,骞惰兘鍦璁$畻鏈杩愯杩囩▼涓珮閫熴佽嚜鍔ㄥ湴瀹屾垚绋嬪簭鎴栨暟鎹殑瀛樺彇銆傚瓨鍌ㄥ櫒鏄叿鏈夆滆蹇嗏濆姛鑳界殑璁惧,瀹冪敤鍏锋湁涓ょ绋冲畾鐘舵佺殑鐗╃悊鍣ㄤ欢鏉ュ瓨鍌ㄤ俊鎭傝繖浜涘櫒浠朵篃绉颁负璁板繂鍏冧欢銆傜敱浜庤蹇嗗厓浠跺彧鏈変袱绉嶇ǔ瀹氱姸鎬,鍥犳鍦ㄨ绠楁満涓閲囩敤鍙湁涓や釜鏁扮爜鈥0鈥濆拰鈥1鈥濈殑浜岃繘鍒舵潵琛ㄧず鏁版嵁銆傝蹇嗗厓浠剁殑...