{"id":746,"date":"2007-10-10T16:27:00","date_gmt":"2007-10-10T08:27:00","guid":{"rendered":"http:\/\/note.systw.net\/note\/?p=746"},"modified":"2023-11-04T16:31:54","modified_gmt":"2023-11-04T08:31:54","slug":"%e9%9b%bb%e5%ad%90%e8%a8%88%e7%ae%97%e6%a9%9f%e7%b3%bb%e7%b5%b1","status":"publish","type":"post","link":"https:\/\/systw.net\/note\/archives\/746","title":{"rendered":"\u96fb\u5b50\u8a08\u7b97\u6a5f\u7cfb\u7d71"},"content":{"rendered":"\n<p>\u96fb\u5b50\u8a08\u7b97\u6a5f\u662f\u4e00\u7a2e\u5b8c\u5168\u6a21\u4eff\u4eba\u985e\u7684\u8cc7\u6599\u8655\u7406\u7a0b\u5e8f\u7684\u8a08\u7b97\u5de5\u5177<br>\u7531\u65bc\u5b8c\u6210\u8cc7\u6599\u8655\u7406\u5fc5\u9808\u63d0\u4f9b\uff1a\u8f38\u5165\u529f\u80fd\uff0c\u5132\u5b58\u529f\u80fd\uff0c\u8655\u7406\u529f\u80fd\uff0c\u8f38\u51fa\u529f\u80fd<br>\u56e0\u6b64\u96fb\u5b50\u8a08\u7b97\u6a5f\u7684\u786c\u9ad4\u7d44\u7e54\u88ab\u8a2d\u8a08\u6210\u4e94\u5927\u90e8\u9580\uff0c\u63d0\u4f9b\u8cc7\u6599\u8655\u7406\u7684\u56db\u7a2e\u57fa\u672c\u529f\u80fd\uff0c\u540c\u6642\u4f7f\u7528\u532f\u6d41\u6392\u9023\u63a5\u4e94\u5927\u90e8\u9580<br><br><strong>\u8a08\u7b97\u6a5f\u786c\u9ad4\u7d44\u7e54\u4e94\u5927\u90e8\u9580<\/strong><br><strong>input unit(\u8f38\u5165\u55ae\u5143)<\/strong>\uff1a\u5c07\u8f38\u5165\u8cc7\u6599\u8f49\u63db\u6210\u4e8c\u9032\u5236\u5f62\u5f0f\u5f8c\u518d\u5132\u5b58\u5230\u4e3b\u8a18\u9ad4\u55ae\u5143<br><strong>main memory unit(\u4e3b\u8a18\u61b6\u9ad4\u55ae\u5143)<\/strong>\uff1a\u6240\u6709\u7acb\u5373\u8981\u57f7\u884c\u7684\u7a0b\u5f0f\u8207\u8cc7\u6599\u90fd\u9808\u5148\u5132\u5b58\u5728\u6b64<br><strong>control unit(\u63a7\u5236\u55ae\u5143)<\/strong>\uff1a\u6839\u64da\u7a0b\u5f0f\u6240\u63cf\u8ff0\u7684\u8a08\u7b97\u6b65\u9a5f\uff0c\u4f9d\u5e8f\u767c\u51fa\u9069\u7576\u7684control signal(\u63a7\u5236\u4fe1\u865f)\u4ee5\u5b8c\u6210\u8cc7\u6599\u8655\u7406<br>&nbsp;\u8a08\u7b97\u6b65\u9a5f\u5305\u62ec\u6307\u4ee4\u6293\u53d6\uff0c\u6307\u4ee4\u89e3\u78bc\uff0c\u8cc7\u6599\u6293\u53d6\uff0c\u6307\u4ee4\u57f7\u884c\uff0c\u56de\u5beb\u7d50\u679c&#8230;\u7b49<br><strong>arithmetic logical unit(\u7b97\u8853\u908f\u8f2f\u904b\u7b97\u55ae\u5143)<\/strong>\uff1a\u63d0\u4f9b\u8a08\u7b97\u529f\u80fd\u8207register(\u66ab\u5b58\u5668)<br>\u8a08\u7b97\u529f\u80fd\u80fd\u57f7\u884c\u7b97\u8853\u904b\u7b97,ex:\u52a0\u6e1b\u4e58\u9664&#8230;\u7b49\uff1b\u8207\u908f\u8f2f\u904b\u7b97,ex:AND,OR,NOT,\u5927\u65bc\u7b49\u65bc\u5c0f\u65bc&#8230;\u7b49<br>register\u8ca0\u8cac\u63d0\u4f9b\u4e2d\u9593\u7d50\u679c\u5132\u5b58\u7684\u529f\u80fd<br><strong>output unit(\u8f38\u51fa\u55ae\u5143)<\/strong>\uff1a\u5c07\u4e8c\u9032\u5236\u5f62\u5f0f\u8f49\u63db\u6210\u4eba\u985e\u53ef\u63a5\u6536\u5f62\u5f0f\u4e26\u8f38\u51fa<br>ps\uff1a<br>\u4e94\u5927\u90e8\u9580\u53ef\u5728\u7c21\u5316\u70ba\u4ee5\u4e0b\u4e09\u500b<br>\u4e2d\u592e\u8655\u7406\u5668\u55ae\u5143\uff1dcontrol unit+arithmetic logical unit<br>\u8f38\u5165\/\u8f38\u51fa\u55ae\u5143\uff1dinput unit+ouput unit<br>\u4e3b\u8a18\u61b6\u9ad4\u55ae\u5143<br><br><strong>bus(\u532f\u6d41\u6392)<\/strong><br>\u63d0\u4f9b\u4e94\u5927\u90e8\u9580\u4e4b\u9593\u4e92\u76f8\u50b3\u905e\u8a0a\u606f\u529f\u80fd\u7684\u96fb\u5b50\u7dda\u8def\uff0c\u5206\u70ba\u4e09\u7a2e\uff1a<br>1&nbsp;<strong>data bus(\u8cc7\u6599\u532f\u6d41\u6392)<\/strong>\uff1a\u50b3\u9001\u8cc7\u6599\u8207\u6307\u4ee4<br>\u4fe1\u865f\u662f\u96d9\u5411\u6027\u7684,\u53ef\u7531CPU\u50b3\u7d66ram\u6216i\/o,\u4e5f\u53ef\u5f9eram\u6216i\/o\u50b3\u56deCPU<br>\u8cc7\u6599\u7dda\u6578\u91cf\u4ee3\u8868\u6bcf\u6b21\u80fd\u540c\u6642\u50b3\u9001\u8cc7\u6599\u7684Byte\u6578\uff0c\u53c8\u7a31\u70baWord(\u5b57\u8a9e)<br>ex:32bit CPU\u5c31\u670932\u689ddata bus\uff0c\u4ea6\u5373\u6bcf\u6b21\u53ef\u50b3\u900132bit\u7684\u8cc7\u6599<br>2&nbsp;<strong>address bus(\u4f4d\u5740\u532f\u6d41\u6392)<\/strong>\uff1a\u50b3\u9001\u4f4d\u5740<br>\u4fe1\u865f\u662f\u55ae\u5411\u6027,\u53ea\u53ef\u7531CPU\u50b3\u7d66ram\u6216i\/o<br>\u4f4d\u5740\u7dda\u7684\u591a\u5be1\u6c7a\u5b9a\u8a18\u61b6\u9ad4\u6240\u80fd\u8a2d\u5b9a\u7684\u5bb9\u91cf\u5927\u5c0f,n\u689d\u4f4d\u5740\u7dda\u53ef\u652f\u63f42^n\u8a18\u61b6\u9ad4\u5bb9\u91cf<br>ex:\u4f4d\u5740\u7dda\u6bcf\u689d\u53ef\u4ee5\u50b3\u90010\u62161\u7684\u4fe1\u865f<br>20\u689d\u5c31\u67092^20=1MB\u7684\u8a18\u61b6\u9ad4\u5bb9\u91cf<br>30\u689d\u5c31\u67092^30=1GB\u7684\u8a18\u61b6\u9ad4\u5bb9\u91cf<br>3&nbsp;<strong>control bus(\u63a7\u5236\u532f\u6d41\u6392)<\/strong>\uff1a\u50b3\u9001\u63a7\u5236\u4fe1\u865f<br>\u4fe1\u865f\u662f\u55ae\u5411\u6027,\u53ea\u53ef\u7531cpu\u50b3\u7d66ram\u6216i\/o<br><br><strong>\u591a\u91cdbus hierarchy\u7d50\u69cb<\/strong><br>local bus:\u9023\u63a5cpu\u8207cache<br>system bus:\u9023\u63a5cache,memory,\u4e5f\u6709\u53ef\u80fd\u9023\u63a5expansion bus<br>high-speed bus:\u901a\u5e38\u9023\u63a5scsi,firewire,\u5716\u50cf\u8a2d\u5099,\u7db2\u8def\u5361<br>expansion bus:\u901a\u5e38\u9023\u63a5serial port,modem,\u65e9\u671f\u6703\u9023\u63a5scsi,\u7db2\u8def\u5361,&#8230;\u7b49&nbsp;<\/p>\n\n\n\n<p><br><strong>\u96fb\u5b50\u8cc7\u6599\u8655\u7406\u904e\u7a0b<\/strong><br>1 \u5148\u5c07\u5916\u754c\u7684\u8cc7\u6599\u8207\u7a0b\u5f0f\u900f\u904einput unit\u50b3\u9001\u5230main memory unit<br>2 \u4e2d\u592e\u8655\u7406\u5668\u518d\u958b\u59cb\u57f7\u884c\u7a0b\u5f0f\uff0c\u4e5f\u5c31\u662f\u91cd\u8986\u9032\u884cinstruction cycle<br>3 \u6700\u5f8c\u628a\u904b\u7b97\u7d50\u679c\u900f\u904eoutput unit\u986f\u793a\u5230\u5916\u754c<br><br><strong>instruction cycle\u6307\u4ee4\u9031\u671f<\/strong><br>\u4e00\u9053\u6307\u4ee4\u7684\u5b8c\u6574\u7684\u57f7\u884c\u904e\u7a0b\uff0c\u901a\u5e38\u5305\u62ec\u90195\u968e\u6bb5\uff1a<br>\u6307\u4ee4\u6293\u53d6\uff0c\u6307\u4ee4\u89e3\u78bc\uff0c\u8cc7\u6599\u6293\u53d6\uff0c\u6307\u4ee4\u57f7\u884c\uff0c\u56de\u5beb\u7d50\u679c<br>\u4e3b\u8981\u662f\u5c0d\u4e3b\u8a18\u9ad4\u55ae\u5143\u4e2d\u7684\u8cc7\u6599\u52a0\u4ee5\u904b\u7b97\uff0c\u4e26\u5c07\u904b\u7b97\u7d50\u679c\u5b58\u653e\u5728\u4e3b\u8a18\u61b6\u9ad4\u55ae\u5143\u4e2d<br><br><br><strong>\u8a08\u7b97\u6a5f\u7cfb\u7d71\u6f14\u9032<\/strong><br>\u6a5f\u68b0\u5f0f\u8a08\u7b97\u6a5f<br>1642 \u52a0\u6cd5\u6a5f<br>1823 difference engine\u5dee\u5206\u6a5f<br>1834 analytical engine\u5206\u6790\u6a5f<br>1890 \u6253\u5b54\u5361\u7247\u95b1\u8b80\u6a5f<br><br>\u96fb\u5b50\u6a5f\u68b0\u8a08\u7b97\u5668<br><strong>1944 mark I<\/strong>(\u99ac\u514b1\u865f)<br>\u4f7f\u7528\u90e8\u4efd\u6a5f\u68b0\u69cb\u9020\u82073\u5343\u500brelay(\u96fb\u78c1\u7e7c\u96fb\u5668)\uff0c\u6bcf\u79d2\u53ef\u5b8c\u62103\u500b\u7b97\u8853\u8a08\u7b97\uff0c\u63a1\u7528\u5341\u9032\u4f4d\u65b9\u5f0f\u88fd\u4f5c<br><br>\u96fb\u5b50\u8a08\u7b97\u6a5f\u767c\u5c55<br>\u5b8c\u5168\u4f7f\u7528\u96fb\u5b50\u96f6\u4ef6\uff0c\u63a1\u7528\u4e8c\u9032\u5236\u65b9\u5f0f\u88fd\u4f5c\uff0c\u5206\u5225\u4ee3\u8868\u96fb\u58d3\u503c\u662fhigh\u6216low\u7684\u72c0\u614b<br>1940\u5e74\u4ee3\uff0c\u7b2c\u4e00\u4ee3\u96fb\u5b50\u8a08\u7b97\u6a5f\uff1a<br><strong>1946 ENIAC<\/strong>(electronic numerical integrator and calculator\u96fb\u5b50\u6578\u503c\u7a4d\u5206\u8a08\u7b97\u6a5f)<br>\u4f7f\u75281\u842c8\u5343\u500bvacuum tube(\u771f\u7a7a\u7ba1)\uff0c\u6bcf\u79d2\u53ef\u5b8c\u62105\u5343\u500b\u52a0\u6cd5\u8a08\u7b97\uff0c\u8a08\u7b97\u901f\u5ea6\u4f7f\u7528ms(\u6beb\u79d2)<br>\u65b0\u589e\u7279\u6027\uff1a<br>\u4f7f\u7528stored program(\u5167\u5132\u7a0b\u5f0f)\u7684\u89c0\u5ff5<br>\u589e\u52a0index register(\u7d22\u5f15\u66ab\u5b58\u5668)\u7684\u8a2d\u8a08<br><br>1950\u5e74\u4ee3\uff0c\u7b2c\u4e8c\u4ee3\u96fb\u5b50\u8a08\u7b97\u6a5f\uff1a<br><strong>1958 IBM1401<\/strong><br>\u4f7f\u7528transistor(\u96fb\u6676\u9ad4)\u70ba\u5143\u4ef6\uff0c\u8a08\u7b97\u901f\u5ea6\u4f7f\u7528us(\u5fae\u79d2)<br>\u65b0\u589e\u7279\u6027\uff1a<br>\u6d6e\u9ede\u7b97\u8853\u786c\u9ad4\u96fb\u8def\uff1a\u5c08\u9580\u7528\u4f86\u8655\u7406\u5be6\u6578\u7684\u8a08\u7b97<br>\u7279\u6b8a\u8655\u7406\u5668\uff1a\u5c08\u9580\u8655\u7406input\/output unit<br><br>1960\u5e74\u4ee3\uff0c\u7b2c\u4e09\u4ee3\u96fb\u5b50\u8a08\u7b97\u6a5f\uff1a<br><strong>1946 IBM360<\/strong><br>\u4f7f\u7528IC(integrated circuit\u7a4d\u9ad4\u96fb\u8def)\uff0c\u8a08\u7b97\u901f\u5ea6\u4f7f\u7528ns(\u5948\u79d2)<br>\u65b0\u589e\u7279\u6027\uff1a<br>\u4f7f\u7528microprogram controlled(\u5fae\u7a0b\u5f0f\u63a7\u5236)\u6280\u8853\uff1a\u7c21\u5316\u4e2d\u592e\u8655\u7406\u5668\u8a2d\u8a08\u7684\u8907\u96dc\u5ea6<br>\u7ba1\u7dda\u4f5c\u696d\uff1a\u63d0\u6607\u8a08\u7b97\u6548\u80fd\u7684\u5e73\u884c\u8655\u7406\u6280\u8853<br>\u5feb\u53d6\u8a18\u61b6\u9ad4\uff1a\u6e1b\u5c11\u4e3b\u8a18\u61b6\u9ad4\u5b58\u53d6\u6b21\u6578<br><br>1970\u5e74\u4ee3\uff0c\u7b2c\u56db\u4ee3\u96fb\u5b50\u8a08\u7b97\u6a5f\uff1a<br><strong>1976 apple2,1981 IBM PC,&#8230;<\/strong><br>\u4f7f\u7528VLSI(very large scale integration\u8d85\u5927\u578b\u7a4d\u9ad4\u96fb\u8def)\uff0c\u8a08\u7b97\u901f\u5ea6\u4f7f\u7528ns(\u5948\u79d2)<br>\u65b0\u589e\u7279\u6027\uff1a<br>\u4f7f\u7528microprocessor(\u5fae\u8655\u7406\u5668)\u7684\u6280\u8853\uff1a\u5c07\u4e2d\u592e\u8655\u7406\u5668\u8a2d\u8a08\u5728\u4e00\u500b\u77fd\u6676\u7247\u4e2d<br>\u63a1\u7528RISC(reduced instruction set computer\u7cbe\u7c21\u6307\u4ee4\u96c6\u67b6\u69cb)\uff1a\u53ea\u63d0\u4f9b\u5c11\u6578\u5e38\u7528\u7c21\u55ae\u7684\u6307\u4ee4\u7576\u6210\u6307\u4ee4\u96c6<br><br>1980\u5e74\u4ee3\uff0c\u7b2c\u4e94\u4ee3\u96fb\u5b50\u8a08\u7b97\u6a5f\uff1a<br>\u65b0\u589e\u7279\u6027\uff1a<br>\u5e73\u884c\u8655\u7406\u6280\u8853<br>\u4eba\u5de5\u667a\u6167<br><br><br><strong>\u8a08\u7b97\u6a5f\u67b6\u69cb<\/strong><strong><br><\/strong><strong>\u56db\u7a2e\u96fb\u5b50\u8a08\u7b97\u6a5f\u67b6\u69cb<\/strong><br>\u4e5f\u7a31flynn\u96fb\u8166\u67b6\u69cb\u5206\u985e<br>\u53ea\u9069\u7528\u50b3\u7d71\u7684\u96fb\u8166\u7cfb\u7d71\u5206\u985e<br>\u5171\u6709\u56db\u5927\u985e<br><strong>SISD(single instruction single data,\u55ae\u4e00\u6307\u4ee4\u6d41\u55ae\u4e00\u8cc7\u6599\u6d41)<\/strong><br>\u4e00\u6b21\u57f7\u884c\u4e00\u9053\u6307\u4ee4,\u5404\u6307\u4ee4\u4e00\u6b21\u8655\u7406\u4e00\u500b\u8cc7\u6599<br>ps:\u53ef\u4ee5\u4f7f\u7528\u7ba1\u7dda\u4f5c\u696d\u5c07\u6307\u4ee4\u7684\u5404\u968e\u6bb5\u91cd\u758a<br>ex:\u8303\u8afe\u66fc\u96fb\u8166<br><strong>SIMD(single instruction multiple data,\u55ae\u4e00\u6307\u4ee4\u6d41\u591a\u500b\u8cc7\u6599\u6d41)<\/strong><br>\u4e00\u6b21\u57f7\u884c\u4e00\u9053\u6307\u4ee4,\u5404\u6307\u4ee4\u4e00\u6b21\u8655\u7406\u591a\u500b\u8cc7\u6599<br>ex:\u9673\u5217\u8655\u7406\u5668\u96fb\u8166,\u5411\u91cf\u8655\u7406\u5668\u96fb\u8166<br><strong>MISD(multiple instruction single data,\u591a\u500b\u6307\u4ee4\u6d41\u55ae\u4e00\u8cc7\u6599\u6d41)<\/strong><br>\u4e00\u6b21\u57f7\u884c\u591a\u9053\u6307\u4ee4,\u5404\u6307\u4ee4\u4e00\u6b21\u8655\u7406\u4e00\u500b\u8cc7\u6599<br>\u96fb\u8166\u5177\u591a\u500bcpu,\u5404cpu\u57f7\u884c\u4e0d\u540c\u7684\u6307\u4ee4,\u4f46\u5404cpu\u4e00\u6b21\u53ea\u80fd\u5b58\u53d6\u4e00\u500b\u8cc7\u6599<br>ex:VLIW(very long instruction word,\u8d85\u9577\u6307\u4ee4\u5b57\u7d44\u96fb\u8166)<br><strong>MIMD(multiple instuction multiple data,\u591a\u500b\u6307\u4ee4\u6d41\u591a\u500b\u8cc7\u6599\u6d41)<\/strong><br>\u4e00\u6b21\u57f7\u884c\u591a\u9053\u6307\u4ee4,\u5404\u6307\u4ee4\u4e00\u6b21\u8655\u7406\u591a\u500b\u8cc7\u6599<br>\u96fb\u8166\u5177\u591a\u500bcpu,\u5404cpu\u57f7\u884c\u4e0d\u540c\u7684\u6307\u4ee4,\u4f46\u5404cpu\u4e00\u6b21\u53ef\u5b58\u53d6\u591a\u500b\u8cc7\u6599<br>ex:\u591a\u8655\u7406\u5668\u96fb\u8166,\u53e2\u96c6<\/p>\n\n\n\n<p>\u7528\u8a08\u7b97\u6a21\u5f0f\u5206\u985e<br>\u8a08\u7b97\u6a21\u5f0f:\u63a7\u5236\u6a5f\u7f6e\u8207\u8cc7\u6599\u6a5f\u7f6e\u7684\u7d44\u5408<br>\u63a7\u5236\u6a5f\u7f6e:\u8a08\u7b97\u55ae\u5143\u57f7\u884c\u9806\u5e8f\u7684\u65b9\u5f0f<br>\u8cc7\u6599\u6a5f\u7f6e:\u8a08\u7b97\u55ae\u5143\u9593\u4e92\u76f8\u4ea4\u63db\u8cc7\u6599\u7684\u65b9\u5f0f<br>\u8a08\u7b97\u55ae\u5143:\u4e00\u500b\u62bd\u50cf\u5316\u7684\u529f\u80fd\u55ae\u5143,\u53ef\u5c0d\u8f38\u5165\u7684\u53c3\u6578\u9032\u884c\u8a08\u7b97,\u5c31\u50cf\u6307\u4ee4<\/p>\n\n\n\n<p>\u63a7\u5236\u6a5f\u7f6e\u6709<br><strong>control driven(\u63a7\u5236\u9a45\u52d5)<\/strong><br>\u6839\u64da\u76ee\u524d\u57f7\u884c\u7684\u8a08\u7b97\u55ae\u5143\u4f86\u6307\u5b9a<br>ex:\u8303\u8afe\u66fc\u96fb\u8166<br><strong>data driven(\u8cc7\u6599\u9a45\u52d5)<\/strong>,\u4e5f\u7a31availability driven(\u5099\u59a5\u9a45\u52d5)<br>\u6839\u64da\u6240\u9700\u8cc7\u6599\u662f\u5426\u5099\u59a5,\u8a08\u7b97\u55ae\u5143\u7684\u57f7\u884c\u9806\u5e8f\u53ea\u53d7\u9650\u65bcdata dependency(\u8cc7\u6599\u76f8\u4f9d)<br>\u5c6c\u65bc\u5e73\u884c\u7684\u57f7\u884c\u65b9\u6cd5<br>ex:data flow computer<br><strong>demand driven(\u9700\u6c42\u9a45\u52d5)<\/strong>,\u4e5f\u7a31lazy evaluation(\u61f6\u6563\u6c42\u503c)<br>\u6839\u64da\u8a08\u7b97\u55ae\u5143\u6240\u7522\u751f\u7684\u7d50\u679c\u662f\u5426\u9700\u8981<br>ex:\u5c08\u5bb6\u7cfb\u7d71\u7684\u63a8\u8ad6\u5f15\u64ca<br><strong>pattern driven(\u6a23\u5f0f\u9a45\u52d5)<\/strong><br>\u6839\u64da\u8a08\u7b97\u55ae\u5143\u6240\u8a2d\u5b9a\u7684\u555f\u52d5\u6a21\u5f0f\u6216\u555f\u52d5\u689d\u4ef6\u662f\u5426\u7b26\u5408<br>ex:\u985e\u795e\u7d93\u7db2\u8def<\/p>\n\n\n\n<p>\u8cc7\u6599\u6a5f\u7f6e\u6709<br>shared data(\u5171\u7528\u8cc7\u6599)<br>message passing(\u8a0a\u606f\u50b3\u905e)<\/p>\n\n\n\n<p><strong>von neumann computer(\u8303\u8afe\u66fc\u96fb\u8166<\/strong>)<br>\u6b64\u67b6\u69cb\u4e3b\u8981\u5177\u6709\u56db\u500b\u7279\u5fb5<br>1<strong>stored program<\/strong>(\u5167\u5132\u7a0b\u5f0f)\u7684\u89c0\u5ff5\uff1a\u53ef\u5f48\u6027\u63a7\u5236\u8a08\u7b97\u6a5f\u57f7\u884c\uff0c\u800c\u4e0d\u5fc5\u5728\u7528\u63a5\u7dda\u65b9\u5f0f\u4f86\u63a7\u5236<br>2\u6307\u4ee4\u63a1\u53d6<strong>sequential execution<\/strong>(\u5faa\u5e8f\u57f7\u884c)\u7684\u65b9\u5f0f:\u8b93\u786c\u9ad4\u96fb\u8def\u7684\u8a2d\u8a08\u8f03\u7c21\u55ae\uff0c\u53ea\u9700\u80fd\u5920\u9806\u5229\u57f7\u884c\u4e00\u908a\u6307\u4ee4\u5373\u53ef<br>3<strong>internal memory<\/strong>(\u5167\u90e8\u8a18\u61b6\u9ad4)\u7684\u8a2d\u7f6e<br>4\u63a1\u7528<strong>binary system<\/strong>(\u4e8c\u9032\u5236\u7cfb\u7d71)\u7684\u8cc7\u6599\u8868\u793a\u65b9\u6cd5<br>\u5c6c\u65bcSISD\u67b6\u69cb<\/p>\n\n\n\n<p>ps:<br>1\u6700\u65e9\u7531\u7f8e\u570b\u666e\u6797\u65af\u9813\u5927\u5b78\u9ad8\u7b49\u7814\u7a76\u6240\u7684john von neumann(\u8303\u8afe\u66fc)\u6559\u6388\u63d0\u51fa<br>2\u4e4b\u5f8c\u4e5f\u63a1\u7528\u6b64\u67b6\u69cb\u767c\u5c55\uff0c\u56e0\u6b64\u7b2c1\uff0d4\u4ee3\u96fb\u5b50\u8a08\u7b97\u6a5f\u7a31\u70bavon neumann computer<br>3\u4e5f\u7a31\u70bastored program machine(\u5167\u5132\u7a0b\u5f0f\u96fb\u8166),sequential machine(\u5faa\u5e8f\u96fb\u8166),control-flow machine(\u63a7\u5236\u6d41\u7a0b\u96fb\u8166)<br><strong>parallel machine(\u5e73\u884c\u96fb\u8166)<\/strong><br>\u4e5f\u7a31\u70ba\u7b2c\u4e94\u4ee3\u96fb\u5b50\u8a08\u7b97\u6a5f<br>\u5e38\u898b\u7684\u6709\uff1a<br><strong>array processor(\u9663\u5217\u8655\u7406\u5668\u96fb\u8166)<\/strong><br><strong>VLIW(very long instructionword machine\u8d85\u9577\u6307\u4ee4\u5b57\u7d44\u96fb\u8166)<\/strong><br><strong>multiprocessor(\u591a\u8655\u7406\u5668\u96fb\u8166)<\/strong><br><strong>pipelined computer(\u7ba1\u7dda\u5f0f\u96fb\u8166)<\/strong><strong><br><\/strong><strong>super scalar machine(\u8d85\u7d14\u91cf\u96fb\u8166)<\/strong><br><strong>data-flow machine(\u8cc7\u6599\u6d41\u7a0b\u96fb\u8166)<\/strong><\/p>\n\n\n\n<p><strong>\u6548\u80fd\u8a55\u4f30<\/strong><br><strong>\u4e2d\u592e\u8655\u7406\u5668\u6642\u9593<\/strong><br>\u7a0b\u5f0f\u57f7\u884c\u6642\u771f\u6b63\u4f7f\u7528\u4e2d\u592e\u8655\u7406\u5668\u7684\u6642\u9593,\u4e5f\u5c31\u662fexcution time(\u57f7\u884c\u6642\u9593),\u8d8a\u77ed\u8868\u793a\u6548\u80fd\u8d8a\u597d<br>\u516c\u5f0f:\u4e2d\u592e\u8655\u7406\u5668\u6642\u9593=IC*CPI*CT<br><strong>CT<\/strong>(clock cycle time\u8a08\u6642\u9031\u671f\u6642\u9593):\u7531\u8655\u7406\u5668\u6642\u8108\u63db\u7b97\u5f97\u4f86,\u4e5f\u5c31\u662f\u4e00\u500b\u6642\u5e8f\u4fe1\u865f(\u8a08\u6642\u9031\u671f\u500b\u6578)\u6703\u4f7f\u7528\u7684\u6642\u9593<br>ex:500Mhz\u8868\u793a\u6bcf\u79d2\u8a08\u6642\u9031\u671f\u500b\u6578=500*10^6\uff0cCT=(1\/500)us=(2\/1000)us=2ns<br>ex:\u983b\u73871MHz=\u6bcf\u79d2\u7522\u751f1\u767e\u842c(10^6)\u500b\u6642\u5e8f\u4fe1\u865f,\u4e5f\u5c31\u662f1\u500b\u6642\u5e8f\u4fe1\u865f\u53ea\u8981\u82b110^-6\u79d2=1us(\u5fae\u79d2)\uff0c\u5247CT=1us=10^-6sec<br>ex:clock rate of 1Ghz\u5c31\u7b49\u540c\u65bc,1\u500b\u6642\u5e8f\u4fe1\u865f\u4f7f\u752810^-9sec=1ns(\u5948\u79d2)\uff0c\u5247CT=1ns=10^-9sec<br>ex:200Mhz,\u5c31\u8868\u793a1\u79d2\u7522\u751f200*10^6\u500b\u4fe1\u865f,\u4e5f\u5c31\u8868\u793a1\u500b\u4fe1\u865f\u6703\u82b11\/(200*10^6)sec=(1\/200)us=5ns\uff0cCT=5ns=(1\/200)*10^-6sec<br>&nbsp;\u8207computer organization\u548c\u5be6\u4f5c\u6280\u8853\u6709\u95dc<br><strong>IC<\/strong>(instruction count\u7a0b\u5f0f\u7684\u6307\u4ee4\u500b\u6578)<br>&nbsp;\u8207ISA\u548c\u7ffb\u8b6f\u5668\u6280\u8853\u6709\u95dc<br><strong>CPI<\/strong>(clock cycle per instruction\u6307\u4ee4\u5e73\u5747\u8a08\u6642\u9031\u671f\u500b\u6578):\u6bcf\u500b\u6307\u4ee4\u57f7\u884c\u6642\u6240\u9700\u8981\u7684\u8a08\u6642\u9031\u671f\u500b\u6578<br>&nbsp;1\u6b64\u503c\u8d8a\u5c0f\u8868\u793a\u57f7\u884c\u6642\u9593\u8d8a\u77ed\u6548\u80fd\u8d8a\u597d\uff0c2\u4f9d\u6307\u4ee4\u57f7\u884c\u7684\u72c0\u6cc1\uff0c\u6b64\u503c\u6703\u589e\u52a0\u6216\u6e1b\u5c11<br>&nbsp;\u8207ISA\u548ccomputer organization\u6709\u95dc<br>ex:a\u6307\u4ee4CPI=4,b\u6307\u4ee4CPI=6,c\u6307\u4ee4CPI=8;\u4e14compilers\u53ea\u4f7f\u7528a\u6307\u4ee430%,b\u6307\u4ee450%,c\u6307\u4ee420%<br>\u5247CPI=(4*30%)+(6*50%)(8*20%)=5.8<br>CPI*IC=clock cycle count(\u8a08\u6642\u9031\u671f\u500b\u6578)<br>CPI*CT=\u6307\u4ee4\u5e73\u5747\u57f7\u884c\u6642\u9593(\u79d2)<br>ex1:\u5982\u679cIC=10,000,000 ,CT=10^-8sec ,\u4e2d\u592e\u8655\u7406\u5668\u6642\u9593=0.25sec<br>\u5247CPI=\u4e2d\u592e\u8655\u7406\u5668\u6642\u9593\/(IC*CT)=0.25\/(10,000,000*10^-8)=2.5<br>ex2:\u5982\u679cIC=5 ,clock cycle count=10<br>\u5247CPI=clock cycle count\/IC=10\/5=2<br>ex3:\u5982\u679ca\u7684IC=4\u548cCPI=1,b\u7684IC=1\u548cCPI=2,C\u7684IC=1\u548cCPI=3,\u800ccode\u7531a,b,c\u7d44\u6210<br>\u5247code\u7684IC=a\u7684IC+b\u7684IC+c\u7684IC=4+1+1=6<br>code\u7684clock cycle count=(a\u7684IC*a\u7684CPI)+(b\u7684IC*b\u7684CPI)+(c\u7684IC*c\u7684CPI)=(4*1)+(1*2)+(1*3)=9<br>code\u7684CPI=clock cycle count\/IC=9\/6=1.5<br>ex4:\u5982\u679cCPI=4,IC=10^6,CT=5ns<br>\u4e2d\u592e\u8655\u7406\u5668\u6642\u9593=4*10^6*5ns=4*5*10^-9*10^6=20*10^-3=20ms<\/p>\n\n\n\n<p><strong>\u5f71\u97ffIC,CPI,CT\u7684\u4e09\u500b\u4e0d\u540c\u5c64\u6b21<\/strong><br>\u7531\u4e0a\u800c\u4e0b\u5206\u5225\u662f:<br>ISA(instruction set architecture\u6307\u4ee4\u96c6\u67b6\u69cb)<br>computer organization(\u8a08\u7b97\u6a5f\u7d44\u7e54)<br>implementation circuit(\u5be6\u4f5c\u96fb\u8def)<\/p>\n\n\n\n<p><strong>MIPS<\/strong>(million instructions per second\u6bcf\u79d2\u767e\u842c\u500b\u6307\u4ee4)<br>\u8d8a\u9ad8\u4ee3\u8868\u6bcf\u79d2\u53ef\u57f7\u884c\u7684\u6307\u4ee4\u8d8a\u591a,\u82e5CPI*CT\u8d8a\u5c0f\u5247MIPS\u8d8a\u9ad8<br>\u516c\u5f0f:MIPS=IC\/(\u4e2d\u592e\u8655\u7406\u5668\u6642\u9593*10^6)=IC\/(IC*CPI*CT*10^6)=1sec\/(CPI*CT*10^6)=\u6bcf\u79d2\u8a08\u6642\u9031\u671f\u500b\u6578\/(CPI*10^6)<br>\u7f3a\u9ede\uff1a\u4e0d\u662f\u4e00\u500b\u9069\u7576\u7684\u8a55\u4f30\u6a19\u6e96\uff0c\u56e0\u70ba\u6c92\u6709\u8003\u616e\u5230IC\u9019\u500b\u56e0\u7d20<br>\u512a\u9ede\uff1a\u76f4\u63a5\u6613\u61c2<br>ex:CPI=4,CT=5ns<br>\u5247MIPS=1sec\/CPI*CT*10^6=10^9ns\/4*5ns*10^6=50<br>ex:CPI=1.94 ,CPU\u662f200Mhz<br>\u5247MIPS=\u6bcf\u79d2\u8a08\u6642\u9031\u671f\u500b\u6578\/(CPI*10^6)=200*10^6\/1.94*10^6<\/p>\n\n\n\n<p><strong>MFLOPS<\/strong>(million floating-point operations per second\u6bcf\u79d2\u767e\u842c\u500b\u6d6e\u9ede\u904b\u7b97)<br>\u6bcf\u79d2\u53ef\u4ee5\u57f7\u884c\u5e7e\u767e\u842c\u500b\u6d6e\u9ede\u904b\u7b97\uff0c\u82e5\u6a5f\u5668\u6709\u8f03\u9ad8\u7684MFLOPS\u5247\u5728\u6d6e\u9ede\u904b\u7b97\u65b9\u9762\u6709\u8f03\u4f73\u6548\u7387<br>\u516c\u5f0f:MFLOPS=\u6d6e\u9ede\u904b\u7b97\u500b\u6578\/\u57f7\u884c\u6642\u9593(\u79d2)*10^6<br>\u7f3a\u9ede\uff1a\u4e0d\u662f\u4e00\u500b\u9069\u7576\u7684\u8a55\u4f30\u6a19\u6e96\uff0c\u56e0\u70ba\u4e0d\u662f\u6bcf\u500b\u5de5\u4f5c\u90fd\u8981\u4f7f\u7528\u6d6e\u9ede\u904b\u7b97<br>\u512a\u9ede\uff1a\u53ef\u8a55\u4f30\u6d6e\u9ede\u904b\u7b97\u5de5\u4f5c\u7684\u6548\u80fd<\/p>\n\n\n\n<p><strong>\u5b9a\u5f8b<\/strong><br><strong>amdahl&#8217;s law(\u4e9e\u7576\u65af\u5b9a\u5f8b)<\/strong><br>\u539f\u52471\uff1a\u91dd\u5c0d\u5de5\u4f5c\u7684\u81e8\u754c\u90e8\u4efd(\u4f54\u7528\u6574\u9ad4\u6642\u9593\u8f03\u9577\u7684\u90e8\u4efd)\u9032\u884c\u6539\u5584<br>\u539f\u52472\uff1a\u8d8a\u63a5\u8fd1\u6574\u9ad4\u7684\u6548\u80fd\u63d0\u6607\u4e0a\u9650\uff0c\u5247\u5831\u916c\u6e1b\u5c11\u7684\u60c5\u6cc1\u8d8a\u986f\u8457<br>\u516c\u5f0f\uff1ab\u6a5f\u5668\u6bd4a\u6a5f\u5668\u5febn\uff05=(b\u6548\u80fd\u6548\u80fd-a\u6a5f\u5668\u6548\u80fd)\/a\u6a5f\u5668\u6548\u80fd*100<br>ex:b\u6a5f\u5668MIPS=172.41,a\u6a5f\u5668MIPS=156.25<br>\u5247b\u6a5f\u5668\u6bd4a\u6a5f\u5668\u5feb10.34%,\u56e0\u70ba(172.41-156.25)\/156.25*100%=10.34%<br>\u516c\u5f0f\uff1ab\u6a5f\u5668\u6bd4a\u6a5f\u5668\u5feb\u5e7e\u500d\uff1a1+n\/100=a\u6a5f\u5668\u7684\u57f7\u884c\u6642\u9593\/b\u6a5f\u5668\u7684\u57f7\u884c\u6642\u9593<br>ex:\u96fb\u8166a\u7684CT=10ns,CPI=2\uff1b\u96fb\u8166b\u7684CT=20ns,CPI=1.2<br>\u5247\u96fb\u8166a\u6bd4\u96fb\u8166b\u5feb1.2\u500d,\u56e0\u70ba1+n\/100=\u96fb\u8166b\u7684\u57f7\u884c\u6642\u9593\/\u96fb\u8166a\u7684\u57f7\u884c\u6642\u9593=((IC)*1.2*(20ns))\/((IC)*1.2*(20ns))=1+20\/100=1.2<br>\u516c\u5f0f\uff1aspeedup(\u6548\u80fd\u63d0\u5347)=\u672a\u6539\u5584\u524d\u7684\u57f7\u884c\u6642\u9593\/\u6539\u5584\u5f8c\u7684\u57f7\u884c\u6642\u9593<br>&nbsp; =\u672a\u6539\u5584\u524d\u7684\u57f7\u884c\u6642\u9593\/(\u5df1\u6539\u5584\u90e8\u4efd\u7684\u57f7\u884c\u6642\u9593+\u672a\u6539\u5584\u90e8\u4efd\u7684\u57f7\u884c\u6642\u9593)<br>&nbsp; =1\/(\u6539\u5584\u90e8\u5206\u4f54\u7684\u57f7\u884c\u6642\u9593\u6bd4\u4f8b+\u672a\u6539\u5584\u90e8\u5206\u4f54\u7684\u57f7\u884c\u6642\u9593\u6bd4\u4f8b)<br>ex1:program\u57f7\u884c\u6642\u9593100sec\uff0c20%\u7528\u5728multiplication\uff0c50%\u7528\u5728memory access\uff0c30%\u7528\u5728other task<br>\u5047\u8a2d\u65b9\u68481\u662f\u8b93multiplication\u6bd4\u4e4b\u524d\u5feb4\u500d\uff0c\u5247speedup=100sec\/((20sec\/4)+50sec+30sec)=1\/((0.2\/4)+0.5+0.3)=1.18<br>\u5047\u8a2d\u65b9\u68482\u662f\u8b93memory access\u6bd4\u4e4b\u524d\u5feb2\u500d\uff0c\u5247speedup=1\/((0.5\/2)+0.2+0.3)=1.33<br>\u5047\u8a2d\u65b9\u68481\u548c\u65b9\u68482\u4e00\u8d77\u505a\uff0c\u5247speedup=1\/((0.5\/2)+(0.2\/4)+0.3)=1.67<br>ex2:pc1\u7684divides\u4f5410%\u57f7\u884c\u6642\u9593\uff0c\u800cpc2\u5c07divides\u6539\u826f\u5f8c\u5feb2\u500d<br>\u5247pc2\u7684speedup=1\/((0.1\/2)+0.9)=1.05<br>ex3:pc1\u768485%\u6548\u80fd\u662f\u8a18\u61b6\u9ad4\u8ca0\u8cac,15%\u662f\u5176\u4ed6\u8ca0\u8cac,\u82e5\u4f7f\u7528\u65b0\u6280\u8853\u8b93\u8a18\u61b6\u9ad4\u5feb10\u500d<br>\u5247speedup=10T\/((8.5T\/10)+1.5T)=4.25<br>\u516c\u5f0f\uff1aspeedup\u63d0\u5347\u4e0a\u9650=1\/\u672a\u6539\u5584\u90e8\u4efd\u7684\u57f7\u884c\u6642\u9593<br>ex:\u6539\u5584\u90e8\u4efd\u4f54\u7684\u57f7\u884c\u6642\u9593\u6bd4\u4f8b=R<br>\u5247\u672a\u6539\u5584\u90e8\u4efd\u4f54\u7684\u57f7\u884c\u6642\u9593\u6bd4\u4f8b=1-R<br>\u800c\u4e14speedup\u4e0a\u9650=1\/(1-R)<\/p>\n\n\n\n<p><strong>moore&#8217;s law(\u6469\u723e\u5b9a\u5f8b)<\/strong><br>\u5c0d\u5fae\u8655\u7406\u5668\u6216memory chip(\u8a18\u61b6\u9ad4\u6676\u7247)\u800c\u8a00\uff0c\u6bcf\u9694\u5927\u7d04\u5341\u516b\u500b\u6708\u7684\u9031\u671f\uff0c\u65b0\u7684\u534a\u5c0e\u9ad4\u88fd\u9020\u6280\u8853\uff0c\u5c31\u80fd\u5920\u8b93\u6676\u7247\u5167\u90e8\u7684\u96fb\u6676\u9ad4\u500b\u6578\u589e\u52a0\u4e00\u500d\uff0c\u8a08\u7b97\u901f\u5ea6\u4e5f\u76f8\u5c0d\u63d0\u6607<br>\u7528\u9014\uff1a\u6b63\u8996\u5176\u9032\u6b65\u901f\u5ea6\uff0c\u907f\u514d\u958b\u767c\u6548\u80fd\u66f4\u5feb\u7684\u6280\u8853\u8017\u6642\u592a\u9577\uff0c\u5c0e\u81f4\u6700\u5f8c\u5b8c\u6210\u7684\u6280\u8853\u6548\u80fd\u7121\u6cd5\u6bd4\u7576\u6642\u7684\u6280\u8853\u66f4\u4f54\u6709\u512a\u52e2<br>ps:1965\u5e74\u7531gordon moore(\u9ad8\u767b \u6469\u723e)\u63d0\u51fa\u7684\u534a\u5c0e\u9ad4\u88fd\u9020\u6280\u8853\u7684\u767c\u5c55\u8da8\u52e2<\/p>\n\n\n\n<p>ps:<br><strong>\u901f\u5ea6\u6642\u9593\u55ae\u4f4d<\/strong><br>ms(millisecond\u6beb\u79d2)=10^-3sec=1\/1000sec<br>us(microsecond\u5fae\u79d2)=10^-6sec=1\/1000,000sec<br>ns(nanosecond\u5948\u79d2)=10^-9sec=1\/1000,000,000sec<br>ps(picosecond\u5fae\u5fae\u79d2)=10^-12sec=1\/1000,000,000,000sec<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u96fb\u5b50\u8a08\u7b97\u6a5f\u662f\u4e00\u7a2e\u5b8c\u5168\u6a21\u4eff\u4eba\u985e\u7684\u8cc7\u6599\u8655\u7406\u7a0b\u5e8f\u7684\u8a08\u7b97\u5de5\u5177\u7531\u65bc\u5b8c\u6210 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[23],"tags":[],"class_list":["post-746","post","type-post","status-publish","format-standard","hentry","category-computerarchitecture"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts\/746","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/comments?post=746"}],"version-history":[{"count":0,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/posts\/746\/revisions"}],"wp:attachment":[{"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/media?parent=746"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/categories?post=746"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/systw.net\/note\/wp-json\/wp\/v2\/tags?post=746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}