next up previous contents index
Next: ¥Þ¥¤¥¯¥í¥×¥í¥°¥é¥à Up: À©¸æÉô Previous: ÅÅÂî   Contents   Index

ÃßÀÑ¥×¥í¥°¥é¥àÊý¼°

¥·¡¼¥¯¥¨¥ó¥¹²óÏ©¤Îưºî¤Ï¡¤¥×¥í¥°¥é¥à¤Î·Á¼°¤Ë½ñ¤¯¤³¤È¤â¤Ç¤­¤ë¡£ ¤Þ¤¿¡¤¥×¥í¥°¥é¥à¤Çµ­½Ò¤µ¤ì¤¿ºî¶È¤ò¡¤ ¥·¡¼¥¯¥¨¥ó¥¹²óÏ©¤Ë¤ä¤Ã¤Æ¤â¤é¤¦¤è¤¦¤Ë¤¹¤ë¤³¤È¤â²Äǽ¤Ç¤¢¤ë¡£ ¤³¤³¤Ç¤Ï¾õÂÖÁ«°Ü¿Þ¤Èµ¡³£¸ì¥×¥í¥°¥é¥à¤È¤ÎÊÑ´¹¤ò¹Í¤¨¤è¤¦¡£ ¤¿¤À¤·¡¤2¿Êɽ¸½¤µ¤ì¤¿µ¡³£¸ì¤Ç¤Ï¤ï¤«¤ê¤Å¤é¤¤¤Î¤Ç¡¤Å¬µ¹¡¤ÆÉ¤ß¤ä¤¹¤¯µ­ºÜ¤·¤¿¡£

Îã¤È¤·¤Æ¡¤¾õÂÖÁ«°Ü¿Þ¿Þ 5.2 ¤ª¤è¤Ó¾õÂÖÁ«°Üɽ¿Þ 5.3¤Ë¼¨¤·¤¿ ·ôÇ䵡¤ËÂбþ¤¹¤ëµ¡³£¸ì¥×¥í¥°¥é¥à¤ò¡¤¿Þ 10.5¤Ë¼¨¤¹¡£ ¤Ê¤ª¡¤$In$¡¤$Take$¡¤$Ticket$¤Ï¼þÊÕÁõÃ֤Υ¢¥É¥ì¥¹¤È¤·¡¤ ¥ì¥¸¥¹¥¿R0¤Ë¤Ï0¡¤R1¤Ë¤Ï1¤¬ÂåÆþ¤µ¤ì¤Æ¤¤¤ë¤È¤¹¤ë¡£ ¤Þ¤¿Addr0¡¤Addr2¡¤Addr3¤Ï¥á¥â¥ê¡¼¾å¤Î¥¢¥É¥ì¥¹¤È¤¹¤ë¡£

Figure 10.5: ·ôÇ䵡¤Î¾õÂÖÁ«°Ü¿Þ¤ËÂбþ¤¹¤ë¥×¥í¥°¥é¥à
\begin{figure}{\tt
\begin{tabular}{lll}
Addr0: & LD(2, $In$); & // {\rm$In$¤ÎÆ...
...
& JP(Addr0); & // {\rm ̵¾ò·ï¤ËAddr0¤Ø¥¸¥ã¥ó¥×}
\end{tabular}}
\end{figure}

¤³¤ì¤«¤é¼¡¤Î¤è¤¦¤Ê¼ê½ç¤¬ÁÛÁü¤Ç¤­¤ë¡£

¤Ê¤ª¡¤¤³¤Î¼ê½ç¤ÇºîÀ®¤µ¤ì¤¿µ¡³£¸ì¥×¥í¥°¥é¥à¤ò1¹Ô1¥¯¥í¥Ã¥¯¤Çư¤«¤¹¤È¡¤ ¾õÂÖÁ«°Ü¿Þ¤Î¤â¤Î¤è¤ê¤ÏÃÙ¤¯¤Ê¤ë¤Î¤ÇÃí°Õ¤·¤ÆÍߤ·¤¤¡£ Î㤨¤Ð¡¤ºÇ¸å¤ÎÊý¤Ë¤¢¤ë$Take$¤È$Ticket$¤Ï2²ó¤Î¥¯¥í¥Ã¥¯¤ò»È¤Ã¤Æ¤¤¤ë¤¬¡¤ ¸µ¤Ï1²ó¤Ç¤¢¤Ã¤¿¡£

