Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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¿ÉÒÔ¸ñʽ»¯³öÒ»ÌõÖжÏÏûÏ¢£¬·¢Ë͸øÄ³¸ö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Äں˽ṹÌå

 -------------------------------------------------------------------------------------------------------
//By:yuyongbao
//QQ:673360056
LINUX Äں˽ṹÌå
struct attribute
{
    const char    * name;
    struct module     &nb ......

ÔÚlinuxÏÂʹÓÃgtkµÄgdk

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ÖÐÖ¸¶¨ ......

LinuxÄÚºËѧϰ±Ê¼ÇÖ®Íø¿¨Çý¶¯µÄÏêϸ·ÖÎö

ѧϰӦ¸ÃÊÇÒ»¸öÏȰÑÎÊÌâ¼òµ¥»¯£¬ÔÚ°ÑÎÊÌ⸴ÔÓ»¯µÄ¹ý³Ì¡£Ò»¿ªÊ¼¾Í×ÅÊÖ´¦Àí¸´ÔÓµÄÎÊÌ⣬ÄÑÃâÈà ÈËÓÐÐľªµ¨²ü£¬×½½ó¼ûÖâµÄ¸Ð¾õ¡£¶ÁLinuxÍø¿¨Çý¶¯Ò²ÊÇÒ»Ñù¡£Ädz¤³¤µÄÔ´Âë¼ÐÔÓ×ÅÄÇЩÎÒÃÇİÉúµÄ±äÁ¿ºÍ·ûºÅ£¬Íû¶øÉúη±ãÊÇÀíËùµ±È»µÄÁË¡£²»Òªµ£ÐÄ£¬ÊÂÇé ×ÜÓнâ¾öµÄ°ì·¨£¬ÏȰÑһЩÎÒÃǹܲ»×ŵĴúÂëÇиî³öÈ¥£¬ÁôϱØÐëµÄ²¿·Ö£¬°Ñ¿ò¼ÜÕ ......

Linux: S3C2410µÄRTCÇý¶¯

----------------------------------------------------------------------------------------------------------------------------------------
/**/
/*
********************************************************************************************************
*  @Description:s3c2410µÄrtcÇý¶¯µÄʵ ......

¿í×Ö·ûÖ§³Ö£¨linux£¬MinGW£¬Qt£©


1¡£ÒªÊ¹Óÿí×Ö·ûÖ§³Ö£¬Ê¹ÓÃw¿ªÍ·µÄһϵÁж«Î÷£¬Èçwstring£¬wofstreamµÈ¡£ÔÚʹÓÃwstringµÄʱºò£¬³£Á¿×Ö·û´®Ç°ÃæÒª¼ÓÉÏL£¬ÕâÑù²ÅÄÜת»»³Éwchar_tÐ͵Ä
else if(fileName.substr(fileName.rfind(L"."))==L".prj")
2¡£Ò»¸öÎļþÁ÷£¨ÎÞÂÛÊÇofstream»¹ÊÇwofstream£©£¬Ö»Ö§³Öconst char*×÷ΪÎļþÃû£¬¶ÔÓÚ¿í×Ö·ûµÄwstringµÄÎļþÃû ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