Interrupt in Linux£¨Ó²¼þƪ£©—— APIC
1.2ÏÖ´úµÄAPIC
APICËäºÅ³ÆÏÖ´ú£¬µ«Ò²³öÏÖ10¼¸ÄêÁË£¬PC»úÊг¡×ÜÊǺÜÍí²ÅÄܽӴ¥µ½Ðµļ¼Êõ£¬Ç°Ãæ˵ÁË£¬ÎÒµÄT42ÓõĻ¹ÊÇPICÄØ¡£APICÏà½ÏÓÚPICÀ´Ëµ£¬×î´óµÄÓŵãÊÇÄÜÊÊÓÃÓÚMPƽ̨£¬µ±È»£¬¹Ü½Å¶àÊÇËüÁíÒ»¸öÓŵ㡣APICÓÉÁ½²¿·Ö×é³É£¬Ò»¸ö³ÆΪLAPIC£¨Local APIC£¬±¾µØ¸ß¼¶ÖжϿØÖÆÆ÷£©£¬Ò»¸ö³ÆΪIOAPIC£¨I/O APCI£¬I/O¸ß¼¶ÖжϿØÖÆÆ÷£©¡£Ç°ÕßλÓÚCPUÖУ¬ÔÚMPƽ̨£¬Ã¿¸öCPU¶¼ÓÐÒ»¸ö×Ô¼ºµÄLAPIC¡£ºóÕßͨ³£Î»ÓÚÄÏÇÅÉÏ£¬ÏñPICÒ»Ñù£¬Á¬½Ó¸÷¸ö²úÉúÖжϵÄÉ豸¡£ÔÚÒ»¸öµäÐ͵ľßÓжà¸ö´¦ÀíÆ÷µÄPCƽ̨£¬Í¨³£ÓÐÒ»¸öIOAPICºÍ¶à¸öLAPIC£¬ËüÃÇÏ໥ÅäºÏ£¬ÐγÉÒ»¸öÖжϵķַ¢ÍøÂ磬ͼ1-3ÏÔʾÁËÕâ¸öµäÐ͵ÄÇé¿ö£º
ͼ1-3 APICģʽ£¨Õª×Ô¡¶ÉîÈëÀí½âLinuxÄںˡ·£©
ͼÖеÄÖжϿØÖÆÆ÷ͨÐÅ×ÜÏߣ¬ÊÇIOAPICºÍLAPICͨÐŵÄÇÅÁº£¬ÔÚIntelµÄP6¼Ü¹¹ºÍPentiumϵÁÐCPUÖУ¬ËüÊÇÒ»Ìõµ¥¶ÀµÄAPIC×ÜÏß¡£Ê±´úÔÚ½ø²½£¬Pentium4ºÍXeonϵÁÐCPU³öÏÖºó£¬APIC BusÒѾ²»´æÔÚ£¬ÏµÍ³µÄÇ°¶Ë×ÜÏß´úÌæÁËËü¡£
1.2.1 IOAPIC
»°·ÖÁ½Í·£¬ÈÃÎÒÃÇÏÈÀ´¿´¿´IOAPIC¡£ºÍPIC¶Ô±È£¬IOAPIC×î´óµÄ×÷ÓÃÔÚÓÚÖжϷַ¢¡£¸ù¾ÝÆäÄÚ²¿µÄPRT£¨Programmable Redirection Table£©±í£¬IOAPIC¿ÉÒÔ¸ñʽ»¯³öÒ»ÌõÖжÏÏûÏ¢£¬·¢Ë͸øij¸öCPUµÄLAPIC£¬ÓÉLAPIC֪ͨCPU½øÐд¦Àí¡£Ä¿Ç°µäÐ͵ÄIOAPIC¾ßÓÐ24¸öÖжϹܽţ¬Ã¿¸ö¹Ü½Å¶ÔÓ¦Ò»¸öRTE£¨Redirection Table Entry£¬PRT±íÏ¡£ÓëPIC²»Í¬µÄÊÇ£¬IOAPICµÄ¹Ü½ÅûÓÐÓÅÏȼ¶£¬Ò²¾ÍÊÇ˵£¬Á¬½ÓÔڹܽÅÉϵÄÉ豸ÊÇƽµÈµÄ¡£µ«Õâ²¢²»Òâζ×ÅAPICϵͳÖÐûÓÐÓ²¼þÓÅÏȼ¶¡£É豸µÄÖжÏÓÅÏȼ¶ÓÉËü¶ÔÓ¦µÄvector¾ö¶¨£¬APIC½«ÓÅÏȼ¶¿ØÖƵŦÄܷŵ½ÁËLAPICÖУ¬ÎÒÃÇÔÚºóÃæ»á¿´µ½¡£
Òª¸ãÇå³þIOAPICÊÇÔõô¹¤×÷µÄ£¬PRT±íÊǹؼü£¬Ï±íÁгöÁËRTEµÄ¸ñʽ£º
Bit
ÃèÊö
63:56
Destination Field£¬Ä¿µÄ×ֶΣ¬R/W£¨¿É¶Áд£©¡£¸ù¾ÝDestination Filed£¨¼ûÏ£©ÖµµÄ²»Í¬£¬¸Ã×Ö¶ÎÖµµÄÒâÒ岻ͬ£¬ËüÓÐÁ½¸öÒâÒ壺
Physical Mode£¨Destination ModeΪ0ʱ£©£º ÆäֵΪAPIC ID£¬ÓÃÓÚ±êʶһ¸öΨһµÄAPIC¡£
Logical Mode£¨Destination ModeΪ1ʱ£©£ºÆäÖµ¸ù¾ÝLAPICµÄ²»Í¬ÅäÖ㬴ú±íÒ»×éCPU£¨¾ßÌå¼ûLAPICÏà¹ØÄÚÈÝ£©
55:17
Reserved£¬Ô¤ÁôδÓá£
16
Interrupt Mask£¬ÖжÏÆÁ±Î룬R/W¡£ÖÃһʱ£¬¶ÔÓ¦µÄÖжϹܽű»ÆÁ±Î£¬Õâʱ²úÉúµÄÖжϽ«±»ºöÂÔ¡£ÇåÁãʱ£¬¶ÔÓ¦¹Ü½Å²úÉúµÄÖжϱ»·¢ËÍÖÁLAPIC¡£
15
Trigger Mode£¬´¥·¢Ä£Ê½£¬R/W¡£Ö¸Ã÷¸Ã¹Ü½ÅµÄµÄÖжÏÓÉʲô·½Ê½´¥·¢¡£
1£ºLevel£¬µçƽ´¥·¢
2£ºEdge£¬±ßÑØ´¥·¢
14
Remote IRR£¬Ô¶³ÌIRR£¬RO£¨Ö»¶Á£©
Ïà¹ØÎĵµ£º
ÔÚ³¬¼¶Óû§ÏÂÏÔʾLinuxϵͳÖÐÕýÔÚÔËÐеÄÈ«²¿½ø³Ì£¬Ó¦Ê¹ÓõÄÃüÁî¼°²ÎÊýÊÇ ps -aux ¡£
Linux psÃüÁîÏê½â£º
1)ps a ÏÔʾÏÖÐÐÖն˻úϵÄËùÓгÌÐò,°üÀ¨ÆäËûÓû§µÄ³ÌÐò.
2)ps -A ÏÔʾËùÓгÌÐò.
3)ps c Áгö³ÌÐòʱ,ÏÔʾÿ¸ö³ÌÐòÕæÕýµÄÖ¸ÁîÃû³Æ,¶ø²»°üº¬Â·¾¶,²ÎÊý»ò³ ......
aishen944-163.com
תÌùÇë×¢Ã÷³ö´¦£¬Ð»Ð»£¡£¡
Æäʵ͸Ã÷ÌùͼµÄÔÀí¾ÍÊǽøÐÐxorÔËË㣬
»ù±¾¹«Ê½£ºA xor A = 0 A xor 0 = A A xor A xor B = B
¼ÙÈçÏÖÔÚÓÐÁ½ÕÅͼƬ£¬Ò»ÕÅÊÇÎÒÃÇÒª¶ÔÆä½øÐÐÌùͼµÄͼƬA£¬ ÁíÍâÒ»ÕÅÊÇÒª±»ÌùͼµÄͼƬB
1£¬ ¸´ÖÆͼƬBµÄÒ»·Ý¿½±´ÎªC
2£¬ ½«CÖÐÖ¸¶¨ ......
1¡£ÒªÊ¹Óÿí×Ö·ûÖ§³Ö£¬Ê¹ÓÃw¿ªÍ·µÄһϵÁж«Î÷£¬Èçwstring£¬wofstreamµÈ¡£ÔÚʹÓÃwstringµÄʱºò£¬³£Á¿×Ö·û´®Ç°ÃæÒª¼ÓÉÏL£¬ÕâÑù²ÅÄÜת»»³Éwchar_tÐ͵Ä
else if(fileName.substr(fileName.rfind(L"."))==L".prj")
2¡£Ò»¸öÎļþÁ÷£¨ÎÞÂÛÊÇofstream»¹ÊÇwofstream£©£¬Ö»Ö§³Öconst char*×÷ΪÎļþÃû£¬¶ÔÓÚ¿í×Ö·ûµÄwstringµÄÎļþÃû ......