ƱÍͤˤ·¤ÆµÕ¤ÎÊÑ´¹¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£

ÌäÂê2
¿Þ 10.5¤«¤éµÕ¤ÎÊÑ´¹¤ò¤·¤Æ¡¤ ·ôÇ䵡¤Î¾õÂÖÁ«°Üɽ¤¬ÆÀ¤é¤ì¤ë¤³¤È¤ò³Îǧ¤·¤Æ¤ß¤è¡£

¾õÂÖÁ«°Ü¿Þ¤È¥×¥í¥°¥é¥à¤òÈæ³Ó¤·¤Æ¤ß¤ë¤È¡¤ ¤ª¤½¤é¤¯¥×¥í¥°¥é¥à¤ÎÊý¤¬ÆÉ¤ß¤ä¤¹¤¤¤Ç¤¢¤í¤¦¡£ °ìÈ̤ˡ¤¥³¥ó¥Ô¥å¡¼¥¿¤ËÂ礭¤Êºî¶È¤ò¤µ¤»¤¿¤¤¤È¤­¤Ë¤Ï¡¤ ¥×¥í¥°¥é¥à¤ÎÊý¤¬ÊØÍø¤Ç¤¢¤ë¡£ °ìÊý¡¤¥·¡¼¥¯¥¨¥ó¥¹²óÏ©¤Ï²ò¼á¤Î»þ´Ö¤¬ÉÔÍפǤ¢¤ê¡¤Â®ÅÙ¤¬Â®¤¤¡£ ¤µ¤é¤Ë¡¤¥×¥í¥°¥é¥à¤Ç¤Ï¡¤¤³¤ì¤ò²ò¼á¤·¤Æ¼Â¹Ô¤·¤Æ¤¤¤¯²¿¤é¤«¤ÎƬǾ¤¬É¬ÍפǤ¢¤ë¡£ ¤½¤ÎƬǾ¤Ï¥·¡¼¥¯¥¨¥ó¥¹²óÏ©¤ÇºîÀ®¤»¤¶¤ë¤ò¤¨¤Ê¤¤¡£ ¤·¤¿¤¬¤Ã¤Æ¡¤¸½¼ÂŪ¤ÊÅú¤¨¤È¤·¤Æ¤Ï¡¤ Èæ³ÓŪ¥µ¥¤¥º¤ÎÂ礭¤Êºî¶È¤Ï¥×¥í¥°¥é¥à¤Ç½ñ¤­²¼¤·¡¤ ºÇ¾®¸Â¤ÎƬǾ¤À¤±¤ò¥·¡¼¥¯¥¨¥ó¥¹²óÏ©¤ÇºîÀ®¤¹¤ë¤È¤¤¤¦·Á¤Ë¤Ê¤í¤¦¡£

Á°Àá¤Þ¤Ç¤Î¹½Â¤¤Ç¤Ï¡¤¼Â¹Ô¤¹¤Ù¤­À©¸æ¥³¡¼¥É¤Ï¡¤ À©¸æÉôÆâ¤Î¥·¡¼¥¯¥¨¥ó¥¹²óÏ©¤Î·Á¤Ëµ­ºÜ¤¹¤ëɬÍפ¬¤¢¤ë¡£ ¤³¤ì¤ò¡¤Ì¿Îᥳ¡¼¥É¤Î½¸¹ç¡¤¤Ä¤Þ¤êµ¡³£¸ì¥×¥í¥°¥é¥à¤È¤¤¤¦·Á¤Ç¡¤ ³°Éô¤Î¥á¥â¥ê¡¼¾å¤ËÃÖ¤¤¤Æ¤ª¤­¡¤ ¤½¤ì¤ò²òÀϤ·¤Ê¤¬¤éÀ©¸æ¥³¡¼¥É¤òºî¤ê½Ð¤·¤Æ¤¤¤±¤ë¤è¤¦¤Ë¤Ê¤ë¤È¡¤ ¥³¥ó¥Ô¥å¡¼¥¿¤Ï¤Û¤È¤ó¤É²¿¤Ç¤â¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡£ ¤³¤ì¤¬ÃßÀÑ¥×¥í¥°¥é¥àÊý¼°¡Êstored program concept¡Ë¤Ç¤¢¤ë¡£

