CPU外设之间的数据传送方式有几种?都是什么? CPU外设之间的数据传送方式有几种?都是什么?

CPU\u5916\u8bbe\u4e4b\u95f4\u7684\u6570\u636e\u4f20\u9001\u65b9\u5f0f\u6709\u51e0\u79cd\uff1f\u90fd\u662f\u4ec0\u4e48

CPU\u4e0e\u5916\u8bbe\u4e4b\u95f4\u6570\u636e\u4f20\u9001\u90fd\u662f\u901a\u8fc7\u5185\u5b58\u5b9e\u73b0\u7684\u3002
\u5916\u56f4\u8bbe\u5907\u548c\u5185\u5b58\u4e4b\u95f4\u7684\u5e38\u7528\u6570\u636e\u4f20\u9001\u63a7\u5236\u65b9\u5f0f\u6709\u56db\u79cd
(1)\u7a0b\u5e8f\u76f4\u63a5\u63a7\u5236\u65b9\u5f0f\uff1a\u5c31\u662f\u7531\u7528\u6237\u8fdb\u7a0b\u76f4\u63a5\u63a7\u5236\u5185\u5b58\u6216CPU\u548c\u5916\u56f4\u8bbe\u5907\u4e4b\u95f4\u7684\u4fe1\u606f\u4f20\u9001\u3002\u8fd9\u79cd\u65b9\u5f0f\u63a7\u5236\u8005\u90fd\u662f\u7528\u6237\u8fdb\u7a0b\u3002
(2)\u4e2d\u65ad\u63a7\u5236\u65b9\u5f0f\uff1a\u88ab\u7528\u6765\u63a7\u5236\u5916\u56f4\u8bbe\u5907\u548c\u5185\u5b58\u4e0eCPU\u4e4b\u95f4\u7684\u6570\u636e\u4f20\u9001\u3002\u8fd9\u79cd\u65b9\u5f0f\u8981\u6c42CPU\u4e0e\u8bbe\u5907\uff08\u6216\u63a7\u5236\u5668\uff09\u4e4b\u95f4\u6709\u76f8\u5e94\u7684\u4e2d\u65ad\u8bf7\u6c42\u7ebf\uff0c\u800c\u4e14\u5728\u8bbe\u5907\u63a7\u5236\u5668\u7684\u63a7\u5236\u72b6\u6001\u5bc4\u5b58\u5668\u7684\u76f8\u5e94\u7684\u4e2d\u65ad\u5141\u8bb8\u4f4d\u3002
(3)DMA\u65b9\u5f0f\uff1a\u53c8\u79f0\u76f4\u63a5\u5b58\u53d6\u65b9\u5f0f\u3002\u5176\u57fa\u672c\u601d\u60f3\u662f\u5728\u5916\u56f4\u8bbe\u5907\u548c\u5185\u5b58\u4e4b\u95f4\u5f00\u8f9f\u76f4\u63a5\u7684\u6570\u636e\u4ea4\u6362\u901a\u9053\u3002
(4)\u901a\u9053\u65b9\u5f0f\uff1a\u4e0eDMA\u65b9\u5f0f\u76f8\u7c7b\u4f3c\uff0c\u4e5f\u662f\u4e00\u79cd\u4ee5\u5185\u5b58\u4e3a\u4e2d\u5fc3\uff0c\u5b9e\u73b0\u8bbe\u5907\u548c\u5185\u5b58\u76f4\u63a5\u4ea4\u6362\u6570\u636e\u7684\u63a7\u5236\u65b9\u5f0f\u3002\u4e0e\u4e4b\u4e0d\u540c\u7684\u662f\uff0c\u5728DMA\u65b9\u5f0f\u4e2d\u6570\u636e\u4f20\u9001\u65b9\u5411\u3001\u5b58\u653e\u6570\u636e\u5185\u5b58\u59cb\u5740\u4ee5\u53ca\u4f20\u9001\u7684\u6570\u636e\u5757\u957f\u5ea6\u7b49\u90fd\u662f\u7531CPU\u63a7\u5236\uff0c\u800c\u5728\u901a\u9053\u65b9\u5f0f\u4e2d\u8fd9\u4e9b\u90fd\u662f\u7531\u4e13\u7ba1\u8f93\u5165\u8f93\u51fa\u7684\u786c\u4ef6\u2014\u2014\u901a\u9053\u6765\u8fdb\u884c\u63a7\u5236\u3002

