â¤Ã§ÊÃéÒ§¢Í§
CPU Z-80 ÁÕâ¤Ã§ÊÃéÒ§·Õè¾Ñ²¹ÒÁÒ¨Ò¡ 8080 ´Ñ§¹Ñé¹ã¹á§èâ¤Ã§ÊÃéÒ§¾×é¹°Ò¹¨Ð àËÁ×͹¡Ñº
CPU 8080 áµèà¹×èͧ¨Ò¡ Z-80 ÁÕ¡ÒþѲ¹ÒÁÒ¡¢Öé¹·Ò§«Í¿·ìáÇÃì áÅÐ ÎÒÃì´áÇÃì
¨Ö§·ÓãËéÁÕÃÒÂÅÐàÍÕ´ᵡµèÒ§à¾ÔèÁàµÔÁÍÕ¡ËÅÒ»ÃСÒôéÇ¡ѹ
ÃÙ»áÊ´§
block diagram ¢Í§ CPU Z-80
â¤Ã§ÊÃéÒ§ÀÒÂ㹢ͧ
Z-80 CPU »ÃСͺ´éÇ ÃÕ¨ÔÊàµÍÃìÀÒÂã¹·ÕèÊÒÁÒö à¢Õ¹áÅÐÍèÒ¹ä´é¶Ö§ 208 ºÔ·
â´Âá¡à»ç¹¡ÅØèÁ¢Í§ÃÕ¨ÔÊàµÍÃ좹Ҵ 8 ºÔ· 18 ÃÕ¨ÔÊàµÍÃìáÅÐÃÕ¨ÔÊàµÍÃ좹Ҵ 16
ºÔ· ÍÕ¡ 4 ÃÕ¨ÔÊàµÍÃì
ÃÙ»ÀÒ¾áÊ´§ÃÕ¨ÔÊàµÍÃìÀÒÂã¹·Ñé§ËÁ´¢Í§
CPU Z-80
ÃÕ¨ÔÊàµÍÃìËÅÑ¡·Õèãªé§Ò¹·ÑèÇä»
ÃÕ¨ÔÊàµÍÃì㹡ÅØèÁáá
¤×Í A,F,B,C,D,E,H,L à»ç¹ÃÕ¨ÔÊàµÍÃ좹Ҵ 8ºÔ· ·Õèãªé§Ò¹·ÑèÇä»â´Â ÃÕ¨ÔÊàµÍÃì
àËÅèÒ¹ÕéÊÒÁÒö»ÃСͺÃÇÁ¡Ñ¹à»ç¹¤ÙèÃÕ¨ÔÊàµÍÃìä´é ¤×Í AF,BC,DE áÅÐ HLâ´Â¤Ùè
ÃÕ¨ÔÊàµÍÃìàËÅèÒ¹Õéä´éÃѺ¡ÒÃãªé§Ò¹ã¹ÅѡɳТͧÃÕ¨ÔÊàµÍÃì ¢¹Ò´ 16 ºÔ· ¡ÒáÃзÓÀÒÂã¹
CPU ÍÒ¨¨ÐÍÒÈÑÂà¾Õ§ÃÕ¨ÔÊàµÍÃìà´ÕÂÇËÃ×Í¡ÃзÓà»ç¹¤ÙèÃÕ¨ÔÊàµÍÃìä´é â´Â·Õè
A ¤×Í Accumulator , F ¤×Í flag , flag¢Í§ Z-80 ¨ÐÁÕ´éÇ¡ѹ·Ñé§ËÁ´ 6 µÑÇ
¨Ö§ãªéà¾Õ§ 6 ºÔ· áµè Z-80 ÍÒÈÑ¡ÒÃà¾ÔèÁºÔ·¢Öé¹ÍÕ¡ 2 ºÔ· áÅСÅÒ à»ç¹ÃÕ¨ÔÊàµÍÃì
F ÃÕ¨ÔÊàµÍÃì F ¹Õé ä´éÃѺ¡Òà set , reset ¡ÒáÃзӵÒÁ¤ÓÊÑ觷ҧ ¤³ÔµÈÒʵÃì
ËÃ×Í Åͨԡä´éáÅÐàÃÒÊÒÁÒöãªé F àËÁ×͹ÃÕ¨ÔÊàµÍÃì˹Öè§ «Öè§àÁ×èÍÃÇÁ¡Ñº A
áÅéÇ ¨Ð¡ÅÒÂà»ç¹ÃÕ¨ÔÊàµÍÃ좹Ҵ 16ºÔ·ä´é
ÃÙ»ÀÒ¾áÊ´§¡ÅØèÁÃÕ¨ÔÊàµÍÃìËÅÑ¡ãªé§Ò¹·ÑèÇä»
¡ÅØèÁÃÕ¨ÔÊàµÍÃìÊÓÃͧ
à»ç¹¡ÅØèÁÃÕ¨ÔÊàµÍÃì·ÕèÊÒÁÒöà¡çº¢éÍÁÙÅä´é
â´Âà»ç¹µÑÇà¡çº¢éÍÁÙÅ·ÕèÁÒ¨Ò¡ÃÕ¨ÔÊàµÍÃìËÅÑ¡ ÃÕ¨ÔÊàµÍÃì ªØ´¹Õé¨Ö§ÁÕ´éÇ¡ѹ
8 µÑÇ ¤×Í A', F', B', C', D', E', H' ,L' ÃÕ¨ÔÊàµÍÃìàËÅèÒ¹Õéà»ç¹ÃÕ¨ÔÊàµÍÃì·Õèãªé㹡ÒÃ
à¡çº¢éÍÁÙŪÑèǤÃÒÇ ã¹¡Ò÷Õèµéͧ¡ÒÃãªéÃÕ¨ÔÊàµÍÃìËÅÑ¡·Ó§Ò¹ÍÂèÒ§Í×蹡è͹ ´Ñ§¹Ñé¹ÃÕ¨ÔÊàµÍÃì¡ÅØèÁ
¹Õé¨Ö§äÁèÊÒÁÒö¡Ãзӷҧ¤³ÔµÈÒʵÃìáÅÐÅͨԡä´é
ÃÙ»ÀÒ¾áÊ´¡ÅØèÁÃÕ¨ÔÊàµÍÃìÊÓÃͧ
¡ÅØèÁÃÕ¨ÔÊàµÍÃì·Õèãªé§Ò¹à©¾ÒÐÍÂèÒ§
â»Ãá¡ÃÁà¤Ò¹ìàµÍÃì
(PC - Program counter) â»Ãá¡ÃÁà¤Ò¹ìàµÍÃìà»ç¹ÃÕ¨ÔÊàµÍÃ좹Ҵ
16ºÔ· ·Õèà»ç¹µÑÇ¡Ó˹´µÓá˹觢ͧâ»Ãá¡ÃÁã¹¢³ÐÊÀÒÇСÒáÃзӡÒÃà¿·ªìâ´Â¢³Ð·Ó
¡ÒÃà¿·ªì¤èÒ·ÕèÍÂÙèã¹
â»Ãá¡ÃÁà¤Ò¹ìàµÍÃì¨Ðä»»ÃÒ¡®ÍÂÙè·ÕèáÍ´à´ÃʺÑÊà¾×èͪÕéä»ÂѧµÓá˹è§ã¹Ë¹èǤÇÒÁ¨Ó
ãËé CPU ÍèÒ¹¤ÓÊÑè§ÁÒµÕ¤ÇÒÁËÁÒ¤èÒ·ÕèÍÂÙèã¹â»Ãá¡ÃÁà¤Ò¹ìàµÍÃì¨Ðà¾ÔèÁ¤èÒ¢Öé¹ä´éÍÂèÒ§Íѵâ¹ÁѵÔ
ËÅѧ¡ÒáÃзӡÒÃà¿·ªì áµè¶éÒËÒ¡ CPU ¡ÃзӤÓÊÑè§ãËé¢éÒÁä» ÂѧµÓá˹è§Í×è¹
(Jump) ¤èÒáÍ´à´ÃÊ ·Õè¨Ð¡ÃÐâ´´¢éÒÁ¹Ñ鹨ÐâËÅ´à¢éÒÁÒÂѧâ»Ãá¡ÃÁà¤Ò¹ìàµÍÃìä´éÍÂèÒ§Íѵâ¹ÁѵÔ
Êᵤ¾Í·ìàµÍÃì
(SP - Stack pointer) à»ç¹ÃÕ¨ÔÊàµÍÃì·ÕèÁÕ¢¹Ò´
16 ºÔ··ÕèãªéÊÓËÃѺªÕéä»ÂѧáÍ´à´ÃʪÑ鹺¹ÊØ´¢Í§Êᵤ·ÕèÍÂÙèã¹ RAM â´ÂÊèǹ¢Í§ÊᵤÁÕÅѡɳÐâ¤Ã§ÊÃéÒ§
à»ç¹Ë¹èǤÇÒÁ¨Ó à»ç¹áººà¡çº·ÕËÅѧàÃÕ¡ÍÍ¡¡è͹ (last in first out) ¢éÍÁÙÅã¹Êᵤ
ÍÒ¨ä´éÃѺ¡Òà push ËÃ×Í pop ÁÒ¨Ò¡ ÃÕ¨ÔÊàµÍÃìÀÒÂã¹CPU ÅѡɳТͧÊᵤ㹷Õè¹ÕéÂѧà»ç¹
ÊèǹªèÇÂ㹡ÒáÃÐ·Ó interrupt áÅСÒÃàÃÕ¡ â»Ãá¡ÃÁÂèÍ ¡ÅèÒǤ×Í ã¹¡Òà interrupt
¤èҢͧâ»Ãá¡ÃÁà¤Ò¹ìàµÍÃì¨Ðä´éÃѺ¡ÒÃÃÑ¡ÉÒäÇé㹪Ñé¹Êᵤ¤ÃÑé¹àÁ×èÍâ»Ãá¡ÃÁ¡ÅѺ¨Ò¡
interrupt 仡ÃзÓÂѧâ»Ãá¡ÃÁËÅÑ¡¡ç¨Ð¹Ó¤èÒ¨Ò¡Êᵤ¡ÅѺà¢éÒÁÒÂѧâ»Ãá¡ÃÁà¤Ò¹ìàµÍÃì
ãËÁè 㹷ӹͧà´ÕÂǡѹ ¡ÒáÃÐⴴ仡ÃзÓÂѧâ»Ãá¡ÃÁÂèÍ¡çàªè¹à´ÕÂǡѹ ´Ñ§¹Ñé¹
¡ÒáÃзÓã¹ÃÙ»¢Í§ interrupt ¢Í§ â»Ãá¡ÃÁÂèÍÂÊÒÁÒö «é͹¡Ñ¹ä´éäÁèÁÕÊÔé¹ÊØ´
ÍԹതÃÕ¨ÔÊàµÍÃì
(IX,IY - index register) CPU Z-80 ÁÕÍԹതÃÕ¨ÔÊàµÍÃ좹ҹ
16 ºÔ· 2 µÑÇ áµèÅеÑÇãªé»ÃÐ⪹ìËÅÑ¡ã¹ ¡Òà ·Ó˹éÒ·Õèà»ç¹µÑÇà¡çºáÍ´à´ÃÊ°Ò¹
(base address) à¾×èÍ ·Ó˹éÒ·ÕèÍéÒ§áÍ´à´ÃÊẺÍԹതáÍ´à´ÃÊ«Ôè§ (index addressing)ã¹âËÁ´¢Í§ÍԹതáÍ´à´ÃÊ
«Öè§ÁÕ¢éÍÁÙÅ·Õè ÍÂÙèã¹ÍԹതÃÕ¨ÔÊàµÍÃì¹Õé¨ÐÃÇÁ¡Ñº¢éÍÁÙÅ·ÕèµÔ´ÁҡѺ¤ÓÊÑè§ÍÕ¡
8 ºÔ· à¾×èÍà»ç¹µÑÇ¡Ó˹´áÍ´à´ÃÊãËé¡Ñº ¤ÓÊÑ觢éÍÁÙÅ·ÕèµÔ´ÁҡѺ¤ÓÊÑ觹ÕéàÃÒàÃÕ¡ÇèÒ
displacement «Ö觨Ðà¡çºã¹ÃÙ»¢Í§µÑÇàÅ¢ 2's complement
ÍÔ¹àµÍÃÃìÃѾ·ìྨáÍ´à´ÃÊÃÕ¨ÔÊàµÍÃì
(I-Interrupt page address register) ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
¢Í§ Z-80 ÁÕ ËÅÒÂâËÁ´áÅÐâËÁ´Ë¹Ö觷Õè·ÓãËé¡ÒÃÍÔ¹àµÍÃìÃѾ·ì¢Í§ Z-80ÁÕ»ÃÐÊÔ·¸ÔÀÒ¾
ÊÙ§ ¡ÅèÒǤ×Í àÁ×èÍà¡Ô´¡ÒÃÍÔ¹àµÍÃìÃѾ·ìã¹âËÁ´¹Õé¢Öé¹ ÁѹÊÒÁÒöÍéÒ§áÍ´à´ÃÊâ´Â·Ò§ÍéÍÁ
仡ÃзÓâ»Ãá¡ÃÁã¹ ·Õèã´¡çä´éã¹Ë¹èǤÇÒÁ¨Ó â´ÂÍÒÈѤèÒã¹ÃÕ¨ÔÊàµÍÃì ÃÇÁ¡Ñº¤èÒ·ÕèÊè§ÁÒ¨Ò¡ÍØ»¡Ã³ìà¾ÍÃÔà¿ÍÃÑÅÍÕ¡
8 ºÔ· ªÕéä»Âѧ¤èÒã¹Ë¹èǤÇÒÁ¨Óà¾×è͹ӤèÒ¹Ñé¹ÁÒâËÅ´à¢éÒã¹ â»Ãá¡ÃÁà¤ÒǹìàµÍÃìà¾×èÍ¡ÃзӵèÍä»
´éÇÂÇÔ¸Õ¡ÒùÕéàÃÒ¨Ö§ÊÒÁÒö¡ÃÐâ´´à¢éÒä»·Ó·ÕèÊèǹ㴡çä´éã¹Ë¹èǤÇÒÁ¨Ó
ÃÕ¨ÔÊàµÍÃìÃÕà¿ÃªË¹èǤÇÒÁ¨Ó
(R-memory reflesh register) ¡ÒõèÍ «Õ¾ÕÂ١Ѻ˹èǤÇÒÁ¨Ó¹Ñé¹
â´Â »¡µÔ¨Ðµè͡Ѻ˹èǤÇÒÁ¨Óª¹Ô´ static ä´éâ´Â§èÒ áµèª¹Ô´ dynamic ·Õèµéͧ¡ÒÃÃÕà¿Ãª
ÁÕÃÒ¤Ò¶Ù¡¡ÇèÒÁÕ¤ÇÒÁ˹Òá¹è¹ÊÙ§¡ÇèÒ Z-80 ãËé¢éÍ´Õ¡ÇèÒ»ÃСÒÃ˹Ö觤×ÍÁѹÊÒÁÒöãËé¡ÒÃ
ÃÕà¿ÃªË¹èǤÇÒÁ¨Óä´é ÍÂèÒ§Íѵâ¹ÁÑµÔ â´Â¤èÒã¹ R ÃÕ¨ÔÊàµÍÃì¨Ðà¾ÔèÁ¤èÒ¢Öé¹ÍÕ¡
1 ·Ø¡¤ÃÑ駷ÕèÁÕ¡ÒáÃзӡÒà fetch ¤ÓÊÑè§ áÅÐ ¢éÍÁÙÅã¹ÃÕ¨ÔÊàµÍÃì R ¹Õé ¨Ð¶Ù¡Êè§ÍÍ¡ä»ÂѧáÍ´à´ÃʺÑÊ
ã¹ÊèǹºÔ··ÕèÁÕ¹ÑÂÊӤѵèÓ¡ÇèҨѧËÇТͧ¡ÒÃÊ觹Õé¨Ðà»ç¹¨Ñ§ËÇÐà´ÕÂǡѹ¡Ñº·Õè«Õ¾ÕÂÙ
Êè§ÊÑÒ³ ÃÕà¿ÃªÍÍ¡ÁÒ ¼Ùéâ»Ãá¡ÃÁÊÒÁÒö¡Ó˹´¤èÒãËé¡Ñº ÃÕ¨ÔÊàµÍÃì R ¹Õéä´éáµè¤èÒã¹ÃÕ¨ÔÊàµÍÃì
¹Õé¨ÐàÃÕ¡ãªéâ´Â¼Ùéâ»Ãá¡ÃÁ·Ò§¤ÓÊÑè§â´ÂµÃ§äÁèä´é
áͤ¤ÔÇÁÙàÅàµÍÃì
(accumulator) áÅÐá¿Å¡ (flag) «Õ¾ÕÂÙ¨ÐÁÕÃÕ¨ÔÊàµÍÃì·Õèãªéà»ç¹ËÅѡ㹡ÒÃ
à»ç¹µÑÇ operand ÊÓËÃѺ¡Ãзӷҧ¤³ÔµÈÒʵÃìáÅÐÅͨԡ â´ÂÃÕ¨ÔÊàµÍÃìËÅÑ¡¹Õé¨ÐÁÕà¾Õ§
8 ºÔ· àÃÕ¡ÇèÒ "áͤ¤ÔÇÁÙàÅàµÍÃì (accumulator)" ¡ÒáÃзÓã¹Êèǹ¢Í§Ë¹èǤ³ÔµÈÒʵÃì
áÅÐÅͨԡÂèÍÁà¡Ô´à§×è͹ä¢ä´éËÅÒÂÍÂèÒ§·Õè¨ÐµéͧáÊ´§Ê¶Ò¹ÐÀÒ¾¢Í§à§×è͹ä¢
àËÅèÒ¹Ñé¹
àªè¹ à§×è͹䢼ÅÅѾ¸ìà»ç¹ÈÙ¹Âì¼ÅÅѾ¸ìà»ç¹ºÇ¡ËÃ×ÍźÁÕµÑÇ·´ËÃ×͵ÑÇ¢ÍÂ×Á㹡ÒáÃзÓ
·Ò§¤³ÔµÈÒʵÃì áÊ´§à§×è͹䢾ÒÃÔµÕé¤ÙèËÃ×ͤÕèÊÔè§àËÅèÒ¹Õé¨ÐãËé¼ÅÅѾ¸ìáÊ´§Ê¶Ò¹Ð
ä´é´éÇ á¿Å¡ (flag) á¿Å¡à»ç¹ÃÕ¨ÔÊàµÍ좹Ҵ 8 ºÔ·
«Öè§
ÊÒÁÒöÃÇÁ¡Ñºáͤ¤ÔÇÁÙàÅàµÍÃìà»ç¹ ÃÕ¨ÔÊàµÍÃ좹Ҵ 16 ºÔ· ä´é¼Ùéâ»Ãá¡ÃÁÂѧÊÒÁÒöãªé¤ÓÊÑè§ã¹¡ÒÃà¤Å×è͹ÂéÒ¢éÍÁÙŨҡ
áͤ¤ÔÇÁÙàÅàµÍÃì A áÅÐá¿Å¡ Fä»à¡çºäÇéã¹ A' áÅÐ F' ä´é à¾×èÍ·ÓãËé¡ÒÃãªé§Ò¹
¢Í§ A áÅÐ F ÁÕ»ÃÐÊÔ·¸ÔÀÒ¾´ÕÂÔ觢Öé¹
ÃÙ»ÀÒ¾áÊ´§¡ÅØèÁÃÕ¨ÔÊàµÍÃìãªé§Ò¹à©¾ÒÐÍÂèÒ§
˹èǤӹdz·Ò§¤³ÔµÈÒʵÃìáÅÐÅͨԡ
(ALU - arithmetic and logic unit)
¡ÒûÃÐÁÇżŷÕèÊӤѢͧ
CPU¢Í§¤ÍÁ¾ÔÇàµÍÃìÂѧ¢Öé¹ÍÂÙè¡ÑºË¹èǤӹdz·Ò§¤³ÔµÈÒʵÃìáÅÐ Åͨԡ (ALU) Êèǹ
ALU ¹Õé¨Ð¹Ó¢éÍÁÙÅ«Öè§ÍÒ¨¨ÐÁÒ¨Ò¡ÀÒ¹͡ CPU ËÃ×ÍÀÒÂã¹ CPU ¡çä´éÁÒ »ÃÐÁÇżÅ
¡Òà »ÃÐÁÇżÅã¹Êèǹ ALU ·Õè
ÊӤѨлÃСͺ´éÇÂ
¡Òúǡ (add) , ¡ÒÃź (subtract) , Åͨԡ AND , Åͨԡ OR , Åͨԡ EX-OR ,
à»ÃÕºà·Õº (compare) , ¡ÒÃàÅ×è͹ºÔ··Ò§«éÒÂËÃ×Í¢ÇÒ ,¡ÒÃà¾ÔèÁ¤èÒ (increment)
, ¡ÒÃÅ´¤èÒ (decrement) , ¡ÒÃà«ç·ºÔ· (set bit) , ¡ÒÃÃÕà«ç·ºÔ· (reset bit)
, ¡Ò÷´ÊͺºÔ· (test bit)
ÃÙ»ÀÒ¾áÊ´§¡Ò÷ӧҹ¢Í§
ALU ÀÒÂã¹
Z-80 CPU ¨Ð·Ó§Ò¹ã¹Åѡɳо×é¹°Ò¹ ·ÕèÊӤѻÃСͺ´éÇÂ
¡ÒÃà¢Õ¹
- Íèҹ˹èǤÇÒÁ¨Ó
¡ÒÃà¢Õ¹
- ÍèÒ¹ÍØ»¡Ã³ìÍÔ¹¾Ø· - àÍÒ·ì¾Ø·
¡ÒõͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
¡Ò÷ӧҹã¹áµèÅÐä«à¤ÔŢͧ¤ÓÊÑ觻ÃСͺ´éÇÂÊèǹ¡Ò÷ӧҹÊͧ¨Ñ§ËÇзÕèÊÓ¤Ñ
¤×Í ÊÀÒÇÐà¿·ªì (fetch) áÅÐÊÀÒÇÐ execute Êèǹ¢Í§ÊÀÒÇÐ fetch¨Ð»ÃСͺ´éÇÂ
state ÂèÍ æ ËÅÒ state áµèÅÐ state ¨Ð synchronize ¡ÑºÊÑÒ³¹ÒÌÔ¡Ò
-
à¹×èͧ¨Ò¡ã¹áµèÅФÓÊÑ觻ÃСͺ´éÇÂ
machine cycle ËÅÒÂẺ´éÇ¡ѹ áµèmachine cycle ·Õèãªé ·Ñé§ËÁ´ ÊÒÁÒöÊÃØ»ÍÍ¡ÁÒà»ç¹áººÍÂèÒ§ä´éà»ç¹
-
1.
ä«à¤ÔÅ¡Òà fetch (M1)
-
2.
ä«à¤ÔÅ¡ÒÃà¢Õ¹ËÃ×ÍÍèҹ˹èǤÇÒÁ¨Ó
-
3.
ä«à¤ÔÅ¡ÒÃÃѺÊ觢éÍÁÙÅÍÔ¹¾Ø·ËÃ×ÍàÍÒ·ì¾Ø·
-
4.
ä«à¤ÔÅ¡Òõéͧ¡ÒÃãªéºÑÊ ËÃ×Í¡Òõͺʹͧ¡ÒÃãªéºÑÊ
-
5.
ä«à¤ÔÅ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì áÅСÒõͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
-
6.
ä«à¤ÔÅ¡ÒÃÃѺÍÔ¹àµÍÃìÃѾ·ìẺ¹Í¹ÁÒʤìà¤àºÔéÅ (Nonmaskable interrupt)
ä«à¤ÔÅ¡ÒÃà¿·ªìÍ;â¤é´
(OCF - opcode fetch)
ã¹ÊÀÒÇÐ
M1 ¹Õé à»ç¹ÀÒÇÐàÃÔèÁáá¢Í§·Ø¡¤ÓÊÑè§ ã¹ÊÀÒÇÐ M1 ¹Õé¢ÍãËéÊѧࡵ¨Ò¡Ãкº ä´ÍÐá¡ÃÁàÇÅÒ
¨ÐàËç¹ÊÀÒÇСÒ÷ӧҹ¢Í§ CPU ä´é´Õ ¡ÅèÒǤ×ÍàÁ×èÍàÃÔèÁà¢éÒÊÙèÊÀÒÇÐ fetch ¢éÍÁÙŨҡ
program counter ¨Ð¶èÒÂŧä»Âѧ Address bus áÅÐËÅѧ¨Ò¡¤ÃÖè§ cycle¢Í§ÊÑÒ³
¹ÒÌÔ¡Ò CPU ¡ç¨ÐÊè§ÊÑÒ³ /MREQ «Öè§à»ç¹ ÊÑÒ³ºÍ¡ÇèÒ CPU µéͧ¡ÒõԴµè͡Ѻ˹èÇÂ
¤ÇÒÁ¨ÓáÅТ³Ðà´ÕÂǡѹ¡ç Êè§ÊÑÒ³ /RD ºÍ¡Ë¹èÇ ¤ÇÒÁ¨ÓÇèÒµéͧ¡Òà /RDËÃ×ÍÍèÒ¹¢éÍÁÙÅ
ã¹Ë¹èǤÇÒÁ¨ÓµÒÁ Address ·Õèµéͧ¡Òà áÅÐàÁ×èͶ֧¢Òŧ¢Í§ T2 CPU ¨ÐµÃǨÊͺÊÑÒ³
·Õè·Ò§¢Ò /WAIT ÇèÒà»ç¹ "0" ËÃ×ÍäÁè ¶éÒäÁè¡ç¨Ð·Ó§Ò¹µèÍẺ»¡µÔ áµè¶éÒ¢Ò /WAIT
à»ç¹ "0" CPU ¨Ðà¾ÔèÁÊÀÒÇСÒÃÃÍ (WAIT state) à¡Ô´¢Öé¹ ¡ÒÃ
ÍèÒ¹¢éÍÁÙŨҡ˹èǤÇÒÁ¨Óã¹·Õè¹Õé
¶éÒ¹ÓàÍÒ ÊÑÒ³ /MREQ áÅÐ /RD à»ç¹µÑÇÍèÒ¹ ¢éÍÁÙÅ·Õè bus ¢éÍÁÙÅ¡ç¨ÐÁÕ¢éÍÁÙÅ·ÕèÍèÒ¹ä´éã¹¢³Ð·Õè
/MREQ OR /RD à»ç¹ "0" ·Ñ駤Ùè áµè CPU ¨ÐÃѺ¡ÒÃà»Ô´ bus ¹Õéà¢éÒã¹ IR à¾Õ§ªÑèÇ¢³ÐÊÑé¹à·èÒ¹Ñé¹(´ÙÃÙ»)
àÁ×èÍ¢éÍÁÙÅ ¨Ò¡ bus à¢éÒ IR àÃÕºÃéÍÂáÅéÇ ¡ç¨ºÊÀÒÇСÒà fetch ÊÑÒ³·Õè¢Ò
/M1 ¡ç¨Ðà»ç¹ "1" ºÍ¡ÇèÒ fetch àÊÃç¨ áÅéÇ áµèÍÂèÒ§äáçµÒÁ ÊÀÒÇÐ /M1 cycle
ÂѧäÁèËÁ´ áÅÐ CPU ¨ÐÊè§ÊÑÒ³ ·Ó¡Òà refresh ˹èǤÇÒÁ¨Ó ª¹Ô´ä´¹ÒÁÔ¡Êì¹Ñ蹤×Í
ã¹ Address bus ¨ÐÁÕ¢éÍÁÙŢͧ address ·Õè µéͧ¡Òà refresh áÅÐ¢Ò /RFSH ¡ç¨Ð
ºÍ¡ÊÀÒÇÐÇèÒµéͧ¡Òà refresh ¹Ñè¹àͧ
M1
cycle ·ÕèÁÕ WAIT STATES
·Ø¡ æ ¢Òŧ¢Í§
T2 ¨ÐÁÕ¡ÒõÃǨÊͺ·Õè¢Ò /WAIT ÇèÒà»ç¹ "0" ËÃ×ÍäÁèÊÁÁµÔÇèÒà»ç¹ "0" CPU ¨ÐÊÃéÒ§
state ¡Òà /WAIT ÍÕ¡ 1 cycle â´Â·Õè¤èÒÊÑÒ³Í×è¹ æ äÇé´Ñ§à´ÔÁ áÅзء æ ¢Òŧ¢Í§
Tw ¡ç¨ÐµÃǨÊͺ¢Ò /WAIT ÍÕ¡àªè¹¡Ñ¹ ¶éÒ¢Ò
/WAIT
à»ç¹ "0" ¡ç¨ÐÊÃéÒ§ Tw µèÍä»ÍÕ¡áÅÐà»ç¹àªè¹¹Õé àÃ×èͧä»äÁèÊÔé¹ÊØ´ ã¹¢³Ð·Õè
CPU ÊÃéÒ§ÊÑÒ³ Tw ÊÑÒ³¢ÒµèÒ§ æ ¨ÐÂѧ¤§¤èÒà´ÔÁäÇéËÁ´ ÊÑÒ³µèÒ§ æ àËÅèÒ¹Õéä´éá¡è
A0-A15, /MREQ, /RD, /M1 áÅÐ /RFSH ¤ÃÑé¹àÁ×èÍ¢Òŧ¢Í§ Tw
CPU
µÃǨÊͺÊÑÒ³ /WAIT ¾º Åͨԡ "1" Áѹ¨ÐàÃÔèÁ ¡ÒÃÍèÒ¹¢éÍÁÙŨҡ bus ¢éÍÁÙÅáÅеèÍ·éÒÂ
´éÇ T3 áÅÐ T4 µèÍä»
»ÃÐ⪹ì¢Í§¡ÒÃãªé
Tw ¡ç´éÇÂà˵ؼÅ㹡ÒÃÂ×´¤ÇÒÁ¡ÇéÒ§¢ÍÊÑÒ³µèÒ§ æ à¾×èÍ synchronous ËÃ×ÍãËé
·Ó§Ò¹ÃèÇÁ¡ÑºÍØ»¡Ã³ìÀÒ¹͡·Õè¤ÇÒÁàÃçǪéÒä´é àªè¹ ¶éÒµéͧ¡ÒÃÍèҹ˹èǤÇÒÁ¨Ó
·ÕèÁÕ¤ÇÒÁàÃçǵèÓ àÃÒ¨Óà»ç¹ µéͧÂ×´ÊÑÒ³ /RD áÅÐ /MREQ ÍÍ¡à¾×èÍãËéÊè§ä»¤Çº¤ØÁ˹èÇÂ
¤ÇÒÁ¨Óä´é àÃÒ¡çÊÃéÒ§ÊÑÒ³ /WAIT CPU ¹Ñè¹àͧ
ä«à¤ÔÅ¡ÒÃÍèҹ˹èǤÇÒÁ¨Ó
(MR - memory read cycle) áÅÐä«à¤ÔÅ¡ÒÃà¢Õ¹˹èǤÇÒÁ¨Ó (MW - memory write
cycle)
¨Ò¡ÃÙ» áÊ´§ diagram ¢Í§¡ÒÃÍèÒ¹áÅÐà¢Õ¹˹èǤÇÒÁ¨Ó㹡ÒÃÍèÒ¹áÅÐà¢Õ¹˹èǤÇÒÁ¨Ó¹Õé
CPU ¨ÐãªéàÇÅÒ·Ñé§ÊÔé¹ 3 clock cycle ¤×Í T1,T2,T3
㹡ÒÃÍèҹ˹èǤÇÒÁ¨Ó¹Ñé¹ CPU ¨ÐÊè§áÍ´à´ÃÊ·Õèµéͧ¡ÒÃÍèÒ¹à¢éÒÊÙè
address bus A0-A15 ¡è͹ 㹵͹ áá¢Í§ machine cycle ¹ÕéËÅѧ¨Ò¡Ñé¹µèÍÁÒ¡çÊè§ÊÑÒ³
/MREQ áÅÐ /RD ÍÍ¡ÁÒáÅÐ ·Ø¡¤ÃÑ駢ͧ¢Òŧ 㹪èǧ¨Ñ§ËÇÐ T2 CPU
¨ÐµÃǨÊͺ¢Ò /WAIT ÇèÒà»ç¹Åͨԡ
"0" ËÃ×ÍäÁè ¶éÒ äÁèÁÕ CPU ¡ç¨Ð·Ó§Ò¹µÒÁ»¡µÔ áµè¶éÒà»ç¹ "0" ¡ç¨ÐÊÃéÒ§ Tw
à¾ÔèÁ¢Öé¹ ªèǧ¨Ñ§ËÇзÕè address bus áÅÐÊÑÒ³ /MREQ, /RD ä»Âѧ˹èǤÇÒÁ¨Ó¨ÐÁÕ¢éÍÁÙÅÍÍ¡¨Ò¡Ë¹èǤÇÒÁ¨ÓŧÁÒã¹
data bus áÅéÇ áµè CPU ÂѧäÁèÍèÒ¹ ¨Ñ§ËÇСÒÃÍèÒ¹¢Í§ CPU ¨Ðà¡Ô´¢Öé¹ã¹¨Ñ§ËÇТÒŧ¢Í§
T3 ªèǧ¡Òà ÍèÒ¹¢Í§ CPU ¨ÐãªéàÇÅÒÊÑé¹ æ à¾×èÍ»éͧ¡Ñ¹¡ÒÃÍèÒ¹¢éÍÁÙżԴ¾ÅÒ´
¤×Í ¼Ô´µÓá˹è§áÍ´à´ÃÊËÃ×Í ÍèÒ¹ä´éËÅÒÂáÍ´à´ÃʹÑè¹àͧ
㹷ӹͧà´ÕÂǡѹ㹨ѧËÇТͧ /MW
¡çàªè¹¡Ñ¹»ÃСͺ´éÇ T1,T2 áÅÐ T3 (¡Ã³ÕäÁèÁÕ Tw) ã¹·Õè¹Õé CPU ¨ÐÊÃéÒ§ÊÑÒ³
/MREQ ¡Ñº /WR ãËé active ÍÂèÒ§äáçµÒÁ CPU¨ÐÊ觢éÍÁÙÅÍÍ¡ ä»ÃÍäÇé·Õè data
bus ¡è͹ áÅÐÂÒǹҹ¡ÇèÒ
pulse ¡ÒÃà¢Õ¹ (/WR) ¡ÒÃà¢Õ¹¢éÍÁÙÅ
(/WR) ¨Ðãªé àÇÅÒà¾Õ§ÊÑé¹ æ㹨ѧËÇзÕè¢éÍÁÙÅÁÒ ÃÍÍÂÙè·Õè bus àÃÕºÃéÍÂáÅéÇ
㹡óյéͧ¡ÒÃ˹èǧàÇÅÒ¡Ò÷ӧҹã¹
machine cycle àËÅèÒ¹ÕéÊÒÁÒö·Óä´é´éÇ¡ÒÃÊÃéÒ§¢Ò /WAIT ãËéÁÕ ¤èÒà»ç¹ "0"
ã¹¢³Ð¢Òŧ¢Í§ T2 «Öè§ CPU ¨ÐÊÃéÒ§ Tw¢Öé¹µÃÒºà·èÒ·Õè¢Ò /WAIT Âѧ¤§à»ç¹ "0"
ÍÂÙè
ä«à¤ÔÅ¡ÒÃà¢Õ¹àÍÒ·ì¾Ø·áÅÐÍèÒ¹ÍÔ¹¾Ø·(PW-port
write and PR-port read)
㹡ÒÃà¢Õ¹àÍÒ·ì¾Ø·áÅÐÍèÒ¹ÍÔ¹¾Ø·¡ç¤Åé¤ÅÖ§¡Ñº¡ÒÃà¢Õ¹áÅÐÍèҹ˹èǤÇÒÁ¨Ó¹Ñè¹àͧ
â´Â¡ÒÃà»ÅÕè¹ ÊÑÒ³ /MREQ à»ç¹ /IORQ à·èÒ¹Ñé¹ â´Â diagram ¡ÒÃà¢Õ¹àÍÒ·ì¾Ø·áÅÐ
ÍèÒ¹ÍÔ¹¾Ø·áÊ´§´Ñ§ÃÙ»
¢éÍᵡµèÒ§·ÕèàËç¹ä´éªÑ´àÁ×èÍà·Õº¡Ñº¡ÒÃà¢Õ¹áÅÐÍèҹ˹èǤÇÒÁ¨ÓÍÕ¡¢éÍ˹Öè§Êèǹ¢Í§áÍ´à´ÃÊ
¹Ñé¹ ¨ÐáÊ´§àºÍÃì¾ÍÃì·ã¹Êèǹ¢Í§ A0-A7 à·èÒ¹Ñé¹ ã¹¡Ò÷ӧҹẺ»¡µÔ CPU ¨ÐÊÃéÒ§
Tw á·Ã¡à¢éÒÁÒ 1 ÅÙ¡â´ÂÍѵâ¹ÁÑµÔ áÁé¨ÐäÁèÁÕ¡ÒÃ/WAIT ·Ñ駹Õéà¾ÃÒЪèǧ¨Ñ§ËÇÐ
/IORQ ¹Ñé¹ CPU ¨ÐÊÃéҧ㹢³Ð T2 áÅÐCPU¨ÐäÁèÊÒÁÒö µÃǨÊͺ¨Ñ§ËÇÐ /WAIT ã¹¢³Ð¢Òŧ¢Í§
T2 ä´é ¡ÒõÃǨÊͺÇèÒ /WAIT¨Ðà¡Ô´¢Öé¹ ã¹¨Ñ§ËÇТͧ Tw á·¹¹Ñè¹àͧ áÅжéÒËÒ¡ÁÕ¡ÒÃ
/WAIT CPU¡ç¨ÐÊÃéÒ§ÊÑÒ³ Tw µèÍÁÒÍÕ¡
ä«à¤ÔÅ¡ÒâÍãªéºÑÊáÅСÒõͺʹͧ¡ÒÃãËéãªéºÑÊ
(BUS REQUEST and ACKNOWLEDGE CYCLE)
¨Ò¡ÃÙ» à»ç¹ diagram àÇÅҢͧ¡ÒâÍãªéºÑÊáÅСÒõͺʹͧµèÍ¡ÒÃãªéºÑÊ
¡ÒÃãªéºÑʹÑ鹨РãªéÊÑÒ³ ·ÕèÊè§à¢éÒÁҢͷҧ¢Ò /BUSRQ CPU¨Ð·Ó¡ÒõÃǨÊͺ¢Ò
/BUSRQ ã¹¢³Ð ÊÑÒ³¹ÒÌÔ¡Ò¡ÓÅѧ¨Ð à»ÅÕ蹨ҡ "0" ä»à»ç¹ "1" ã¹¢³ÐÊÑÒ³
state ÊØ´·éÒ¢ͧ·Ø¡ æ Mcycle ¶éÒ /BUSRQ áͤµÕ¿ CPU ¨Ð·Ó¡ÒÃà«· address bus
áÅÐ data bus ãËéÍÂÙèã¹Ê¶Ò¹Ð äµÃàʵ·ã¹ÊÑÒ³¹ÒÌÔ¡ÒÅÙ¡µèÍÁÒ áÅÐ CPU ¡ç¨ÐÊè§ÊÑÒ³µÍºÃѺ¡ÒâÍãªéºÑÊ
(/BUSAK) àÁ×èÍ CPU ¤Çº¤ØÁäµÃÊ൷ áÅéÇÍØ»¡Ã³ìÀÒ¹͡¡ç¨ÐãªéºÑÊä´é«Öè§ÍÒ¨¨Ðà»ç¹¡ÃÃÁÇÔ¸Õ¡ÒÃ
DMA(direct memory access) ËÃ×Í ¡ÒõԴµèÍÃÐËÇèÒ§ÍØ»¡Ã³ì I/O ¡ÑºË¹èǤÇÒÁ¨Óâ´ÂµÃ§ä´é
¡Ã³Õàªè¹¹Õé·ÓãËé¡ÒöèÒ¢éÍÁÙÅà»ç¹ä»ä´éàÃçÇ¡ÇèÒ¡ÒÃãªé CPU ¤Çº¤ØÁâ´ÂµÃ§¡ÒöèÒÂà·¢éÍÁÙÅ
㹡óչÕéÁÑ¡ãªéÊÓËÃѺ¡ÒöèÒ¢éÍÁÙÅà»ç¹¨Ó¹Ç¹ÁÒ¡ ¢³ÐÁÕ¡ÒâÍãªéºÑʹÕé CPU
¨ÐµÃǨÊͺ¢Ò /BUSRQ ·Ø¡ æ Ê൷ àªè¹¡Ñ¹ áÅжéÒ /BUSRQ à»ç¹ "1" àÁ×èÍã´ã¹ÊÑÒ³¹ÒÌÔ¡ÒÊ൷µèÍ仡ç¨ÐÊè§
/BUSAK = "1" à¾×èͺ͡àÅÔ¡¡ÒÃãªéºÑÊ áÅÐ ¡ÒäǺ¤ØÁäµÃÊ൷ËÁ´ÊÔé¹ÀÒÃСԨ
ã¹¢³Ð¡ÒÃãªéºÑÊ㹡óչÕé CPU äÁèÊÒÁÒöµÍºÊ¹Í§µèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìä´éäÁèÇèÒ¨Ðà»ç¹¡ÒÃ
ÍÔ¹àµÍÃìÃѾ·ì Ẻ /NMI ËÃ×Í /INT ¡çµÒÁ
ä«à¤ÔÅ¡ÒÃÃѺÊÑÒ³ÍÔ¹àµÍÃìÃѾ·ìáÅСÒõͺʹͧµèÍÊÑÒ³ÍÔ¹àµÍÃìÃѾ·ì
(Interrupt request and acknowledge cycle)
¨Ò¡ÃÙ» à»ç¹¡ÒÃáÊ´§ diagram àÇÅҢͧ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
CPU, CPU ¨Ð·Ó¡ÃµÃǨÊͺÊÑÒ³ INT ·Ø¡ æ pulse ÊÑÒ³¹ÒÌÔ¡ÒÅÙ¡ÊØ´·éÒ¢ͧ·Ø¡¤ÓÊÑ觷Õè¡ÃзÓáµèÍÂèÒ§äáçµÒÁ¡ÒõÃǨÊͺ
¹Õé¨ÐäÁèà¡Ô´¼ÅËÒ¡ software ä´éÊÑè§ DI
(Disable interrupt) «Ö觨зÓãËéÍÔ¹àµÍÃìÃѾ·ì
flip-flop ÀÒ ã¹äÁèä´éÃѺ¡ÒÃà«· ¹Í¡¨Ò¡¹Õé ÊÑÒ³ /BUSRQ áͤµÕ¿ ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì¡çäÁèä´éÃѺ¡Òõͺʹͧ
àªè¹¡Ñ¹ àÁ×èÍ¡ÒõͺʹͧµèÍ /INT à¡Ô´¢Öé¹ CPU ¨ÐÊÃéҧʶҹоÔàÈÉã¹ /M1
µèÍÁÒ ã¹ Ê¶Ò¹Ð¾ÔàÈɢͧ /M1
¹Õé /IORQ ¨ÐáͤµÕ¿á·¹ /MREQ à¾×èÍà»ç¹¡ÒõͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃì- ÃѾ·ìáÅе͹·éÒ¢ͧ
/IORQ CPU ¨Ð·Ó¡ÒÃÍèÒ¹¢éÍÁÙÅ 8 ºÔ· à»ç¹ àǤàµÍÃìÊÓËÃѺ¡Òà ÍÔ¹àµÍÃìÃѾ·ì¨Ò¡
data bus ÊѧࡵÇèÒã¹
¡Ã³Õ¹Õé CPU ¨ÐÊÃéÒ§ÊÑÒ³
Tw ÊͧÊ൷¢Öé¹ ÍÂèÒ§ Íѵâ¹ÁÑµÔ ¡ÒÃÊÃéÒ§ Tw ¢Öé¹ÁÒ¡çà¾×èͪÅÍàÇÅÒãËéÍØ»¡Ã³ìÀÒ¹͡µÃǨÊͺµÑÇÍØ»¡Ã³ì·ÕèÊÃéÒ§
ÍÔ¹àµÍÃìÃѾ·ì áÅÐ ¨Ñ´ÅӴѺ¤ÇÒÁ ÊÓ¤Ñ (priority) ¢Í§ÊÑÒ³·ÕèÍÔ¹àµÍÃìÃѾ·ì
àÃÒÂѧÊÒÁÒöà¾ÔèÁÊ൷¡Òà /WAIT
¢Öé¹ÍÕ¡ä´éà¾×èÍãËé CPU ÃÍÍØ»¡Ã³ì·Õè¨ÐÊè§àǤàµÍÃì ¢Í§¡Òà ÍÔ¹àµÍÃìÃѾ·ì·Ò§
data bus
ä«à¤ÔÅ¡ÒõͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìẺ¹Í¹ÁÒÊà¤àºÔéÅÍÔ¹àµÍÃìÃѾ·ì
(Nonmaskable interrupt response)
¨Ò¡ÃÙ» à»ç¹ diagram àÇÅҢͧ¡ÒõͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìẺ
nonmaskable àÁ×èͶ֧ pulse ¢Í§ÊÑÒ³¹ÒÌÔ¡ÒÅÙ¡ÊØ´·éÒ¡è͹¡ÒáÃзӡÒ躤ÓÊÑè§
áµèÅФÓÊÑè§ CPU¨Ð·Ó¡ÒõÃǨÊͺ ¢Ò /NMI áÅжéÒ /NMI ÁÕ¤èÒáͤµÕ¿ (=0) CPU
¡ç¨Ð latch äÇéáÅéǵͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì ·Ñ¹·Õ ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì´éÇÂ
ÇÔ¸Õ¹Õé¶×ÍÇèÒ CPU ãËé¤ÇÒÁÊÓ¤ÑÊÙ§ÊØ´
áÅТºÇ¹¡Ò÷ҧ software ¡çäÁèÊÒÁÒö·Õè¨Ð»éͧ¡Ñ¹äÁèãËé CPU µÍºÊ¹Í§ä´é ¡Òõͺʹͧ¨Ðà¡Ô´¢Ö鹷ѹ·Õ´Ñ§¹Ñ鹡ÒÃÍÔ¹àµÍÃìÃѾ·ì´éÇÂÇÔÐÕ¹Õé¨Ö§¹ÓÁÒãªé㹡óշÕè
ÊÓ¤Ñà»ç¹¾ÔàÈÉ ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìÇÔ¸Õ¹Õé
CPU ¨ÐÊ觢éÍÁÙÅ à´ÔÁ·ÕèÍÂÙèã¹
program counter ä»à¡çºäÇé·Õè stack áÅéÇà«·¤èÒ program counter à»ç¹¤èÒ 0066H
à¾×èÍ ¡ÃзÓã¹Êèǹ¢Í§â»Ãá¡ÃÁÂèÍ·ÕèµÓáË¹è§ 0066H
Z-80 «Õ¾ÕÂÙà»ç¹äͪÕäÁâ¤Ãâ»Ãà«Êà«ÍÃì·ÕèÁÕ¢Òà¾Õ§
40 ¢Òâ´ÂËÅÑ¡¡ÒÃáÅéÇ Z-80 à»ç¹ «Õ¾ÕÂÙ ä´éâ´Â ÊÁºÙóì¡ÅèÒǤ×ÍZ-80äÁèµéͧ»ÃСͺ¡ÑºÍØ»¡Ã³ì»ÃСͺÍ×è¹·Õè¨Ðá¡¡Ò÷ӧҹà¾×èÍ
ÃÇÁà»ç¹«Õ¾ÕÂÙÊèǹ¢Í§ÊÑÒ³¨Ð»ÃСÍ´éǺÑÊáÍ´à´ÃÊ ºÑÊ¢éÍÁÙÅáÅÐÊÑÒ³¤Çº¤ØÁ
¡ÒèѴÇÒ§¢Ò áÊ´§ä´é´Ñ§ÃÙ»
ÃÒÂÅÐàÍÕ´¢Í§¢ÒµèÒ§ æ áÊ´§ä´é´Ñ§¹Õé
A0
- A15
ºÑÊáÍ´à´ÃÊ ÊÑÒ³·ÕèÍÍ¡ÁÒ¨Ò¡¢ÒäÍ«ÕàËÅèÒ¹Õé¨ÐãËéáͤµÕ¿¢³Ð
high â´Â¢ÒàËÅèÒ¹Õéà»ç¹ àÍÒ·ì¾Ø·áººäµÃÊ൷ ºÑÊáÍ´à´ÃÊÁÕ´éÇ¡ѹ·Ñé§ËÁ´16ÊÒÂà¾×èÍãËé«Õ¾ÕÂÙµÔ´µè͡Ѻ˹èÇÂ
¤ÇÒÁ¨Óä´éÁÒ¡¶Ö§ 216 = 64 K 亷ì¹Í¡¨Ò¡¹ÕéÊèǹ¢Í§
áÍ´à´ÃÊÂѧà»ç¹µÑÇ¡Ó˹´àºÍÃì
¾ÍÃ췢ͧÍØ»¡Ã³ìÍÔ¹¾Ø·-àÍÒ·ì¾Ø·â´Â¢³Ð·Õè«Õ¾ÕÂÙ¡ÃзӤÓÊÑè§à¡ÕèÂǡѺÍÔ¹¾Ø·ËÃ×ÍàÍÒ·ì¾Ø·
¤èҢͧáÍ´à´ÃʺÑÊã¹ 8 ºÔ·ÅèÒ§ (A0 - A7) ¨ÐáÊ´§¤èÒàºÍÃì¾ÍÃ췴ѧ¹Ñé¹àÃÒ¨Ö§ÁÕÍØ»¡Ã³ìÍÔ¹¾Ø·ËÃ×ÍàÍÒ·ì¾Ø·ä´é
·Ñé§ËÁ´ 28 = 256 ¾ÍÃì· áÅÐã¹¢³ÐªèǧàÇÅÒÃÕà¿·ªâ´ÂàÁ×èÍÊÑÒ³ÃÕà¿Ãª
»ÃÒ¡®¢Öé¹·Õè¢ÒÃÕà¿Ãª (/RFSH) ¤èÒã¹áÍ´à´ÃʺÑÊ A0 - A7¨ÐáÊ´§¤èÒáÍ´à´Ãʢͧ˹èÇÂ
¤ÇÒÁ¨Ó·Õè¨Ðä´éÃѺ¡ÒáÃзӡÒÃÃÕà¿Ãª
D0
- D7
ºÑÊ¢éÍÁÙÅ
(data bus) à»ç¹ÅѡɳкÑÊẺÊͧ·ÔÈ·Ò§ Z-80 «Õ¾ÕÂÙÁÕºÑÊ¢éÍÁÙÅ 8 àÊé¹ ºÑÊ¢éÍÁÙÅ
à»ç¹àÊé¹·Ò§¼èÒ¹¢Í§¢éÍÁÙÅÃÐËÇèÒ§ «Õ¾ÕÂ١Ѻ˹èǤÇÒÁ¨Ó«Õ¾ÕÂÙ ¡ÑºÍØ»¡Ã³ìÍÔ¹¾Ø·-àÍҾطËÃ×Í¡ÒõԴµèÍÃÐËÇèÒ§ÍØ»¡Ã³ìÍÔ¹¾Ø·-àÍÒ·ì¾Ø·¡ÑºË¹èǤÇÒÁ¨Ó
/M1
(machine
cycle one) ÁÕÅѡɳÐà»ç¹áͤµÕ¿·ÕèÅͨԡ "0" /M1à»ç¹Êèǹ·Õè¨ÐºÍ¡ãËé·ÃÒºÇèÒ¢³Ð¹Õé
«Õ¾ÕÂÙ¡ÓÅѧÍÂÙèã¹ÊÀÒÇÐà¿·ªì ã¹¢³Ð·Õè«Õ¾ÕÂÙà¿·ªì¤ÓÊÑ觷ÕèÁÕÍ;â¤é´Êͧ亷ì
Êèǹ¢Í§ /M1 ¨ÐÊÃéÒ§¢Õé¹¢³Ðà¿·ªìã¹áµèÅÐ亷ìÅѡɳТͧ¤ÓÊÑ觷ÕèÁÕÍ;â¤é´ Êͧ亷ì¨Ð¢Ö鹵鹴éÇÂ
CBH, DDH, EDH, FDH (H µèÍ·éÒÂËÁÒ¶֧µÑÇàÅ¢°Ò¹ÊԺˡ) ¹Í¡¨Ò¡¹Õé /M1 ÂѧÊÃéÒ§ÊÑÒ³ÃèÇÁ
¡Ñº/IORQ à¾×èͺ͡ʶҹСÒõͺÃѺ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
/MREQ
(memory
request) à»ç¹ÅѡɳÐäµÃÊ൷ ãËéÅͨԡáͤµÕ¿·Õè "0" à»ç¹ÊÒÂÊÑÒ³ ·ÕèºÍ¡ãËé·ÃÒº
ÇèÒ«Õ¾ÕÂÙµéͧ¡ÒÃà¢Õ¹ËÃ×ÍÍèҹ˹èǤÇÒÁ¨ÓµÒÁáÍ´à´ÃÊ·Õè»ÃÒ¡¯ÍÂÙèã¹áÍ´à´ÃʺÑÊ
/IOREQ
(input
output request) à»ç¹àÍÒ·ì¾Ø·ÅѡɳÐäµÃÊ൷ãËéÅͨԡáͤµÕ¿·Õè "0" à»ç¹ÊÑÒ³·ÕèºÍ¡
ãËé·ÃÒºÇèÒ «Õ¾ÕÂÙµéͧ¡ÒõԴµèÍ ¡ÑºÍØ»¡Ã³ìÍÔ¹¾Ø·-àÍÒ·ì¾Ø· â´ÂáÍ´à´ÃʺÑÊ
8 ºÔ·ÅèÒ§¨ÐãËéáÊ´§¤èÒàºÍÃì¾ÍÃì·ÊèǹºÑÊ¢éÍÁÙŨÐáÊ´§¢éÍÁÙÅ·Õè¨ÐÁÕ¡ÒÃÊ觶èÒÂ
ÃÐËÇèÒ§«Õ¾ÕÂ١Ѻ I/O ¹Í¡¨Ò¡¹Õé /IORQ ¶éÒà¡Ô´¢Öé¹¾ÃéÍÁ¡ÑºÊÑÒ³ /M1 à»ç¹µÑǺ͡¶Ö§Ê¶Ò¹Ð·Õè«Õ¾ÕÂÙ¡ÓÅѧµÍºÊ¹Í§
¼Å¡ÒÃÍÔ¹àµÍÃìÃѾ·ì â´Â¢³Ð¹ÕéÊèǹ¢Í§ºÑÊ¢éÍÁÙŨÐÁÕ¡ÒÃÊ觼èÒ¹à¢éÒÁÒ´éǤèҢͧÍÔ¹àµÍÃìÃѾ·ìàǤàµÍÃì
/RD
(memory
read) à»ç¹àÍÒ·ì¾Ø··ÕèäµÃÊ൷áÅÐáͤµÕ¿¢³ÐÅͨԡ "0" /RD à»ç¹µÑǺ͡ÇèÒ¢³Ð¹Õé
«Õ¾ÕÂÙµéͧ¡ÒÃÍèÒ¹¢éÍÁÙŨҡ˹èǤÇÒÁ¨ÓËÃ×ÍÍØ»¡Ã³ì I/O
/WR
(memory
write) à»ç¹¢ÒàÍÒ·ì¾Ø·áººäµÃÊ൷ áÅÐáͤµÕ¿¢³ÐÅͨԡ "0" /WR
à»ç¹ÊÑÒ³ºÍ¡
ÇèÒ«Õ¾ÕÂÙµéͧ¡ÒÃà¢Õ¹¢éÍÁÙÅâ´Â¨Ðà¢Õ¹¢éÍÁÙÅã¹µÓá˹觷ÕèáÍ´à´ÃʺÑÊ¡Ó˹´¢Öé¹ÍÒ¨à»ç¹Ë¹èǤÇÒÁ¨ÓËÃ×ÍÍØ»¡Ã³ì
I/O ¡çä´é
/RFSH
(refesh)
à»ç¹¢ÒàÍÒ·ì¾Ø·áͤµÕ¿¢³ÐÅͨԡ "0" /RFSH à»ç¹ÊÑÒ³·Õè¨ÐºÍ¡ãËé·ÃÒºÇèÒÊÑÒ³ã¹áÍ´à´ÃʺÑÊ
ã¹Êèǹ A0 - A6 à»ç¹áÍ´à´ÃÊ·Õè¨Ðãªé㹡ÒÃÃÕà¿ÃªË¹èǤÇÒÁ¨Ó
ª¹Ô´ä´¹ÒÁÔ¡Êì ÊèǹºÔ· A0 ¨Ðà»ç¹
"0" ÊèǹºÔ· A8 - A15 ¨ÐáÊ´§¤èҢͧÃÕ¨ÕÊàµÍÃì
/HALT
(halt
state) à»ç¹àÍÒ·ì¾Ø··ÕèáͤµÕ¿´éÇÂÅͨԡ "0" ÊÑÒ³ /HALT¨ÐáÊ´§àÁ×èÍ«Õ¾ÕÂÙä´é¡ÃзÓ
¤ÓÊÑè§ HALT áÅШÐËÂØ´Ãͨ¹¡ÇèÒ¨ÐÁÕ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìËÃ×ÍÃÕà«· ¢³Ð·ÕèÍÂÙè㹪èǧ
HALT «Õ¾ÕÂ٨РàÊÁ×͹¡ÓÅѧ¡ÃзӤÓÊÑè§ NOP (no
operation)
à¾×èÍãËéà¡Ô´ä«à¤ÔÅ㹡Ò÷ӧҹà¾×èÍ Êè§ÊÑҳ仡ÃзӡÒÃÃÕà¿ÃªË¹èǤÇÒÁ¨Óª¹Ô´ä´¹ÒÁÔ¡Êì
/WAIT
(wait)
à»ç¹¢ÒÍÔ¹¾Ø· ¨ÐáͤµÕ¿´éÇÂÅͨԡ "0" /WAITà»ç¹µÑÇ¡Ó˹´áÊ´§à¾×èͺ͡«Õ¾ÕÂÙ
ãËé«Õ¾ÕÂÙËÂØ´ÃÍ ã¹¡Ã³Õ·ÕèÍØ»¡Ã³ì ÍÔ¹¾Ø·-àÍÒ·ì¾Ø· ËÃ×Í˹èǤÇÒÁ¨ÓäÁèÊÒÁÒöÃѺËÃ×Í
Ê觢éÍÁÙÅä´é·Ñ¹ /WAIT ¨Ðà»ç¹µÑÇ·ÓãËé«Õ¾ÕÂÙ «Ô§¤ìä´é¾Í´Õ¡Ñº
ÍØ»¡Ã³ìÍÔ¹¾Ø·àÍÒ·ì¾Ø··Õè·Ó
§Ò¹´éǤÇÒÁàÃçǪéÒ æ
/INT
(interrupt
request) à»ç¹¢ÒÍÔ¹¾Ø· áͤµÕ¿´éÇÂÅͨԡ "0" /INT à»ç¹ÊÑÒ³·ÕèÊÃéÒ§¢Öé¹ÁÒ¨Ò¡
ÍØ»¡Ã³ìÍÔ¹¾Ø·àÍÒ·ì¾Ø·à¾×è͵éͧ¡Ò÷Õè¨ÐÍÔ¹àµÍÃìÃѾ·ì«Õ¾ÕÂÙ «Õ¾ÕÂ٨зӡÒõÃǨÊͺÊÑÒ³
¹Õé·Ø¡ æ ¤ÃÑ駷Õ診¡ÒáÃзÓáµèÅФÓÊÑ觡Òõͺʹͧ¢Í§µÑÇ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìÊÒÁÒö
¤Çº¤ØÁä´é´éÇ «Í¿·ìáÇÃì´éÇ¡ÒÃ
à«·¤èÒÍÔ¹àµÍÃìÃѾ·ì¿ÅÔº¿Åͺ
(IFF) ¡ÒõͺʹͧÍÔ¹àµÍÃìÃѾ·ì¨Ðà¡Ô´ä´é ÂѧµéͧãËé /BUSRQ äÁèáͤµÕ¿ àÁ×èÍ«Õ¾ÕÂٵͺʹͧµèÍ¡ÒÃ
ÍÔ¹àµÍÃìÃѾ·ì «Õ¾ÕÂÙ¨ÐÊÃéÒ§ÊÑÒ³µÍº´éÇ¡ÒÃÊÃéÒ§ÊÑÒ³ /IORQ ÃÐËÇèÒ§ªèǧàÇÅÒ
/M1
¡Òõͺʹͧ
µèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìÁÕá¡áÂÐä´é 3 Ẻ «Ö觨Ð͸ԺÒÂã¹ËÑÇ¢éÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
/NMI
(nonmaskable
interrupt) à»ç¹¢ÒÍÔ¹¾Ø··Õè¨Ð·ÃÔ¡ºÍ¡«Õ¾ÕÂÙã¹¢³Ð¢Íº¾ÑÅ«ì ¢Òŧ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
´éÇÂÇÔ¸Õ¹Õé «Õ¾ÕÂÙ¨ÐãËé¤ÇÒÁÊÓ¤ÑÊÙ§¡ÇèÒ /INT¡ÅèÒǤ×Í Áѹ¨ÐµÍºÊ¹Í§áÅСÃзÓ
·Ñ¹·Õ´éÇ ¡ÒÃàÃÔèÁàÍç¡«Õ¤ÔéÇ ¤ÓÊÑè§ã¹µÓáË¹è§ 0066H
â´ÂÍѵâ¹ÁѵÔ
¡ÒáÃÐⴴ仡ÃзÓ㹡óչÕé «Õ¾ÕÂÙ¨Ðà¡çº¤èÒâ»Ãá¡ÃÁà¤ÒÃìàµÍÃì à´ÔÁäÇéã¹Êᵤ
à¾×èͨÐä´é¡ÅѺ价ӧҹà´ÔÁ àÁ×èÍàÊÃç¨ÊÔé¹ ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìä´é
/RESET
(reset)
à»ç¹¢ÒÍÔ¹¾Ø··ÕèáͤµÕ¿´éÇÂÅͨԡ "0" ¡ÒÃÃÕ૷㹡óչÕé¨ÐÁռŴѧ¹Õé
1.
¤èҢͧ PC ÁÕ¤èÒà»ç¹ "0"
2.
IFF ¨Ðä´éÃѺ¡Òà Disable
3.
ÃÕ¨ÔÊàµÍÃì R ¨ÐÁÕ¤èÒ 00H
4.
¨ÐÁÕ¡ÒÃà«·ÍÔ¹àµÍÃìþ·ìâËÁ´ÁÒÍÂÙè·ÕèâËÁ´ 0
ÃÐËÇèÒ§¡ÒÃÃÕà«·ÊÒÂáÍ´à´ÃʺÑÊáÅкÑÊ¢éÍÁÙŨÐä´éÃѺ¡ÒáÃзÓãËéÁÕ¤èÒÍÔÁ¾Õá´¹ÊÙ§
à¾×èÍá¡ÍÍ¡¨Ò¡«Õ¾ÕÂÙ ÊèǹÊÒÂÊÑÒ³ ¤Çº¤ØÁ¨Ðä´éÃѺ¡Ò÷ÓãËé à»ç¹ÊÑÒ³·ÕèäÁèáͤµÕ¿
¡ÒÃÃÕà¿Ãª¨ÐäÁèà¡Ô´¢Öé¹
/BUSRQ
(bus
request) à»ç¹¢ÒÍÔ¹¾Ø··ÕèáͤµÕ¿´éÇÂÅͨԡ "0" /BUSRQ à»ç¹ÊÑÒ³·ÕèÊ觺͡¡Ñº«Õ¾ÕÂÙ
à¾×è͵éͧ¡ÒÃãËé«Õ¾ÕÂ٤ǤØÁºÑÊ¡ÅèÒǤ×͵éͧ¡ÒÃãËé«Õ¾ÕÂÙ·ÓãËéºÑÊáÍ´à´ÃÊáÅкÑÊ¢éÍÁÙÅÍÂÙè
ã¹Ê¶Ò¹ÐÍÔÁ¾Õá´¹¢ìÊÙ§ ¤×͵éͧ¡ÒÃá¡«Õ¾ÕÂÙÍÍ¡¨Ò¡ºÑʹÑé¹àͧ
/BUSAK
(bus
acknowledge) à»ç¹¢ÒàÍÒ·ì¾Ø· áͤµÕ¿¢³ÐÅͨԡ "0" /BUSAK à»ç¹ÊÑÒ³µÍº¨Ò¡«Õ¾ÕÂÙÇèÒ
«Õ¾ÕÂÙä´éᡵÑÇàͧÍÍ¡¨Ò¡áÍ´à´ÃʺÑÊáÅкÑÊ¢éÍÁÙÅàÃÕºÃéÍÂáÅéÇ
CLK(clock)
ÊÑÒ³¹ÒÌÔ¡Ò·Õè¨Ð»é͹à¢éÒÃкº
Z-80 ÁÕ¢ÒÍÔ¹¾Ø·ÊÓËÃѺÍÔ¹àµÍÃìÃѾ·ìä´é
2 ¢Ò ¤×Í ÍÔ¹àµÍÃìÃѾ·ìẺÁÒÊà¤àºÔéÅ (INT) áÅÐẺ¹Í¹ÁÒÊà¤àºÔéÅ (MNI)ÊÓËÃѺ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìẺÁÒÊà¤àºÔéÅ
ÊÒÁÒöãËé CPU ¡ÃÐâ´´¢éÒÁä»·Ó§Ò¹·ÕèÊèǹµèÒ§ æ ¢Í§â»Ãá¡ÃÁä´éÊèǹ¡Òà ÍÔ¹àµÍÃìÃѾ·ìẺ¹Í¹ÁÒÊàµàºÔéŹÑé¹áµ¡µèÒ§¡ÑºáººÁÒÊà¤àºÔéŤ×Í¡ÒÃÍÔ¹àµÍÃìÃѾ·ìẺ¹Õé¨Ðà¡Ô´¢Ö鹷ѹ·Õâ´Â·Õè¼ÙéãªéäÁèÊÒÁÒöËÂØ´ÂÑé§ËÃ×Í´ÔÊàÍàºÔéÅä´é´éǪͿ·ìáÇÃì
¹Í¹ÁÒÊà¤àºÔéÅÍÔ¹àµÍÃìÃѾ·ì(NON-MASKABLE
INTERRUPT) ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì¨Ð»é͹à¢éÒ·Ò§¢Ò
NMI ¢Í§«Õ¾ÕÂÙâ´Â·ÕèÅͨԡ¢Í§¡ÒÃáͤµÕ¿¨Ðà¡Ô´¢Öé¹´éÇÂÅͨԡ "0" àÁ×èÍ«Õ¾ÕÂÙÃѺÊÑÒ³¹ÕéáÅéÇ
«Õ¾ÕÂÙ¨ÐäÁè¡ÃзӤÓÊÑ觶Ѵ
ä» â´Â¨ÐµÍºÊ¹Í§µèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìâ´Â¡ÒÃà»ÅÕè¹¢éÍÁÙÅãËé
PC à»ç¹ 0066H à¾×èÍãËéÀÒÇСÒÃà¿·ªì¤ÃÑ駵èÍä»à¡Ô´¢Öé¹·ÕèáÍ´à´ÃʹÕé ¡Òõͺʹͧ㹡óբͧ¹Í¹ÁÒÊà¤àºÔéŹÕé
«Õ¾ÕÂÙ¶×ÍÇèÒà»ç¹ÊèǹÊӤѷÕèÊØ´·Õè¨Ðµéͧ¡ÃзÓâ´Â¤ÓÊÑ觷ҧ«Í¿·ìáÇÃìËÃ×Í¢ºÇ¹¡ÒÃÍ×è¹ã´äÁèÊÒÁÒöà¢éÒÁÒËÂØ´ÂÑ駡ÒÃÍÔ¹àµÍÃìÃѾ·ìä´é
¡ÒÃÍÔ¹àµÍÃìÃѾ·ì´éÇÂÇÔ¸Õ¹Õé¨Ö§ÁÑ¡ãªé㹡óÕÇèÒÁÕà˵ءÒóìÊӤѷÕèÊØ´ ¨Ò¡ËÅÑ¡¡Ò÷ÑèÇ仢ͧ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
¤èÒà´ÔÁ¢Í§ PC ·Õè«Õ¾ÕÂ٨СÃзӵèÍä»ã¹â»Ãá¡ÃÁËÅÑ¡¨Ðä´éÃѺ¡ÒÃà¡çºÃÑ¡ÉÒäÇéã¹ÊᵤáÅСÒáÅѺ¤×¹ÊÙèâ»Ãá¡ÃÁËÅÑ¡à´ÔÁ¹Ñ鹡ÃзÓä´é´éǤÓÊÑè§
RETN (Return from Nonmaskable)
¡ÒÃÍÔ¹àµÍÃìÃѾ·ìẺÁÒÊà¤àºÔéÅ
(Maskable Interrupt) 㹡ÒÃÍÔ¹àµÍÃìÃѾ·ìẺ¹Õé
¼ÙéãªéµéͧÍÔ¹àµÍÃìÃѾ·ì¼èÒ¹à¢éÒÁÒ·Ò§¢Ò INT ¢Í§«Õ¾ÕÂÙ àÁ×èÍ«Õ¾ÕÂÙä´éÃѺÊÑÒ³¹ÕéáÅéÇ«Õ¾ÕÂ٨еÃǨÊͺʶҹТͧµÑÇàͧÇèҨеͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìËÃ×ÍäÁè
¡Ò÷Õè¨ÐµÍºÊ¹Í§ËÃ×ÍäÁèÊÒÁÒöâ»Ãá¡ÃÁä´é´éÇ«Ϳ·ìáÇÃì ´Ñ§¹Ñé¹¼Ùéâ»Ãá¡ÃÁ¨Ö§ÊÒÁÒö¡Ó˹´ÊÀÒÇСÒÃÍÔ¹àµÍÃìÃѾ·ìãËéä´é
ÃѺ¡ÒõͺʹͧµÃ§Êèǹ㴢ͧâ»Ãá¡ÃÁä´é¡ÒÃÍÔ¹àµÍÃìÃѾ·ì´éÇÂÇÔ¸Õ¹ÕéÊÒÁÒöá¡áÂСÒÃÍÔ¹àµÍÃìÃѾ·ìÍÍ¡à»ç¹
3 âËÁ´ «Ö觡ÒÃá¡âËÁ´¡ç·Óä´é´éÇ¡ÒÃãªé«Í¿·ìáÇÃìËÃ×ͤÓÊÑ觹Ñè¹àͧ â´Âá¡à»ç¹âËÁ´
0 (IM0), âËÁ´ 1 (IM1), âËÁ´ 2 (IM2)
¡ÒÃÍÔ¹àµÍÃìÃѾ·ìâËÁ´
0 ã¹âËÁ´¹Õé¼ÙéÍ͡Ẻ«Õ¾ÕÂÙ Z-80 ä´éÍ͡ẺÁÒà¾×èÍãËé
Z-80 ·Ó¡ÒõͺʹͧµèÍÊÑÒ³ÍÔ¹àµÍÃìÃѾ·ìàËÁ×͹ 8080 ·Ø¡»ÃСÒà ¡ÅèÒǤ×ÍàÁ×èÍÁÕ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
à¡Ô´¢Öé¹áÅÐâ»Ãá¡ÃÁ·Ò§«Í¿·ìáÇÃìä´éà«·âËÁ´¡ÒÃÃѺÍÔ¹àµÍÃìÃѾ·ìà»ç¹âËÁ´ 0 (IM0)
áÅÐÍÕ¹ÒàºÔéÅ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìäÇé¡Ò÷ӧҹ¢Í§«Õ¾ÕÂÙ¨ÐËÂØ´¡ÒÃà¿·ªì¤ÓÊÑè§ ¶Ñ´ä»
áµè¨ÐµÍºÃѺ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì´éÇ¡ÒÃÊè§ÊÑÒ³µÍºÃѺ´éÇ /M1 ¡Ñº /IORQ ÍèÒ¹¢éÍÁÙÅ
1 亷ì à¢éÒÁÒ·Ò§ºÑÊ¢éÍÁÙÅ ¢éÍÁÙÅ 1 亷ì¹Õéä´éÃѺ¡ÒÃÊè§ÁÒ¨Ò¡ ÍØ»¡Ã³ì I/O
·ÕèÍÔ¹àµÍÃìÃѾ·ìÁÒ àÁ×èÍ«Õ¾ÕÂÙÍèÒ¹¢éÍÁÙÅ亷ì¹ÕéÁÒ«Õ¾ÕÂ٨ж×ÍÇèÒà»ç¹Í;â¤é´·Ñ¹·ÕáÅШеդÇÒÁËÁÒÂ㹡Ò÷ӧҹ
¤ÓÊÑ觢¹Ò´ 1 亷ì·ÕèàËÁÒÐ
㹡ÒÃãªé㹡ÒÃÍÔ¹àµÍÃìÃѾ·ì¡ç¤×ͤÓÊÑè§
RST àÁ×èÍ«Õ¾ÕÂÙàÍç¡«Õ¤ÔéǤÓÊÑè§ RST«Õ¾ÕÂÙ¨Ðà¡çº¢éÍÁÙÅà´ÔÁã¹ PC äÇé·ÕèÊᵤ
áÅéÇà»ÅÕ蹤èÒ PC ãËÁèµÒÁÅѡɳТͧ¡Òà RST ¹Ñé¹ æ´Ñ§¹Ñ鹫վÕÂ٨СÃÐâ´´¢éÒÁä»·Ó§Ò¹µÒÁ·Õèµéͧ¡Òâͧ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìä´é
¡ÒõͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì´éÇ¡ÒÃÊè§ÊÑÒ³
/M1 áÅÐ /IORQ ·Ó¡ÒÃà¿·ªì¢éÍÁÙŨҡ I/O ÁÒàÍç¡«Õ¤ÔéǹÕéÍÒ¨·Óä´éâ´Â¡ÒÃãËé
I/O Ê觤ÓÊÑè§Í×è¹·ÕèäÁèãªè¤ÓÊÑè§ RST (¤ÓÊÑè§äº·ìà´ÕÂÇ) áµèà»ç¹ ¤ÓÊÑè§ËÅÒÂ亷ì
àªè¹¤ÓÊÑè§ CALL
«Öè§à»ç¹¤ÓÊÑ觢¹Ò´
3 亷ì â´Â I/O Ê觢éÍÁÙÅ¢³ÐµÍºÃѺ¡Òà ÍÔ¹àµÍÃìÃѾ·ì(/M1+/IORQ) ´éÇ¢éͤÇÒÁ
CDH (CALL) àÁ×èÍ«Õ¾ÕÂÙàÍç¡«Õ¤ÔéǤÓÊÑ觹Õé¡ç¨Ð·ÃÒºÇèÒà»ç¹¤ÓÊÑè§ CALL «Öè§Âѧµéͧ¡ÒâéÍÁÙÅà¾ÔèÁÍÕ¡
2 äº·ì «Õ¾ÕÂÙ¨ÐÊÃéÒ§áÁªÕ¹ ä«à¤ÔŵèÍä»ã¹¡ÒÃÍèҹ˹èǤÇÒÁ¨ÓàËÁ×͹¡ÃзӤÓÊÑè§
CALL ¨ÃÔ§ æ㹡ÒùÕéàÃҨеéͧãªéǧ¨Ã·Ò§ÎÒÃì´áÇÃì»ÃСͺà¾×èÍãËé I/O Ê觢éÍÁÙÅÍÕ¡
2 äº·ì µÒÁä»ãËéä´é«Ö觡ÒÃÍÔ¹àµÍÃìÃѾ·ì´éÇÂÇÔ¸Õ¹ÕéÍÒ¨¡Ó˹´ä´é´éÇÂà·¤¹Ô¤·ÕèᵡµèÒ§¡Ñ¹µÒÁ¡ÒÃÍ͡Ẻ¢Í§áµèÅкؤ¤Å
ºÃÔÉÑ·ÍÔ¹à·Åä´éÍ͡ẺäÍ«Õ·Õèãªé㹡ÒäǺ¤ØÁ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìáÅШѴÅӴѺ¤ÇÒÁÊÓ¤Ñ㹡ÒÃÍÔ¹àµÍÃìÃѾ·ì¢Öé¹
àªè¹ IC àºÍÃì 8214 ¡ÒÃãªéàÇÅÒ㹡ÒõͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì´éÇ¡Òà Êè§
/M1 áÅÐ /IORQ ¹Õé¨Ð¡ÃзÓàËÁ×͹¡ÒáÃзÓ
㹪èǧàÇÅÒáÁªÕ¹ä«à¤ÔÅ
/M1 áµè«Õ¾ÕÂÙ¨ÐãªéàÇÅÒÂÒǹҹ¡ÇèÒáÁªÕ¹ä«à¤ÔÅ /M1â´Â»¡µÔ â´Â¡ÒÃà¾ÔèÁ Tw
¢Ö鹡çà¾×èÍãËéàÇÅÒá¡èÍØ»¡Ã³ì I/O㹡ÒáÃзӢºÇ¹¡ÒÃà´«Õèહ (Daisy
Chain) 㹡ÒèѴÅӴѺ¤ÇÒÁÊӤѢͧ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
â´Â»¡µÔ¡ÒÃà«·ãËéÍÂÙèã¹âËÁ´¹Õé¡ÃзÓä´é´éÇ¡ÒÃÊÑ觷ҧ«Í¿·ìáÇÃì´éǤÓÊÑè§
IM1áÅСÒáÓ˹´ãËéÃѺ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìä´éËÃ×ÍäÁè¡ÃзÓä´é´éǤÓÊÑè§ EI áÅÐ
DIáÅÐà¾×èÍãËé¡Ò÷ӧҹàËÁ×͹ÍÂÙèã¹âËÁ´¢Í§ 8080 ·Ø¡»ÃСÒà ´Ñ§¹Ñé¹ËÅѧ¨Ò¡¡ÒÃÃÕà«·«Õ¾ÕÂÙ
«Õ¾ÕÂÙ¨Ðà«·µÑÇàͧãËéÍÂÙèã¹âËÁ´ 0 ¹Õéâ´ÂÍѵâ¹ÁѵÔ
¡ÒÃÍÔ¹àµÍÃìÃѾ·ìâËÁ´
1ã¹âËÁ´¹Õé¼Ùéâ»Ãá¡ÃÁÊÒÁÒö¡Ó˹´ä´é´éǤÓÊÑè§
IM1 ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìã¹âËÁ´
¹Õé¨Ð¡ÃзÓàËÁ×͹¡Ñ¹¡Ñº¹Í¹ÁÒÊà¤àºÔéÅÍÔ¹àµÍÃìÃѾ·ì·Ø¡»ÃСÒÃáµè¨ÐᵡµèÒ§¡Ñ¹¡çà¾Õ§¡ÒÃÃÕʵÒÃì·ÁÒ·ÕèµÓá˹è§
0038H (¡Ã³Õ¹Í¹ÁÒÊà¤àºÔéÅ仡ÃзӷÕè 0066H) áÅШӹǹ¤ÒºàÇÅÒ·Õèãªéã¹âËÁ´ 1
¹ÕéÁÕÁÒ¡¡ÇèÒ㹹͹ÁÒÊà¤àºÔéÅ·Ñ駹Õé
à¾ÃÒÐã¹âËÁ´¹Õé«Õ¾ÕÂÙµéͧà¾ÔèÁ
Tw
¢Öé¹ÍÕ¡ 2 Ê൷¡ÒÃÍÔ¹àµÍÃìÃѾ·ìã¹âËÁ´¹ÕéÊÒÁÒö´ÔÊàÍàºÔéÅä´é´éÇ«ͿáÇÃì
¡ÒÃÍÔ¹àµÍÃìÃѾ·ìâËÁ´
2 ã¹âËÁ´¹Õé·ÓãËé Z-80 ÁÕ¢Õ´¤ÇÒÁÊÒÁÒöà¡ÕèÂǡѺ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìÊÙ§¢Öé¹ÁÒ¡
¡ÒÃÍÔ¹àµÍÃìÃѾ·ìã¹âËÁ´¹Õé¡Ó˹´ä´é´éǤÓÊÑè§
IM2 áÅСÒèÐãËé«Õ¾ÕÂٵͺʹͧËÃ×ÍäÁè¡çÂѧãªé¤ÓÊÑè§â»Ãá¡ÃÁä´éàªè¹¡Ñ¹â´Âãªé¤ÓÊÑè§
EI áÅÐ DI ¡ÒáÃÐâ´´ä»Âѧâ»Ãá¡ÃÁÍ×è¹ã¹¢³ÐàÁ×èÍ«Õ¾ÕÂٵͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
㹡óչÕé¨Ðä»·Õèã´¡çä´é â´ÂãªéáÍ´à´ÃÊ㹡ÒáÃÐâ´´¹Õéä´é¶Ö§ 16 ºÔ· «Ö觷ÓãËé¡ÒÃÍÔ¹àµÍÃìÃѾ·ì·Óä´éÊдǡáÅÐÃÇ´àÃçÇ¢Öé¹ÍÕ¡ÁÒ¡
¡ÃÃÁÇÔ¸Õ¡ÒõͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì㹡óչÕé¤×Í
àÁ×èÍÁÕÊÑÒ³ /INT à¢éÒÁÒáÅЫվÕÂÙµÃǨÊͺä´é㹵͹ÊØ´·éÒ¢ͧ¤ÓÊÑè§ «Õ¾ÕÂ٨еͺʹͧ´éÇ¡ÒÃÊè§
/M1 ¡Ñº /IORQ ÍÍ¡ä» ÊÑÒ³ /M1 ¡Ñº /IORQ ¨Ðà»ç¹µÑǺ͡ÍØ»¡Ã³ì·Õè
揤
/INT ÁÒãËéÊ觢éÍÁÙÅ¢¹Ò´ 1 亷ìà¢éÒ·Ò§ºÑÊ¢éÍÁÙÅ ÊÓËÃѺã¹âËÁ´¹Õé¢éÍÁÙÅ·ÕèÊ觨ҡ
I/O ¢¹Ò´ 1 亷ì·Õèà¢éÒ·Ò§ºÑÊ¢éÍÁÙŹÕé«Õ¾ÕÂÙ¶×ÍÇèÒà»ç¹ àǤàµÍÃì¢Í§ ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì
â´Â¢éÍÁÙÅ㹺Է D0 ¨Ðµéͧà»ç¹ "0" ÊèǹºÔ·Í×蹨Ðà»ç¹ÍÐäáçä´é«Õ¾ÕÂ٨йÓàǤàµÍÃì¹Õéä»à»ç¹¢éÍÁÙÅáÍ´à´ÃÊ亷ì·ÕèÁÕ¹ÑÂÊӤѵèÓáÅТéÍÁÙŨҡÃÕ¨ÔÊàµÍÃì
1 ÀÒÂ㹫վÕÂÙà»ç¹¢éÍÁÙÅ亷ì·ÕèÁÕ¹ÑÂÊÓ¤ÑÊÙ§ àÃÕ¡ËÒä»Âѧ¢éÍÁÙÅã¹Ë¹èǤÇÒÁ¨Óà¾×èÍÍèÒ¹¢éÍÁÙÅã¹Ë¹èǤÇÒÁ¨Ó
2 亷ìµÔ´¡Ñ¹¹Ñé¹ÁÒâËÅ´ãÊè PC ËÃ×Íà»ç¹¡ÒÃÍéÒ§áÍ´à´ÃÊãËé PC Ẻâ´Â·Ò§ÍéÍÁ¹Ñè¹àͧ
ÊÓËÃѺ¡Ã³Õ¹Õé¨ÐàËç¹ÇèÒàÃÒÊÒÁÒö૷¤èÒã¹ÃÕ¨ÔÊàµÍÃì
I ãËéà»ç¹ÍÐäáçä´éáÅÐ I/O ¨ÐÊ觢éÍÁÙÅàǤàµÍÃìÁÒ»ÃСͺÃÇÁà¾×èͺ͡¶Ö§¤èÒµÒÃÒ§ã¹Ë¹èǤÇÒÁ¨Ó·Õèµéͧ¡ÒÃ
´éÇÂÇÔ¸Õ¡ÒÃàªè¹¹Õé¨Ð·ÓãËé¡ÒáÃÐâ´´ä»Âѧâ»Ãá¡ÃÁÂèÍÂà¡Ô´¢Öé¹·Õèã´¡çä´é
ÍØ»¡Ã³ìäÍ«Õ·Õè·Ó§Ò¹ÃèÇÁâ´ÂãªéÍÔ¹àµÍÃìÃѾ·ìâËÁ´¹ÕéÁÕËÅÒÂàºÍÃì´éÇ¡ѹ
àªè¹ Z-80PIO, Z-80CTC, Z-80SIO ÏÅÏ«Öè§ÍØ»¡Ã³ìÍÔ¹àµÍÃìà¿ÊàËÅèÒ¹ÕéÊÒÁÒöÊè§àǤàµÍÃìãËé¡Ñº«Õ¾ÕÂÙä´éÍÂèÒ§ÁÕ»ÃÐÊÔ·¸ÔÀÒ¾
¡ÒÃÍÔ¹àµÍÃìÃѾ·ìã¹âËÁ´¹Õé«Õ¾ÕÂÙµéͧ¡ÒÃàÇÅÒ¶Ö§
19 Ê൷ â´Âãªé 7 Ê൷ã¹
¡ÒÃà¿·ªìàǤàµÍÃì
6 Ê൷㹡ÒÃà¡çº¢éÍÁÙÅ PC à´ÔÁã¹Ê൷ áÅÐ 6 à»ç¹¡ÒÃÍèÒ¹¢éÍÁÙŨҡ˹èǤÇÒÁ¨ÓÁÒÂѧ
PC
¡ÒÃÍÕ¹ÒàºÔéÅáÅдÔÊàÍàºÔéÅÍÔ¹àµÍÃìÃѾ·ì
ʶҹÐÀÒ¾µèÍ¡ÒõͺʹͧÍÔ¹àµÍÃìÃѾ·ì «Õ¾ÕÂ٨зӡÒõÃǨÊͺ·Õè
IFF ËÃ×Í
ÍÔ¹àµÍÃìÃѾ·ì¿ÅÔº¿Åͺ㹡óբͧ
Z-80 ¨ÐÁÕ¿ÅÔº¿Åͺ·ÕèáÊ´§Ê¶Ò¹ÐÀÒ¾ 㹡ÒÃÍÔ¹àµÍÃìÃѾ·ìÍÂÙè 2 ºÔ· ¤×Í IFF1
áÅÐ IFF2 â´Â·Ñé§ÊͧºÔ·¹Õé¨Ðä´éÃѺ¡ÒÃà¡ÕèÂÇ¢éͧ´éǨҡ¡ÒáÃзӢͧ«Õ¾ÕÂÙËÃ×ͧ͢¼Ùéâ»Ãá¡ÃÁâ´Ââ»Ãá¡ÃÁ¤ÓÊÑè§
à¢éÒÁÒà«·ËÃ×ÍÃÕà«·¿ÅÔº¿Åͺ
â´ÂËÅÑ¡¡Òà IFF1·Ó˹éÒ·Õèà»ç¹µÑÇ¡Ó˹´¡ÒÃÍÕ¹ÒàºÔéÅËÃ×Í´ÔÊàÍàºÔéÅ¡ÒÃÍÔ¹àµÍÃì-
ÃѾ·ì
â´Â·Õè IFF2 ¨ÐÁÕ˹éÒ·ÕèËÅѡ㹡ÒÃà¡çº¢éÍÁÙŪÑèǤÃÒǢͧ IFF1 ã¹¢³Ð·ÕèÁÕ¡ÒÃ
ÃÕà«·«Õ¾ÕÂÙ·Ò§¢ÒÃÕà«· ·Ñé§ IFF1 áÅÐ IFF2 ¨Ðä´éÃѺ¡ÒÃÃÕà«·ä»´éÇ ¡ÒÃáÊ´§Ê¶Ò¹Ð
"0" ¢Í§ IFF1 ¨Ðà»ç¹¡ÒôÔÊàÍàºÔéÅ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì ¡ÅèÒǤ×Í IFF1
= "0"
«Õ¾ÕÂÙÂÐäÁèÃѺÃÙéµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì·Õèà¢éÒÁÒ·Ò§ INT ¡ÒÃà«· IFF ÊÒÁÒö¡ÃзÓä´é´éǤÓÊÑè§
EI â´ÂʶҹÐÀÒ¾¢Í§ IFF1 áÅÐ IFF2 ·Õè¨Ðà»ÅÕè¹á»Å§à¹×èͧ¨Ò¡¡ÒáÃзӵèÒ§ æ
ÊÃØ»ä´é´Ñ§µÒÃÒ§¢éÒ§ÅèÒ§¹Õé
¨Ò¡µÒÃÒ§¾ÍÊÃØ»ä´éÇèÒ
¡ÒáÓ˹´ÍÕ¹ÒàºÔéŨеéͧ·Ó¡ÒÃà«·¿ÅÔº¿Åͺ IFF1ËÃ×Í¡ÅèÒÇÍÕ¡¹ÑÂ˹Öè§ ¡ÒÃÂÍÁãËéà¡Ô´¡ÒÃÍÔ¹àµÍÃìÃѾ·ìä´é¡çµèÍàÁ×èÍ«Õ¾ÕÂÙµÃǨÊͺ
IFF1 ÇèÒÍÂÙèã¹ÊÀÒÇÐÍÕ¹ÒàºÔéÅËÃ×ÍäÁè¡ÒõÃǨÊͺÊÀÒÇÐÍÕ¹ÒàºÔéÅÇèÒä´éÃѺ¡ÒÃÍÕ¹ÒàºÔéÅËÃ×Í´ÔÊàÍàºÔéÅ
㹺ҧ¡Ã³Õ·Óä´éâ´Â¡ÒõÃǨÊͺ·Ò§ºÔ·¾ÒÃÔµÕé¹Ñ蹤×Í ¡ÒáÃзӤÓÊÑè§ LD A, I
áÅÐ LD A, R ¨ÐÁÕ¼ÅãËé¤èҢͧ IFF2 ä»à¡çºÂѧ¾ÒÃÔµÕéá¿Å¡
àÁ×èÍÁÕ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìẺ
NMI ¢Ö鹨Ðà¡Ô´ÊÀÒÇдÔÊàÍàºÔéŷѹ·Õ·Õè IFF1 ¡ÅèÒǤ×ÍÁѹ¨Ðä´é ÃѺ¡ÒÃÃÕà«·
¹Ñ蹤×ÍÃÐËÇèÒ§¡ÒÃÍÔ¹àµÍÃìÃѾ·ìẺ NMI ¹Õé ¡ÒÃÍÔ¹àµÍÃìÃѾ·ìẺÍ×蹨Ðà¢éÒÁÒÍÕ¡äÁèä´é
«Õ¾ÕÂÙ¨ÐäÁèÃѺÃÙé·Ñé§ÊÔé¹Ê¶Ò¹Ðà´ÔÁ¡è͹¡Òà ÍÔ¹àµÍÃìÃѾ·ìẺ NMI (ʶҹСÒôÔÊàÍàºÔéÅËÃ×ÍÍÕ¹ÒàºÔéÅ)¨Ðä´éÃѺ¡ÒÃà¡çºÃÑ¡ÉÒäÇé·Õè
IFF2 «Öè§ÃÐËÇèÒ§¹Õé¨Ðä´éÃѺ¡ÒõÃǨÊͺä´éàªè¹¡Ñ¹ÇèÒ ¡è͹¡ÒÃà¢éÒä»ÊÙèâËÁ´
NMI ÊÀÒÇСÒÃà»ç¹ÍÂèÒ§äà áÅÐàÁ×èÍ¡ÅѺà¢éÒâ»Ãá¡ÃÁËÅÑ¡´éǤÓÊÑè§ RETN ¨Ð·ÓãËéʶҹÐà´ÔÁà¡çºÃÑ¡ÉÒäÇéã¹
IFF1 ãËÁè¡ÒõͺʹͧµèÍ /INT ¡ç¨Ð·ÓãËé IFF1 áÅÐ IFF2 ä´éÃѺ¡ÒÃÃÕà«·àªè¹¡Ñ¹
´Ñ§¹Ñé¹àÁ×èÍÁÕ¡Òà INT ÊÑÒ³ /INT ¤ÃÑ駵èÍ仨ÐäÁèÊÒÁÒöä´éÃѺ¡Òõͺ
ʹͧ¨¹¡ÇèÒ¨ÐÁÕ¤ÓÊÑè§
EI /INT ¨Ö§¨Ðä´éÃѺ¡Òõͺʹͧ¹Ñè¹àͧ Êèǹ¡ÒÃàÍç¡«Õ¤ÔéǤÓÊÑè§ RETI ¨ÐäÁèÁռŷÓãËé
IFF1 áÅÐ IFF2 à¡Ô´¡ÒÃà»ÅÕè¹á»Å§
ä´ÍÐá¡ÃÁàÇÅÒÊÓËÃѺ¡ÒõͺʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì¢Í§«Õ¾ÕÂÙ
¡ÒÃʹͧµèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì¢Í§«Õ¾ÕÂÙÁÕÅѡɳÐÊӤѷÕèàÃҨеéͧ¾Ô¨ÒóÒã¹á§è¢Í§ä´ÍÐá¡ÃÁàÇÅÒ
à¾×èÍ¡ÒÃàª×èÍÁµè͡ѺÍØ»¡Ã³ì I/O ã¹á§è·Ò§ÎÒÃì´áÇÃì¨Ðä´éà»ç¹ä»ÍÂèÒ§¶Ù¡µéͧ
ÊÃØ»¡Òõͺʹͧ¨Ðà¡Ô´µÒÁÅӴѺ´Ñ§¹Õé
1. ÍØ»¡Ã³ì
I/O Êè§ÊÑÒ³ÍÔ¹àµÍÃìÃѾ·ìÁÒ â´Â¡Ò÷ÓãËé¢Ò /INT ÍÂÙèã¹Åͨԡ "0"
2. CPU ¨ÐµÍºÊ¹Í§µèÍ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì´éÇ¡ÒÃÊè§
/M1 Åͨԡ "0" ¡è͹à¾×èÍãËéÍØ»¡Ã³ì I/O àµÃÕÂÁ¨Ñ´¡ÒÃà¡ÕèÂǡѺ¢ºÇ¹¡ÒèѴÅӴѺ¡è͹
áÅÑÇ /IORQ¨Ò¡«Õ¾ÕÂÙ¨Ö§Ê觵ÒÁÁÒ ¡ÒÃãËé /IORQ ÁÒ·ÕËÅѧ /M1¡çà¹×èͧ¨Ò¡ãËéªèǧàÇÅÒ´ÕàÅÂìÃÐËÇèÒ§¹Õéà»ç¹µÑÇ¡Ó˹´
IEI áÅÐ IEO ¢Í§¡ÒáÃзÓà´«Õહ àÁ×èÍ /IORQ ÍÍ¡ä»·Õè I/O
áÅжéÒ
IEI ¢Í§ÍØ»¡Ã³ì¹Ñé¹à»ç¹Åͨԡ "1" µÑÇ I/O ¹Ñ鹡ç¨ÐÊè§àǤàµÍÃìà¢éÒÁÒ·Ò§ºÑÊ¢éÍÁÙÅ
áÅЫվÕÂÙ¨Ðãªé /IORQ áÅÐ /M1 à»ç¹¾ÑÅ«ìÊÑè§ÍèÒ¹à¢éÒ·Ò§ºÑÊ¢éÍÁÙÅáÅСÒ÷Óà´«Õહ
ÍØ»¡Ã³ì·ÕèÊè§ÍÔ¹àµÍÃìÃѾ·ìä´é ¨ÐãËé IEO à»ç¹Åͨԡ "0" à¾×èÍ»é͹
à¢éÒ
IEI ¢Í§µÑÇÍ×è¹à»ç¹¡ÒúÅçÍ¡¡ÒÃÊè§àǤàµÍÃì¨Ò¡ I/O µÑÇÍÕè¹
3. ¡ÒÃà¤ÅÕÂÃìÍÔ¹àµÍÃìÃѾ·ì
â´Â»¡µÔÍØ»¡Ã³ìI/O ¨ÐáͤµÕ¿ã¹¡ÒÃÊè§ÍÔ¹àµÍÃìÃѾ·ì ä´éµéͧãËé IEI = 1 áÅÐ
IEO = 0 ´Ñ§¹Ñé¹àÁ×èÍàÊÃç¨ÊÔ鹡ÒáÃзӡÒÃÍÔ¹àµÍÃìÃѾ·ì áÅéÇʶҹТͧ¡Òà I/O
¨Ðµéͧ à¤ÅÕÂÃìµÑÇàͧä´é ¹Ñ鹤×ÍàÁ×èÍÁÕ¡ÒáÃзӤÓÊÑè§
RETI
(ED 4D) ¡ç¨ÐÁÕ¡Òú͡ãËéÍØ»¡Ã³ì I/O ·ÃÒºÇèÒ¨ºÊÔ鹡ÒÃÍÔ¹àµÍÃìÃѾ·ì
áÅéÇ
à¾×èÍ·ÓãËé IEO à»ç¹ "1" à¾×èÍ¡ÒÃÍÕ¹ÒàºÔéŵÑÇI/O ·ÕèÁÕ¤ÇÒÁÊӤѹéÍ¡ÇèÒ
¤ÇÒÁÊÑÁ¾Ñ¹¸ì¢Í§ /INT, /NMI áÅÐ /BUSRQ
ä´ÍÐá¡ÃÁàÇÅÒ¢éÒ§ÅèÒ§¹Õéà»ç¹ä´ÍÐá¡ÃÁ¡ÒèѴÅӴѺ¡Ò÷ӧҹÀÒÂã¹
㹡ÒõÃÇÇÊͺ¡ÒÃÍÔ¹àµÍÃìÃѾ·ì·Ñé§áºº /INT áÅÐ /NMI ÃÇÁ·Ñ駢ºÇ¹¡ÒâÍãªéºÑÊ
/BUSRQ â´ÂÁÕÅѡɳСÒ÷ӧҹ·Õè¹èÒʹ㨴ѧ¹Õé
1. ¡ÒõÃǨÊͺ
/INT áÅÐ /NMI «Õ¾ÕÂ٨зӡÒõÃǨÊͺ·Ø¡ æä«à¤ÔÅÊØ´·éÒ¢ͧÊÑÒ³¹ÒÌԡҢͧáµèÅФÓÊÑè§
2. /BUSRQ
¨Ðä´éÃѺ¡ÒõÃǨÊͺ·Ø¡ æ µÍ¹ÊØ´·éÒ¢ͧáÁªÕ¹ä«à¤ÔÅ
3. àÁ×èÍ
CPU ÍÂÙèã¹ÊÀÒÇÐ DMA ¨ÐäÁèÂÍÁÃѺÃÙé¡ÒÃ¢Í /INT ËÃ×Í /NMI
4. ¡ÒèѴ¡Òõͺʹͧ¨Ðà»ç¹ä»µÒÁÅӴѺ´Ñ§¹Õé
/BUSRQ /NMI ËÃ×Í /INT
ÃǺÃÇÁ¨Ò¡ º·àÃÕ¹ Online ÇÔªÒ 204323 äÁâ¤Ãâ»Ãà«Êà«ÍÃìáÅСÒÃÍ͡ẺäÁâ¤Ã¤ÍÁ¾ÔÇàµÍÃì ÃÈ.Â×¹ ÀÙèÇÃÇÃó
|