Figure 10.6: À©¸æÉô¤Î¾õÂÖÁ«°Ü¿Þ¡Ê`='¤ÏÂåÆþ¡¤`=='¤Ïº¸±¦¤¬Åù¤·¤¤¤³¤È¤ò°ÕÌ£¤¹¤ë¡£¡Ë
\begin{figure}\centering
%
\unitlength 1pt
\begin{picture}(275,310)
\put(0,0){\...
...15.6,76.6){\makebox(0,0)[lb]{{\scriptsize\rm Wait}}}
\end{picture}
\end{figure}

¤³¤Î¤·¤¯¤ß¤¬Æ³Æþ¤µ¤ì¤ë¤È¡¤ ¤Û¤Ü¸½ºß¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Î¤Ç¤­¤ë¤³¤È¤Ï¤¹¤Ù¤Æ¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ë¡£ ¿Þ 10.6¤ËÃßÀÑ¥×¥í¥°¥é¥àÊý¼°¤Ë¤è¤ë¥×¥í¥°¥é¥à¼Â¹Ô¤Î¼ê½ç¤ò¼¨¤¹¡£ ¤³¤ÎÏäÎÃæ¤Ç¡¤ÈÆÍѥ쥸¥¹¥¿¤Î°ì¤Ä¤ò¥×¥í¥°¥é¥à¥«¥¦¥ó¥¿¡Êprogram counter¡Ë¤Þ¤¿¤Ï PC¤È¸Æ¤Ü¤¦¡£ ¤³¤³¤Ë¤Ï¼¡¤Ë¼Â¹Ô¤µ¤ì¤ë¥¢¥É¥ì¥¹¤¬µ­²±¤µ¤ì¤ë¡£ ¤Þ¤¿¡¤¤â¤¦°ì¤Ä¤ÎÈÆÍѥ쥸¥¹¥¿¤òÌ¿Îá¥ì¥¸¥¹¥¿¡Êinstruction register¡Ë¤Þ¤¿¤ÏIR¤È¸Æ¤Ü¤¦¡£ ¤³¤³¤Ë¤Ï¸½ºß¼Â¹ÔÃæ¤ÎÌ¿Î᤬µ­²±¤µ¤ì¤ë¡£ 2¸ìÌ¿Îá¤Î¾ì¹ç¤Ë¤Ï¡¤2¸ìÌܤΥ¢¥É¥ì¥¹¾ðÊó¤òÆþ¤ì¤ë¥ì¥¸¥¹¥¿¤âɬÍפǤ¢¤ë¤Î¤Ç¡¤ ¤³¤ì¤òIRA¤È¸Æ¤Ü¤¦¡£