\u65b9\u5f0f\u6709\u56db\u79cd\uff1a\u7a0b\u5e8f\u76f4\u63a5\u63a7\u5236\u65b9\u5f0f\u3001\u4e2d\u65ad\u63a7\u5236\u65b9\u5f0f\u3001DMA\u65b9\u5f0f\u3001\u901a\u9053\u65b9\u5f0f\u3002
(1)\u7a0b\u5e8f\u76f4\u63a5\u63a7\u5236\u65b9\u5f0f\uff1a\u5c31\u662f\u7531\u7528\u6237\u8fdb\u7a0b\u76f4\u63a5\u63a7\u5236\u5185\u5b58\u6216CPU\u548c\u5916\u56f4\u8bbe\u5907\u4e4b\u95f4\u7684\u4fe1\u606f\u4f20\u9001\u3002\u8fd9\u79cd\u65b9\u5f0f\u63a7\u5236\u8005\u90fd\u662f\u7528\u6237\u8fdb\u7a0b\u3002
(2)\u4e2d\u65ad\u63a7\u5236\u65b9\u5f0f\uff1a\u88ab\u7528\u6765\u63a7\u5236\u5916\u56f4\u8bbe\u5907\u548c\u5185\u5b58\u4e0eCPU\u4e4b\u95f4\u7684\u6570\u636e\u4f20\u9001\u3002\u8fd9\u79cd\u65b9\u5f0f\u8981\u6c42CPU\u4e0e\u8bbe\u5907\uff08\u6216\u63a7\u5236\u5668\uff09\u4e4b\u95f4\u6709\u76f8\u5e94\u7684\u4e2d\u65ad\u8bf7\u6c42\u7ebf\uff0c\u800c\u4e14\u5728\u8bbe\u5907\u63a7\u5236\u5668\u7684\u63a7\u5236\u72b6\u6001\u5bc4\u5b58\u5668\u7684\u76f8\u5e94\u7684\u4e2d\u65ad\u5141\u8bb8\u4f4d\u3002
(3)DMA\u65b9\u5f0f\uff1a\u53c8\u79f0\u76f4\u63a5\u5b58\u53d6\u65b9\u5f0f\u3002\u5176\u57fa\u672c\u601d\u60f3\u662f\u5728\u5916\u56f4\u8bbe\u5907\u548c\u5185\u5b58\u4e4b\u95f4\u5f00\u8f9f\u76f4\u63a5\u7684\u6570\u636e\u4ea4\u6362\u901a\u9053\u3002
(4)\u901a\u9053\u65b9\u5f0f\uff1a\u4e0eDMA\u65b9\u5f0f\u76f8\u7c7b\u4f3c\uff0c\u4e5f\u662f\u4e00\u79cd\u4ee5\u5185\u5b58\u4e3a\u4e2d\u5fc3\uff0c\u5b9e\u73b0\u8bbe\u5907\u548c\u5185\u5b58\u76f4\u63a5\u4ea4\u6362\u6570\u636e\u7684\u63a7\u5236\u65b9\u5f0f\u3002
\u77e5\u8bc6\u5ef6\u5c55\uff1a
\u4e2d\u592e\u5904\u7406\u5668\uff08CPU\uff0cCentral Processing Unit\uff09\u662f\u4e00\u5757\u8d85\u5927\u89c4\u6a21\u7684\u96c6\u6210\u7535\u8def\uff0c\u662f\u4e00\u53f0\u8ba1\u7b97\u673a\u7684\u8fd0\u7b97\u6838\u5fc3\u548c\u63a7\u5236\u6838\u5fc3\u3002\u4e3b\u8981\u5305\u62ec\u8fd0\u7b97\u5668\u548c\u63a7\u5236\u5668\u4e24\u5927\u90e8\u4ef6\u3002\u6b64\u5916\uff0c\u8fd8\u5305\u62ec\u82e5\u5e72\u4e2a\u5bc4\u5b58\u5668\u548c\u9ad8\u901f\u7f13\u51b2\u5b58\u50a8\u5668\u53ca\u5b9e\u73b0\u5b83\u4eec\u4e4b\u95f4\u8054\u7cfb\u7684\u6570\u636e\u3001\u63a7\u5236\u53ca\u72b6\u6001\u7684\u603b\u7ebf\u3002
\u4e2d\u592e\u5904\u7406\u5668\u62e5\u6709\u591a\u7ebf\u7a0b\u3001\u591a\u6838\u5fc3\u3001 \u4e71\u5e8f\u6267\u884c\u3001NUMA\u6280\u672f\u3001\u5206\u679d\u6280\u672f\u548cSMP\u7b49\u591a\u9879\u5904\u7406\u6280\u672f\uff0c\u4e0e\u5185\u90e8\u5b58\u50a8\u5668\u548c\u8f93\u5165/\u8f93\u51fa\u8bbe\u5907\u5408\u79f0\u4e3a\u7535\u5b50\u8ba1\u7b97\u673a\u4e09\u5927\u6838\u5fc3\u90e8\u4ef6\u3002\u5176\u529f\u80fd\u4e3b\u8981\u662f\u89e3\u91ca\u8ba1\u7b97\u673a\u6307\u4ee4\u4ee5\u53ca\u5904\u7406\u8ba1\u7b97\u673a\u8f6f\u4ef6\u4e2d\u7684\u6570\u636e\u3002