ÃßÀÑ¥×¥í¥°¥é¥àÊý¼°¤Ï¥Õ¥§¥Ã¥Á¡¤¥Ç¥³¡¼¥É¡¤¼Â¹Ô¤È¤¤¤¦»°¤Ä¤Îºî¶È¤«¤é¤Ê¤ë¡£ ¤Þ¤º¡¤ ³°Éô¥á¥â¥ê¡¼¤«¤é¼¡¤ÎÌ¿Îá¤ò»ý¤Ã¤Æ¤¯¤ë¥Õ¥§¥Ã¥Á¡Êfetch¡Ë¤È¤¤¤¦ºî¶È¤¬¹Ô¤ï¤ì¤ë¡£ ¤³¤ÎºÝ¡¤¼¡¤ÎÌ¿Îá¤ÎÆþ¤Ã¤Æ¤¤¤ë¥¢¥É¥ì¥¹¤ÏPC¤ËÆþ¤Ã¤Æ¤¤¤ë¤«¤é¡¤ ¤½¤ÎÃͤò¥¢¥É¥ì¥¹¥Ð¥¹¤ËºÜ¤»¤ë¡£ ¤½¤·¤Æ¡¤Ä̾¤µ¤é¤Ë¼¡¤ÎÌ¿Îá¤Ï°ì¤ÄÀè¤Î¥¢¥É¥ì¥¹¤ËÆþ¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¤ PC¤ò°ì¤ÄÁý¤ä¤·¤Æ¤ª¤¯¡£ ¼¡¤Ï¥á¥â¥ê¡¼¤¬¥Ç¡¼¥¿¡ÊÌ¿Îá¡Ë¤òÊÖ»ö¤·¤Æ¤¯¤ë¤Î¤òÂԤġ£ ¥Ç¡¼¥¿¤¬Íè¤ì¤Ð¡¤¤½¤ì¤òIR¤ËÆþ¤ì¤ë¡£ ¶ñÂÎŪ¤Êºî¶È¼ê½ç¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£

  1. $\phi _1$: PC¤ÎÆâÍÆ¤ò¡¤¥Ð¥¹A¡¤I/O¤ò·Ðͳ¤·¤Æ¥¢¥É¥ì¥¹¥Ð¥¹¤ËºÜ¤»¡¤ ³°ÉôÀ©¸æÀþ¤ò»È¤Ã¤Æ¥á¥â¥ê¡¼¤ËÆÉ¤ß½Ð¤·Í×ÀÁ$ReadMemory$¤òÁ÷ÉÕ¤¹¤ë¡£ Ʊ»þ¤Ë¡¤PC¤ÎÆâÍÆ¤òALU¤ÎÆþÎϥ쥸¥¹¥¿¤Ë¤âÀßÄꤹ¤ë¡£
  2. $\phi _2$: PC¤ò1Áý¤ä¤¹¡£
  3. $\phi _1$: $MemoryEnable$¤Ë¤è¤ê¡¤ ¥á¥â¥ê¡¼¤¬½àÈ÷¤Ç¤­¤¿¤³¤È¤ò³Îǧ¤·¤¿¤é¡¤¤½¤ÎÆâÍÆ¤òI/O·Ðͳ¤ÇIR¤Ø°Üư¤¹¤ë¡£ ¤Þ¤¿¡¤ALU¤Î½ÐÎϥ쥸¥¹¥¿¤ÎÆâÍÆ¤òPC¤ØÀßÄꤹ¤ë¡£
2¸ìÌ¿Îá¤Î¾ì¹ç¤Ë¤Ï¡¤Æ±Íͤʼê½ç¤Ç¡¤¼¡¤Î¥á¥â¥ê¡¼¤ÎÆâÍÆ¤ËÆþ¤Ã¤Æ¤¤¤ë¥¢¥É¥ì¥¹¤ò¡¤ ¤â¤¦°ì¤Ä¤Î¥ì¥¸¥¹¥¿¤Ç¤¢¤ëIRA¤ËÆþ¤ì¤ë¡£

¼¡¤Ï¥Ç¥³¡¼¥É¡Êdecode¡Ë¤Ç¤¢¤ë¤¬¡¤¤³¤ì¤Ï¥á¥â¥ê¡¼¤«¤éÍ褿̿Îá¤ò²ò¼á¤·¤Æ¡¤ ¥Ç¡¼¥¿½èÍýÉô¤ÎÍý²ò¤Ç¤­¤ë·Á¤Ëľ¤¹ºî¶È¤Ç¤¢¤ë¡£ Î㤨¤Ð¡¤¥ì¥¸¥¹¥¿5¤ÎÆâÍÆ¤ò0x0105ÈÖÃϤΥ¢¥É¥ì¥¹¤ËÆþ¤ì¤è¤È¤¤¤¦Ì¿Îá ST(5, 0x0105)¤ËÂбþ¤¹¤ëµ¡³£¸ì¤Ï¡¤ ¿Þ 8.4¤Ë½¾¤¦¤È0xE015 0105¤Ç¤¢¤ë¤¬¡¤ ¤³¤ì¤ò¡¤¼¡¤Ë½Ò¤Ù¤ë¼Â¹Ô¥×¥í¥»¥¹¤ËÂбþ¤·¤¿¸Ä¡¹¤Î¥²¡¼¥È¤Î³«ÊĤλؼ¨¤ËÊѹ¹¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ $\phi _1$´ü´Ö¤Î»Ø¼¨¤â$\phi _2$´ü´Ö¤Î»Ø¼¨¤â¡¤¤³¤Îºî¶È¤Ç°ì½ï¤Ëºî¤é¤ì¤ë¡£ ¤³¤Îºî¶È¤Ï¡¤Ä̾1¥¯¥í¥Ã¥¯¼þ´ü¤Ç¤Ê¤µ¤ì¤ë¡£

ºÇ¸å¤Ï¼Â¹Ô¡Êexecute¡Ë¤Ç¤¢¤ë¤¬¡¤°Üư̿Îá¤ä±é»»Ì¿Îá¤ä¥¸¥ã¥ó¥×Ì¿Îá¤ò¤Þ¤µ¤Ë¹Ô¤¦¡£ ¤Þ¤º°Üư̿Îá¤Ç¤¢¤ë¤¬¡¤Î㤨¤ÐST(5, 0x0105)¤Ï¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤µ¤ì¤ë¡£

  1. $\phi _1$: IRA¤«¤é0x0105¤ò¥Ð¥¹A¡¤I/O¤ò·Ðͳ¤·¤Æ¡¤ ¥¢¥É¥ì¥¹¥Ð¥¹¤ËÀßÄꤹ¤ë¡£ Ʊ»þ¤Ë³°ÉôÀ©¸æÀþ¤ò»È¤Ã¤Æ¥á¥â¥ê¡¼¤Ë½ñ¤­¹þ¤ßÍ×ÀÁ$WriteMemory$¤òÁ÷ÉÕ¤¹¤ë¡£
  2. $\phi _1$: $MemoryEnable$¤¬Ìá¤Ã¤Æ¤­¤¿¤é¡¤¥ì¥¸¥¹¥¿5¤Î¥Ç¡¼¥¿¤ò¥Ð¥¹A¡¤ I/O¤ò·Ðͳ¤·¤Æ¡¤³°Éô¥Ç¡¼¥¿¥Ð¥¹¤ËºÜ¤»¡¤½ñ¤­¹þ¤ß¤ò½ªÎ»¤¹¤ë¡£

±é»»Ì¿Îá¤Ï¡¤Î㤨¤ÐADD(0, 1, 2)¤Ï¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤µ¤ì¤ë¡£

  1. $\phi _1$: ¥ì¥¸¥¹¥¿0¤È¥ì¥¸¥¹¥¿1¤ÎÆâÍÆ¤òALU¤ÎÆþÎϥ쥸¥¹¥¿¤Ë°Üư¤¹¤ë¡£
  2. $\phi _2$: ²Ã»»¤ò¹Ô¤¤¡¤·ë²Ì¤òALU¤Î½ÐÎϥ쥸¥¹¥¿¤ËÆþ¤ì¤ë¡£
  3. $\phi _1$: ½ÐÎϥ쥸¥¹¥¿¤Î·ë²Ì¤ò¡¤¥ì¥¸¥¹¥¿2¤Ë°Üư¤¹¤ë¡£

À©¸æÌ¿ÎᡤÎ㤨¤ÐJPN(0x0106)¤Ï¼¡¤Î¤è¤¦¤Ë¼Â¹Ô¤µ¤ì¤ë¡£

  1. $\phi _1$: ¥Õ¥é¥°¥ì¥¸¥¹¥¿LT¤ò¥Á¥§¥Ã¥¯¤·¡¤ 0¤Ê¤é¤ÐÀ©¸æÉô¤Î¼¡¤Î¾õÂÖ¤òFNI¤È¤¹¤ë¡£ 1¤Ê¤é¤ÐÀ©¸æÉô¤Î¼¡¤Î¾õÂÖ¤òJPN1¤È¤¹¤ë¡£
  2. $\phi _1$: IRA¤Ë¤¢¤ë0x0106¤ò¡¤¥Ð¥¹A¤ò·Ðͳ¤·¤ÆPC¤Ë¥»¥Ã¥È¤¹¤ë¡£