CPU与外设之间的数据传输有以下三种方式:程序方式、中断方式、DMA方式。其中程序方式又可分为无条件传送方式和条件传送方式两种方式。在CPU外设传送数据不太频繁的情况下一般采用无条件传送方式。

在CPU用于传输数据的时间较长且外设数目不多时采用条件传送方式。在实时系统以及多个外设的系统中,为了提高CPU的效率和使系统具有实时性能,采用中断传送方式。

如/0设备的数据传输效率较高,那么CPU和这样的外设进行数据传输是,即使尽量压缩程序查询方式和中断方式中的非数据传输时间,也仍然不能满足要求。

这是因为在这两种方式下,还存在另外一个影响速度的原因,即它们都是按字节或字来进行传输的。为了解决这个问题,实现按数据块传输,就需要改变传输方式,这就是直接存储器传输方式,即DMA 方式。

扩展资料

在查询方式、中断方式和DMA方式中,分别以下方法启动数据传输过程:

在查询方式下,是通过程序来检测接口中状态寄存器中的准备好”(READY)位,以确定当前是否可以进行数据传输的;在中断方式下。

当接口中已经有数据要往CPU输入或者准备好接收数据时,接口会向CPU发一个外部中断请求,CPU在得到中断请求后,如果响应中断,便通过运行中断处理程序来实现输X输出。

在DMA方式下,外设要求传输数据时,接口会向DMA控制器发DMA请求信号,DMA控制器转而往CPU发送一个总线请求信号,以请求得到总线控制权,如果得到DMA允许,那么,就可以在没有CPU参预的情况下实现DMA传输。