¤Ê¤ª¡¤¥Õ¥§¥Ã¥Á¡¤¥Ç¥³¡¼¥É¡¤¼Â¹Ô¤Î³Æºî¶È¤Ë¤«¤«¤ë»þ´Ö¤Ï¡¤ ALU¤Î±é»»¤ò$\phi _2$¤Î¥¿¥¤¥ß¥ó¥°¤Ç¹Ô¤¦¤¿¤á¡¤ ³°Éô¥á¥â¥ê¡¼¤ÎÃٱ䤬¤Ê¤±¤ì¤Ð¡¤¤¤¤º¤ì¤â2¥¯¥í¥Ã¥¯¼þ´ü°ÊÆâ¤Ç¤¢¤ë¡£ ¤³¤Î³Æºî¶È¤¬Æ±¤¸¥¯¥í¥Ã¥¯¼þ´üÆâ¤Ç¤Ê¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤¬¡¤ Àè¤Ë½Ò¤Ù¤ë¥Ñ¥¤¥×¥é¥¤¥ó½èÍý¤È¤¤¤¦¹â®½èÍý¤ËÌòΩ¤Ä¤Î¤Ç¤¢¤ë¡£

Figure 10.7: ÃßÀÑ¥×¥í¥°¥é¥àÊý¼°¤ËÂбþ¤·¤¿À©¸æÉô
\begin{figure}\centering
%
\unitlength 1pt
\begin{picture}(191,104)
\put(0,0){\...
...3,48.2){\makebox(0,0)[b]{{\footnotesize\mc À©¸æÀþ}}}
\end{picture}
\end{figure}

¥³¥ó¥Ô¥å¡¼¥¿¤òÃßÀÑ¥×¥í¥°¥é¥àÊý¼°¤ËÂбþ¤·¤¿¹½Â¤¤Ë¤¹¤ë¤Ë¤Ï¡¤ ¿Þ 10.7¤Ë¼¨¤¹¤è¤¦¤Ë¡¤ ³°Éô¥á¥â¥ê¡¼¤òÃÖ¤¯¤³¤È¤Ï¤¢¤¿¤ê¤Þ¤¨¤Ç¤¢¤ë¤¬¡¤ ¤½¤ÎÆâÍÆ¤òÀ©¸æÉô¤ØÁ÷¤ë¤·¤¯¤ß¤¬É¬ÍפȤʤ롣 ¤³¤³¤Ç¤Ï¡¤¥Ç¡¼¥¿¥Ð¥¹¤ËÀܳ¤µ¤ì¤Æ¤¤¤ë¥ê¥Æ¥é¥ë¥Ý¡¼¥È¤òÍøÍѤ·¤Æ¤¤¤ë¡£

¤³¤³¤Þ¤Ç¤Ç¡¤¥³¥ó¥Ô¥å¡¼¥¿¤Î¤·¤¯¤ß¤Ë¤Ä¤¤¤Æ¤ÎËܼÁŪÀâÌÀ¤Ï¤Û¤Ü½ªÎ»¤Ç¤¢¤ë¡£ ËܾϤΤ³¤³¤«¤éÀè¤Ï¡¤¤ä¤äºÙ¤«¤¤¤³¤È¤Ç¤¢¤ê¡¤µ¤³Ú¤ËÆÉ¤ó¤ÇÍߤ·¤¤¡£


next up previous contents index
Next: ¥Þ¥¤¥¯¥í¥×¥í¥°¥é¥à Up: À©¸æÉô Previous: ÅÅÂî   Contents   Index
Yoichi OKABE 2008-03-29