你没有悬赏分啊?但 CPU与外设之间数据传送都是通过内存实现的。 外围设备和内存之间的常用数据传送控制方式有四种 (1)程序直接控制方式:就是由用户进程直接控制内存或CPU和外围设备之间的信息传送。这种方式控制者都是用户进程。 (2)中断控制方式:被用来控制外围设备和内存与CPU之间的数据传送。这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位。 (3)DMA方式:又称直接存取方式。其基本思想是在外围设备和内存之间开辟直接的数据交换通道。 (4)通道方式:与DMA方式相类似,也是一种以内存为中心,实现设备和内存直接交换数据的控制方式。与之不同的是,在DMA方式中数据传送方向、存放数据内存始址以及传送的数据块长度等都是由CPU控制,而在通道方式中这些都是由专管输入输出的硬件——通道来进行控制。

  • cpu涓庡璁剧殑鏁版嵁浼犻佹柟寮忔湁鍝簺?鍚勬湁浠涔堢壒鐐?鐢ㄥ湪浠涔堝満鍚?
    绛旓細DMA鍏佽澶栬鍜屽唴瀛樹箣闂寸洿鎺ヨ繘琛屾暟鎹氦鎹紝鑰屼笉闇瑕CPU浠嬪叆銆傝繖绉鏂瑰紡鐨勯熷害涓婇檺鍙栧喅浜庡瓨鍌ㄥ櫒鐨勫伐浣滈熷害銆侱MA鎺у埗鍣ㄨ礋璐g鐞嗘暟鎹紶閫侊紝鍖呮嫭璇锋眰CPU鎺堟潈銆佹帶鍒舵荤嚎銆佸鍧瀛樺偍鍣ㄣ佸彂鍑鸿/鍐欐帶鍒朵俊鍙枫佹帶鍒朵紶閫佸瓧鑺傛暟浠ュ強缁撴潫DMA浼犻併侱MA閫傜敤浜庨珮閫烮/O璁惧鍜屽ぇ閲忔暟鎹氦鎹㈢殑鎯呭喌锛屽纾佺洏涓庡唴瀛闂寸殑鏁版嵁浼犺緭銆傛荤粨鏉...
  • cpu涓庡璁句箣闂寸殑鏁版嵁浼犻佹柟寮忔湁鍝洓绉
    绛旓細鏁版嵁浼犻佹柟寮忔湁鏃犳潯浠朵紶閫佹柟寮忥紝鏌ヨ浼犻佹柟寮忥紝涓柇浼犻佹柟寮忥紝鐩存帴鏁版嵁閫氶亾浼犻佹柟寮忋1銆佹棤鏉′欢浼犻佹柟寮忥紝鏈绠鍗曠殑浼犻佹柟寮忥紝鎵閰嶇疆鐨勭‖浠跺拰杞欢鏈灏戙2銆佹煡璇紶閫佹柟寮忥紝CPU鐨鍒╃敤鍙楀埌褰卞搷锛岄櫡浜庣瓑寰呭拰鍙嶅鏌ヨ銆佷笉鑳藉啀浣滀粬鐢紱鑰屼笖锛岃繖绉嶆柟娉曚笉鑳藉鐞嗘帀鐢点佽澶囨晠闅滅瓑绐佸彂浜嬩欢銆3銆佷腑鏂紶閫佹柟寮忥紝鏄绠楁満...
  • CPU涓庡璁剧殑鏁版嵁浼犺緭鏂瑰紡閫氬父鏈夊嚑绉
    绛旓細娌℃偓璧忓晩 CPU涓庡璁鹃棿鏁版嵁浼犻閮介氬唴瀛樺疄鐜板鍥磋澶囧唴瀛橀棿鐢ㄦ暟鎹紶閫佹帶鍒跺紡鍥涚 (1)绋嬪簭鐩存帴鎺у埗寮忥細鐢辩敤鎴疯繘绋嬬洿鎺ユ帶鍒跺唴瀛樻垨CPU澶栧洿璁惧闂淇℃伅浼犻佺寮忔帶鍒惰呴兘鐢ㄦ埛杩涚▼ (2)鏂帶鍒跺紡锛氱敤鎺у埗澶栧洿璁惧鍐呭瓨涓CPU闂存暟鎹紶閫绉嶅紡瑕佹眰CPU涓庤澶囷紙鎴栨帶鍒跺櫒锛夐棿鐩稿簲鏂姹傜嚎涓旇澶囨帶鍒跺櫒鎺у埗鐘舵佸瘎瀛樺櫒鐩稿簲鏂...
  • I/O鏁版嵁鏈鍑犵浼犻佹柟寮?鍚勬湁浠涔堢壒鐐
    绛旓細CPU涓庡璁句箣闂翠紶杈撴暟鎹鐨勬帶鍒舵柟寮忛氬父鏈変笁绉嶏細绋嬪簭鏂瑰紡銆佷腑鏂柟寮忓拰DMA鏂瑰紡銆傜▼搴忔柟寮忥細鎸囩敤杈撳叆/杈撳嚭鎸囦护锛屾潵鎺у埗淇℃伅浼犺緭鐨勬柟寮锛屾槸涓绉嶈蒋浠舵帶鍒舵柟寮忥紝鏍规嵁绋嬪簭鎺у埗鐨勬柟娉曚笉鍚岋紝鍙堝彲浠ュ垎涓烘棤鏉′欢浼犻佹柟寮鍜屾潯浠朵紶閫佹柟寮忋傛棤鏉′欢浼犻佹柟寮忔帴鍙g畝鍗曪紝閫傜敤浜庨偅浜涜兘闅忔椂璇诲啓鐨勮澶囥傛潯浠朵紶閫佹柟寮忥紙鏌ヨ鏂瑰紡锛 鐨...
  • CPU涓庡璁句箣闂寸殑鏁版嵁浼犻佹柟寮鍜岀▼搴忔帶鍒舵柟寮忕殑鍒嗙被鍜屽尯鍒?
    绛旓細b. 绋嬪簭鏌ヨ鎺у埗锛氱▼搴忔煡璇㈡帶鍒舵槸涓绉嶈疆璇澶栭儴璁惧鐨勯氫俊鏂瑰紡銆CPU鎸夌収棰勫畾鐨勯『搴忛愪釜鏌ヨ澶栭儴璁惧锛屼互纭畾瀹冧滑鏄惁鏈夋暟鎹渶瑕佷紶杈撱侰PU閫氳繃鍛ㄦ湡鎬у湴妫鏌ヨ澶囩殑鐘舵佹潵纭畾鏄惁杩涜鏁版嵁浼犺緭銆傚鏋滆澶囧浜庝紶杈撶姸鎬侊紝CPU灏嗘墽琛岀浉搴鐨勬暟鎹紶閫鎿嶄綔銆傜▼搴忔煡璇㈡帶鍒堕傜敤浜庤澶囨暟閲忚緝灏戜笖鍝嶅簲鏃堕棿瑕佹眰涓嶉珮鐨勬儏鍐碉紝渚嬪...
  • cpu涓庡璁句箣闂翠紶杈撴暟鎹鐨勬帶鍒鏂瑰紡,瀹炴椂鎬у樊鐨勬槸鍝釜
    绛旓細涓绘満涓澶栬涔嬮棿鐨淇℃伅浼犻佹帶鍒鏂瑰紡鏈锛1銆佹棤鏉′欢浼犻侊細閫傜敤浜庢绘槸澶勪簬鍑嗗濂界姸鎬佺殑澶栬锛岃蒋浠跺強鎺ュ彛纭欢绠鍗曘2銆佹煡璇鏂瑰紡浼犻锛氳蒋浠舵瘮杈冪畝鍗曪紱CPU鏁堢巼浣庯紝鏁版嵁浼犻鐨勫疄鏃舵у樊锛岄熷害杈冩參銆3銆佷腑鏂柟寮忎紶閫侊細CPU鏁堢巼楂橈紝瀹炴椂鎬уソ锛岄熷害蹇紱绋嬪簭缂栧埗杈冧负澶嶆潅銆4銆佺洿鎺ュ瓨鍌ㄥ櫒瀛樺彇锛鏁版嵁浼犺緭鐢盌MA纭欢鏉ユ帶鍒讹紝...
  • 8086/8088cpu涓庡璁句箣闂存暟鎹紶閫佹柟寮忔湁鍝笁澶х被
    绛旓細CPU 鍜澶栬涔嬮棿鐨勬暟鎹紶閫佹柟寮忔湁鍝嚑绉嶏紵瀹為檯閫夋嫨鏌愮浼犺緭鏂瑰紡鏃讹紝涓昏渚濇嵁 鏄粈涔堬紵CPU 涓庡璁句箣闂寸殑鏁版嵁浼犺緭鏈変互涓嬩笁绉嶆柟寮忥細绋嬪簭鏂瑰紡銆佷腑鏂柟寮忋丏MA 鏂瑰紡銆傚叾涓▼搴忔柟寮忓張鍙垎涓烘棤鏉′欢浼犻佹柟寮忓拰鏉′欢浼犻佹柟寮忎袱绉嶆柟寮忋傚湪 CPU 澶栬 浼犻佹暟鎹涓嶅お棰戠箒鐨勬儏鍐典笅涓鑸噰鐢ㄦ棤鏉′欢浼犻佹柟寮忋傚湪 CPU 鐢ㄤ簬浼犺緭...
  • CPU涓庡璁甯歌鐨勬暟鎹紶閫鎺у埗鏂瑰紡鏈鍝笁绉?鍏朵腑鍝閫傜敤浜庨珮閫熸暟鎹紶杈...
    绛旓細CPU涓庡璁甯歌鐨勬暟鎹紶閫鎺у埗鏂瑰紡鏈绋嬪簭鎺у埗鏂瑰紡銆佷腑鏂帶鍒舵柟寮忋佸瓨鍌ㄥ櫒鐩存帴瀛樺彇鎺у埗鏂瑰紡涓夌銆--- 褰撶劧鏄涓夌鏈蹇挴 鍥犱负瀛樺偍鍣ㄧ洿鎺ュ瓨鍌ㄦ槸鎸囨暟鎹湪I/O鎺ュ彛涓庡瓨鍌ㄥ櫒涔嬮棿浼犻锛屼笉缁廋PU鐨勫共棰勶紝鑰屾槸鍦ㄤ笓鐢ㄧ‖浠剁數璺殑鎺у埗涓嬬洿鎺ヨ繘琛岋紙DMA锛変紭鐐规槸閫熷害蹇紝缂虹偣鏄‖浠剁數璺鏉傘傘傘--- over ...
  • CPU涓庡璁炬暟鎹紶閫佹湁鍝嚑绉鏂瑰紡?鍚勮嚜浠涔堢壒鐐?
    绛旓細鏈夌嚎锛屾棤绾 灞鍩熺綉 涓浆 钃濈墮 绾㈠ 灏勯 鍏夋尝 鐗圭偣 鍔熻 浼犺緭鍗忚 閫氶亾甯﹀
  • 璁$畻鏈鏁版嵁浼犻閲囧彇浜嗗摢鍑犵鏂瑰紡?
    绛旓細璁$畻鏈轰笌澶栬涔嬮棿杩涜鏁版嵁浼犻佹湁涓夌鍩烘湰鎺у埗鏂瑰紡锛氭煡璇㈡柟寮忋佷腑鏂柟寮忓拰DMA鏂瑰紡銆 1锛庢煡璇㈡柟寮 鏌ヨ鏂瑰紡鏄氳繃鎵ц杈撳叆/杈撳嚭鏌ヨ绋嬪簭鏉ュ畬鎴愭暟鎹紶閫佺殑銆 宸ヤ綔鍘熺悊鏄細褰CPU鍚姩澶栬宸ヤ綔鍚庯紝涓嶆柇鍦拌鍙栧璁剧殑鐘舵佷俊鎭繘琛屾祴璇曪紝鏌ヨ澶栬鏄惁鍑嗗灏辩华锛屽澶栬鍑嗗濂斤紝鍒欏彲浠ヨ繘琛屾暟鎹紶閫侊紱鍚﹀垯锛孋PU缁х画璇诲彇...
  • 扩展阅读:苹果手机崩溃cpu与外设 ... cpu与外设的传送方式 ... panic cpu x caller ... 两个安卓手机互传数据 ... cpu和外设数据传输方式 ... 苹果实时显示cpu温度 ... 外设与cpu的连接方式 ... cpu与外设传送什么信息 ... 爱思上崩溃分析cpu与外设 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网