ãã®ã²ãŒã ãæäŸããããžãã¯ã«åºã¥ããŠFactorioã§äœæãããããžã§ã¯ããå ±æããããšæããŸãããã®ãããžã§ã¯ãã¯ãã»ãŒåãè»ãçŸå®ã®äžçã§äœæããããã®ã¹ããããã€ã¹ãããã¬ã€ããæžãçããå倧ãªç²Ÿç¥ã«è§ŠçºãããŸãããã芧ã«ãªãããšããå§ãããŸãããã®ãããžã§ã¯ããçè§£ããŠåçŸããã®ã«åœ¹ç«ã¡ãŸã ã8ãããã³ã³ãã¥ãŒã¿ãŒ
ç§ã¯ã圌ã®ãã£ã³ãã«ãéããŠå€ãã®ããšãæããŠãããBen Eaterã«é ãäžãããã®å°ããªãããžã§ã¯ããåœŒã«æ§ããããšæããŸããçŽ æŽãããä»äºãã³ïŒ
ããã¯ããã£ããããæ°ãèšç®ããã³ã³ãã¥ãŒã¿ãŒã§ãã8ãããã®å¶éïŒ255ïŒãè¶ ããåŸãæ¡ä»¶åå²ãå®è¡ããŠæåããããçŽããŸãã
ãã®ã³ã³ãã¥ãŒã¿ãŒãã©ã®ããã«æ©èœãããèŠãŠã¿ãŸãããããããŠæããããšã¯ãããŸãã-åºæ¬ã䜿ãã°ããªãããããè¡ãããšãã§ãããšç¢ºä¿¡ããŠããŸãïŒã³ã³ãã¥ãŒã¿ã®äžè¬çãªã¬ã€ã¢ãŠãããå§ããŸããããããã§ã¯ãéèŠãªé åã匷調ããŸããã以äžã«ãç§ãããããã©ã®ããã«äœæãããã説æããŸãã
CLKã¯ããã·ã³ã®åæãæäŸããã¿ã€ããŒã§ããææ°ã®CPUã¯ã4ã5 GHzïŒ4ã5,000,000,000 HzïŒã§åäœã§ããŸããçŸæç¹ã§ã¯ãFactorioããžãã¯ã²ãŒãã®å¶éã«ãããç§ã®ãã·ã³ã¯2 Hzã§å®è¡ã§ããŸããåå ¥åã¯ãã³ã³ãããŒã¿ïŒã²ãŒãïŒããšã«èšç®ããå¿ èŠãããããã10ãé£ç¶ããŠããå Žåã¯ã10ã²ãŒã ã¯ããã¯ïŒfpsïŒãåŸ ã€å¿ èŠããããŸãã ïŒã·ã¹ãã ã®æ¬¡ã®ãµã€ã¯ã«ãéå§ããŸããããããªããšãä¿¡å·ãæ··ä¹±ããèšç®ãå®è¡ãããŸããã
PCïŒããã°ã©ã ã«ãŠã³ã¿ãŒãããã°ã©ã ã«ãŠã³ã¿ãŒïŒ-ã«ãŠã³ã¿ãŒã¯ãããã°ã©ã ã®ã©ã®éšåã«ãããã瀺ããŸããããã°ã©ã ã¯16ãã€ãã®ã¡ã¢ãªããèªã¿åãããŸãïŒ1ãã€ãã«ã¯8ããããå«ãŸããŸãïŒãã«ãŠã³ã¿ã¯ãã€ããªåœ¢åŒïŒ0000ã0001ã0010ã0011ã0100ã0101 ... 1111ïŒã§æå€§16ïŒ4ãããïŒãã«ãŠã³ãããããããããã®èšç®ã®ããããã§ã¬ãžã¹ã¿ã¢ãã¬ã¹ãåŸãããåŸã§ã¡ã¢ãªããååŸã§ããŸããããã䜿ã£ãŠã¢ã¯ã·ã§ã³ãå®è¡ããŸãããŸããã«ãŠã³ã¿ãŒããªã»ãããããžã£ã³ããå«ãŸããŠããŸããå¥ã®å€ãå ¥åããŠãã¡ã¢ãª/ã³ãŒãå ã®ç¹å®ã®å Žæã«ç§»åã§ããŸãã
ãã¹ã¯ããã¹ãŠã®ã³ã³ãã¥ãŒã¿ãŒã³ã³ããŒãã³ãã®äž»èŠãªæ¥ç¶ãã€ã³ãã§ãããããšã®éã§ããŒã¿ã転éã§ããŸãããããè¡ãã«ã¯ãåã³ã³ããŒãã³ãã®ã²ãŒããééããå¶åŸ¡ä¿¡å·ã䜿çšããŠã3ã€ä»¥äžã®ã²ãŒããéããªãããã«ããŸãïŒãããã£ãŠãããŒã¿ãæ··åãããããšã¯ãããŸããïŒã
ALUã¯ãå ç®ããã³æžç®æäœãå®è¡ãããèšç®æ©ãã§ãïŒããè€éãªCPUã§ã¯ããã«å€ãã®ããšãã§ããŸãïŒïŒãã¬ãžã¹ã¿AãšBã«ãããã®ãå³åº§ã«åä¿¡ããè«çæŒç®ãå®è¡ããŸãïŒåœä»€ãã³ãŒãã§æŒç®ãéžæããŸãïŒããã®åŸããã®ããŒã¿ã¯ãã¹ïŒãã¹ïŒã«åºåãããŸãã ALUã¯ãæ¡ä»¶åå²é¢æ°ã§äœ¿çšã§ãããã©ã°ãæ ŒçŽããŸãã
ã¬ãžã¹ã¿Aããã³B-8ãããã®æ°å€ãæ ŒçŽã§ããŸãããããã®æ°å€ã¯åŸã§ALUã«é£çµãããŸããã©ã¡ãã®ã¬ãžã¹ã¿ããã¹ãšã®éã§ããŒã¿ãéåä¿¡ã§ããŸãã
ã¬ãžã¹ã¿ã¢ãã¬ã¹/ãã³ãŒãïŒRADïŒ-ãã¹ãã4ãããã¢ãã¬ã¹ãèªã¿åããèªã¿åãå¿ èŠã®ããRAMã®éããã³ãŒãããŸããããšãã°ãã¢ãã¬ã¹1110ã«ã¯å€0000 0011ãå«ãŸããŠããŸãïŒç»åãåç §ïŒã
RAM-æè¿ã®PCã«ã¯éåžžãçŽ16 GBã®ã¡ã¢ãªïŒ16,000,000,000ãã€ãïŒããããŸãã 16ãã€ããããªã...ããã«ããã16åœä»€ä»¥äžã®ã¹ããŒã¹ã確ä¿ããããããããŒã¿/倿°ãã¡ã¢ãªã®ä»ã®éšåã«æ ŒçŽã§ããŸããåºæ¬çã«ãããã®RAMã¯16ã®ç°ãªãã¬ãžã¹ã¿ã§ãããä»ã®å Žæã§äœ¿çšããŠãããã®ãšåæ§ã«ãã¬ãžã¹ã¿ãã³ãŒããä»ããŠã¢ã¯ã»ã¹ããã ãã§ãã
åœä»€ã¬ãžã¹ã¿ïŒIRïŒ/ãã³ãŒãïŒDCïŒ-BUSããåœä»€ã¬ãžã¹ã¿ã«ããŒã¿ãå ¥ããŠãã³ãŒãããããã°ã©ã ã®åäœãæç€ºããããšãã§ããŸãã 4ãããã®ã¿ã䜿çšããïŒã¿ãŒã³ã€ãºã§åŒ·èª¿è¡šç€ºïŒãããã°ã©ã å¯èœãª16çš®é¡ã®ã³ãã³ããæäŸãããŸããã¬ãžã¹ã¿ãŒAã«æ ŒçŽãããŠãããã®ãåºåããOUTã³ãã³ãããããšããŸããããã¯1110ãšããŠãšã³ã³ãŒããããŠããããããã®ãããªã³ãã³ããã¬ãžã¹ã¿ãŒã«ããããããšãããããã³ãŒãããŠã³ã³ãã¥ãŒã¿ãŒã«ç¶è¡æ¹æ³ãæç€ºã§ããŸãã
ãã€ã¯ãã³ãŒãã«ãŠã³ã¿ãŒïŒMCïŒ-ããã°ã©ã ã«ãŠã³ã¿ãŒã«äŒŒãŠããŸãããåœä»€ãã³ãŒããŒå ã«ãããŸããåã³ãã³ããã¹ãããã¹ã«ãŒããæ©èœãæäŸããŸãã
LCD / Screenã¯å®éã«ã¯ã¬ãžã¹ã¿ã§ãããå 容ãLCDç»é¢ïŒã©ã³ã-ã³ã³ãããŒã¿-ãã£ã¹ãã¬ã€ããã©ã³ã¿ã³ãšã³ã³ãããŒã¿ã®ãã£ã¹ãã¬ã€ãïŒã«å°å·ãããããããè€éã§ãã
ã¹ã€ããããŒãïŒSBïŒ-ãã®ããã«ã«ã¯ãã³ã³ãã¥ãŒã¿ãŒã®åã³ã³ããŒãã³ããå¶åŸ¡ããããã«éä¿¡ããã¹ã€ããæ©èœã衚瀺ãããŸããçŸåšãããŸããŸãªãã®ãå¶åŸ¡ãã17ã®ç°ãªãã¹ã€ããããããŸããããšãã°ãBUSããã¬ãžã¹ã¿Aã«èªã¿èŸŒãã ããã¡ã¢ãª/ã³ãã³ãã¬ãžã¹ã¿ã«æžã蟌ãã ãããå Žåãªã©ã§ãã以äžã«èª¬æããã¹ã€ããã䜿çšããŠããã·ã³ãæåã§å¶åŸ¡ã§ããŸãã
ãã©ã°ïŒFïŒ-ãã©ã°ãæ ŒçŽããããã®ã¬ãžã¹ã¿ïŒãã£ãªãŒ[T]-å ç®æã«8ãããå€ãè¶ ããå ŽåããŒãå[O]-åèš/å·®ã0ã®å ŽåïŒããããã¯ãæ¡ä»¶ä»ããžã£ã³ãã³ãã³ãã§ç§ãã¡ãå©ããŸãã
æåã«åã³ã³ããŒãã³ãã«ã€ããŠè©³ãã説æããæåŸã«ãããã»ã¹ãããæç¢ºã«ãªããããã³ã³ãã¥ãŒã¿ãŒãããã°ã©ã ããæ¹æ³ã説æããŸããããã°ã©ãã³ã°ã ãã«èå³ãããå Žåã¯ãèšäºã®æåŸã®éšåã«ã¹ãããããŠãã ããã
CLKã¯ã¿ã€ãã³ã°ãžã§ãã¬ãŒã¿ã§ãããããããèšç®ã§æãéèŠãªãã®ã§ããé«ã[C = 1]ä¿¡å·ãšäœã[C = 0]ä¿¡å·ãåæã«æã€çºæ¯åšãäœæãããã£ãã®ã§ãã
ïŒ1ïŒããã¯ä¿¡å·ããžã§ãã¬ãŒã¿ã«äŸçµŠããåºæ¬çãªå®æ°ã³ã³ãããŒã¿ã§ãã ïŒ2ïŒã«ãžã£ã³ãããå ¥åãšåºåãããŒãžãããŸãããã®æ§æã®ãããã§ãåã²ãŒã ã¯ããã¯ïŒUPSïŒã§ã[C]ã®å€ã¯1ãã€å¢å ããŸãã[Z]ã«éãããšã0ã«ãªã»ãããããŸããã€ãŸããZã¯ãã²ãŒã ã¯ããã¯ã®æ°ã瀺ããŸãããžã§ãã¬ãŒã¿ããªã»ããããŸããäžã«2ã®åçŽãªé€æ°ãããããžã§ãã¬ãŒã¿ãŒãååã®æéãã€ã«ä¿ã¡ãååã®æéããŒã«ä¿ã¡ãŸãã Cã[Y]ïŒ[Z]ã®ååïŒãããå°ããå Žåããžã§ãã¬ãŒã¿ãŒã¯ãã€ã§ãããã以å€ã®å Žåã¯ããŒã§ãã
ã€ã³ãµãŒã¿ãŒïŒ4ïŒã¯ããã£ãã¯ãããã«å¶åŸ¡ããå¿ èŠãããå Žåã«åããŠãã»ã«ã³ããªåæãžã§ãã¬ãŒã¿ãŒãšããŠäœ¿çšãããŸããæåã®èžã«äœããå ¥ãããšãããŒããçºçããŸãã 5æ¬ã®ããŒãå¿ èŠãªå Žåã¯ã5æ¬ã®ãªããžã§ã¯ããé 眮ããå¿ èŠããããŸãã
ïŒ5ïŒã¯æåã®å¶åŸ¡ä¿¡å·ã§ãã [H]ã¯HALT {HLT}ã³ãã³ãã®ç¥ã§ããå€ãå°ããå Žå[H = 0]ããžã§ãã¬ãŒã¿ãŒã¯æ£åžžã«åäœããå€ã倧ããå Žåã¯æåã¢ãŒãã«ãªããŸããããã¯å¶åŸ¡ã²ãŒãã«ãã£ãŠä¿é²ããããããïŒ5aïŒã¯éåžžã®åäœã«äœ¿çšãããä¿¡å·[H]ã0ã§ãªãå Žåãæåã¢ãŒããã¢ã¯ãã£ãã«ãªãã[C]ïŒåœç€Ÿã®CLKïŒãåºåãããŸãã
ãŸããã²ãŒãïŒ6ïŒã䜿çšããŠå転信å·ãäœæããŸãããåºåãäœãå Žåãå転信å·ã¯é«ããªããŸããè»ã§ã¯äœ¿çšããŠããŸããããåŸã§åç §ã§ããããã«èŠããŠããããšããå§ãããŸãã
ä¿¡å·[C]ã¯ãç·è²ã®ç·ãéã£ãŠã·ã¹ãã ãééããŸããç°¡åã«è¿œè·¡ã§ããä»ã®ä¿¡å·ãšæ··åããªãããã«ãå®å šã«å¥ã®ã¯ã€ã€ãŒïŒããšãã°ããã¹ãèµ€ãã¯ã€ã€ãŒäžã«ããïŒã§åé¢ãããã£ãã®ã§ãã
ã¬ãžã¹ã¿ãŒ-ãããã«è ããããªãã§ãã ãããããã¯ããããã·ã¹ãã å šäœã®äžã§æãè€éãªéšåã§ããããã·ã³å šäœãã©ã®ããã«æ©èœããããçè§£ããããšãéèŠã§ãã
ã¬ãžã¹ã¿ã«ã¯å€ãå«ãŸããŠããŸããéåžžã®ç掻ã§ã¯ã8ãããããã³ãã®ä»ã®ä¿¡å·ããšã«ã¬ãžã¹ã¿ãäœæããå¿ èŠããããŸãã幞ããFactorioã§ã¯1æ¬ã®åç·ã§è€æ°ã®ä¿¡å·ãéä¿¡ã§ããŸããåºæ¬çã«ããããã¯JKããªã¬ãŒã§ãã
ããããã©ã®ããã«æ©èœãããã«ã€ããŠç°¡åã«èª¬æããŸããåæãã«ã¹ããšã«ãå éšã«ãããã®ããã©ãã·ã¥ããå ¥åå€ãä¿æããŸããå ¥åå€ããªãå ŽåïŒãã¹ãŠãŒãïŒããããã¯åæãµã€ã¯ã«ã§ã¯ãªã¢ãããŸãããã¡ãããããããåžžã«ç©ºã«ãªãããšã¯æãŸãããããŸãããçµå±ã®ãšãããå€ãæ ŒçŽããå¿ èŠããããŸãããããã£ãŠããããã説æããå¶åŸ¡ããžãã¯ã䜿çšããåŸã§ããªã¬ãŒãäœæãããšããé»éè¡ãæ±ããŸãã
ä¿åãããå€ïŒ1ïŒã¯æäžé»ç¯ã§è¡šç€ºãããŸããã©ã€ããç¹ç¯ããŠãããšãã¯1ãæå³ããæ¶ç¯ããŠãããšãã¯0ãæå³ããŸããã芧ã®ãšãããçŸåšå€1110 1001
ãæ ŒçŽããŠããŸãã å€ããã¹ã«åºåããã«ã¯ãã²ãŒãå¶åŸ¡ããžãã¯ïŒ2ïŒã䜿çšããŸãã [K]ä¿¡å·ãããŒã®å Žåããã®ã²ãŒãã¯ã¬ãžã¹ã¿å ã«ãããã®ããã¹ãŠã¡ã€ã³ãã¹ã«åºåããŸãã
ä¿¡å·ãäœããé«ããªããšãã«ãªãããã䜿çšããã®ã§ããïŒè«çã²ãŒãã¯äŸçµŠããããã¹ãŠã®ãã®ãåºåããããïŒèµ€*ïŒããã®çµæããã¹ã«ã¯ä¿¡å·[K]ããããããã¯å¿ èŠãããŸãããå¿ èŠãªã®ã¯[7ã6ã5ã4ã3]ã ãã§ãã ã2ã10]ãåãçç±ã§ãå¿ èŠãªãšãã«ã®ã¿[K]ãåä¿¡ããããã«ãã²ãŒãïŒ3ïŒã§å¶åŸ¡ä¿¡å·ããã£ã«ã¿ãŒã§é€å»ããå¿ èŠããããŸãã
ã²ãŒãïŒ4ïŒã¯ããã¹ïŒèµ€ãç·ïŒãšå¶åŸ¡ä¿¡å·ïŒç·ã®ç·ïŒã®äž¡æ¹ã«æ¥ç¶ãããŠããŸããåã®å Žåãšåæ§ã«ãã¬ãžã¹ã¿ã¯ä¿¡å·[A]ãããŒã®ãšãã«å ¥åãåãåããŸããä»ã®ãã¹ãŠã®ä¿¡å·ããã£ã«ã¿ãŒã§é€å»ããã«ã¯ãè«çã²ãŒãïŒ4aïŒã䜿çšããŸããå®éããã¹ããã®ãã¹ãŠã®å ¥åãšäžèŠãªå¶åŸ¡ä¿¡å·ãåãåããããããã³ã³ãããŒã¿ïŒ4bïŒã«è¿œå ããŸããã³ã³ãããŒã¿ã®å ¥åã¯åžžã«ä¿¡å·[7ã6ã... 0] = 1ã§ããã0ã®å Žåããããã®åä¿¡å·= 1ãåºåããŸããç°¡åã§ãããïŒãã®å Žåããã¹ããã®éèŠãªå€ã®ã¿ãã¬ãžã¹ã¿ã«å ¥åãããŸãïŒå€0ã¯åŒãç¶ã1ã§ããã1ã¯ããã¯ãµã€ã¯ã«ã®éç¹æ» ãããã®åŸãé«CLKãµã€ã¯ã«å šäœãéããŠç¡å¹ã®ãŸãŸã«ãªããŸãïŒã
ãã®ãããªç¶æ³ã§ã[C]ããã€ã«ãªããšãã·ã£ãã¿ãŒïŒ6ïŒã¯[BLACK]ä¿¡å·ãåºåããã·ã£ãã¿ãŒïŒ6aïŒã¯[C]ãç¡å¹ã«ããŸãããã ããUPSããŒãã«ãªããŸã§ããš1åããããããã²ãŒãïŒ6ïŒã¯ãã®ãããªçæéã§ä¿¡å·ãåºåããŸãã
次ã«ããã®ä¿¡å·ã¯ã²ãŒãïŒ7ïŒã«è»¢éãããã²ãŒãïŒ7ïŒãçæééããŸããã²ãŒãïŒ7bïŒã¯ã[BLACK]ä¿¡å·ãç¡å¹ã«ããŠãä¿¡å·ã®ã«ã¹ããã£ã¢ã³ãšããŠäœ¿çšãããã²ãŒãïŒ8ïŒã«æ ŒçŽãããªãããã«ããŸããããã¯ãå ¥åãšåºåã®äž¡æ¹ãçžäºã«æ¥ç¶ãããŠãããããCLKãããã«äŒŒãŠããŸããå ¥åããªãå Žåã¯ã倿ŽãããŸãããæ°ããããŒã¿ãå ¥åããã«ããäžåºŠã¯ããã¯ã倿Žãããšãã²ãŒãïŒ7aïŒã¯ãã¬ãžã¹ã¿ã«æ ŒçŽãããŠããå€ã«å¯ŸããŠå転ããä¿¡å·ãå ¥åããŠããããã¯ãªã¢ããŸãã
倿Žèªèãšã¬ãžã¹ã¿ãŒãã©ã®ããã«æ©èœããããããã£ãã®ã§ãã»ãšãã©ãã¹ãŠãããããŸããã
ALU-ã¬ãžã¹ã¿ïŒAïŒãšïŒBïŒã«ãããã®ãåžžã«å ç®/æžç®ããŸãã [Z]ãã¹ã«åºåãããã[S]ãæžç®ããããã«ã¢ãŒãã倿Žããããå¶åŸ¡ããã ãã§ãã
äœ¿ãæ¹ïŒèª¬æã¯ç§ã®èšäºã®3åã«ãªãã®ã§ãå šäœåãææ¡ããã«ã¯ãBenIterã®ãããªãããã€ãèŠãããšããå§ãããŸãã
Factorioã§ãã®ãããªå ç®åšãäœæããæ¹æ³ã«ã€ããŠã®ã¿èª¬æããŸãã
ãããè¡ãã«ã¯ãXORïŒ1ïŒãANDïŒ2ïŒãããã³ORïŒ3ïŒã®3çš®é¡ã®ã²ãŒããå¿ èŠã§ãã幞ããªããšã«ããããã¯äœæããã®ã«ååç°¡åã§ããåãã©ã€ã³ã§è€æ°ã®ä¿¡å·ã䜿çšã§ãããããæåã®XORããã³ANDã²ãŒãã2ã€ã«ç°¡ç¥åã§ãã8ããããã¹ãŠã«å¯ŸããŠããããå®è¡ããå¿ èŠã¯ãããŸãããããã«ãããïŒ4ïŒãã§ãŒã³ã®äžéšãäœæãããããããšã«è€è£œããããšãã§ããŸãã
æžç®ã¯ãã¬ãžã¹ã¿ïŒBïŒããã®ä¿¡å·ãå転ããä¿¡å·[S]ã䜿çšããŠå®è¡ãããŸãã
ALUã¯ãã£ãªãŒãåºåãïŒåèšã8ããããè¶ ããå ŽåïŒããŒã調æŽããŠå³åŽã®ã¬ãžã¹ã¿ïŒã¡ã€ã³ã³ã³ãã¥ãŒã¿ã®ç»åã®FïŒã«æ ŒçŽããŸãã
LCD /ç»é¢-åšå§çã«èŠããŸãããæ£çŽãªãšãããäœæããã®ãæãç°¡åã§ããããã¹ãŠãæ£ããæ¥ç¶ããã®ã«æéããããã ãã§ãã
ãŸããå ¥åã[P]ä¿¡å·ã«ãã£ãŠå¶åŸ¡ãããã¬ãžã¹ã¿ãäœæããŸããæ¬¡ã«ãåãããã«ãã®å€ãæããŠãããã10é²å€ã«å€æãã10é²å€ãæã€åãä¿¡å·ãååŸããŸãïŒããã¯Factorioã§ã®äžæ£è¡çºã®ãããªãã®ã§ãããããã°ã©ã å¯èœãªEEPROMããªããããããŸãåããå€ããããšãã§ããŸããïŒã倿ããã«ã¯ãæåã®ããã[0]ãååŸããŠ* 1ãä¹ç®ããæ¬¡ã«2çªç®ã®ããã[1]ãååŸããŠ* 2ãä¹ç®ãã3çªç®ã®[2]ã* 4ã§ä¹ç®ããå¿ èŠããããŸãããã®éçšã§ãä»»æã®å€ã«åºåããŠçµæã®æ°å€ã決å®ããŸãïŒãã®å Žåã¯[氎滎]ã§ãïŒã
LCDã¯æ°åïŒ3ïŒã«å¯ŸããŠ9ã¹ãããã§ãªã³ã«ãªããŸããæé ïŒ1ïŒã«å¯Ÿå¿ããã©ã€ããèšå®ããã²ãŒãïŒ2ïŒã䜿çšããŠãå¿ èŠãªå Žæã«æ£ç¢ºã«å€ãåºåããå¿ èŠããããŸããå¥ã®å®æ°ã³ã³ãããŒã¿ïŒ3ïŒã远å ããããã1ã€ã®ç¹å¥ãªã²ãŒãïŒ2ïŒã«ã®ã¿æ¥ç¶ããããšãèŠããŠããå¿ èŠããããŸããæ¬¡ã«ããã¹ãŠã®ã©ã€ããçžäºã«æ¥ç¶ããïŒ1ïŒã®ã©ã®ã¹ãããã«ããããæç€ºããŸãã
RAM /ã¡ã¢ãªã¬ãžã¹ã¿ïŒRADïŒ-ããã§ã¯ãRAMãã©ã®ããã«æ©èœãããã倧ãŸãã«èª¬æããŸãã
åæãã«ã¹ã䜿çšããŠå€ãæ ŒçŽããã¬ãžã¹ã¿ã¯ãã§ã«ããã£ãŠããŸãã RAMã¯ã16åïŒãã®å ŽåïŒã®ç°ãªãã¬ãžã¹ã¿ïŒ2ïŒã®ã°ãªããã§ãããããã®å ¥åã¯ã4ããã[0ã1ã2ã3]ãæ ŒçŽããå¥ã®ã¬ãžã¹ã¿ïŒ1ïŒã«ãã£ãŠå¶åŸ¡ãããŸããããã«ããããã€ã³ãããŠããã¡ã¢ãªäœçœ®ãããããŸããããã¯ãLED /ç»é¢ãšåæ§ã«æ©èœããã¢ãã¬ã¹ãã³ãŒããŒïŒ3ïŒã䜿çšããŠå®è£ ãããŸããåã²ãŒãã¯å®æ°ã³ã³ãããŒã¿ïŒãã®å Žåã¯1100 bin = 10 decïŒããå€ãåãåãã察å¿ããã¬ãžã¹ã¿ïŒãã®å Žåã¯[M]ïŒã®ä¿¡å·åãåºåããŠãå€ã«ã¢ã¯ã»ã¹ã§ããããã«ããŸãïŒãã®å Žåã¯00110ïŒã 0011ïŒã
æåã¡ã¢ãªããã°ã©ãã³ã°ãããã§èšåãã䟡å€ããããŸããããã¯ã[W]ä¿¡å·ã䜿çšããŠå®è¡ã§ãã宿°ã³ã³ãããŒã¿ïŒ4ïŒã䜿çšããŠæå¹/ç¡å¹ã«ã§ããŸããå¥ã®ã³ã³ãããŒã¿ïŒ5ïŒã䜿çšããŠã¢ãã¬ã¹ã倿Žããå¥ã®ã³ã³ãããŒã¿ïŒ6ïŒã䜿çšããŠå€ãå ¥åããŸããæåŸã«ããã¹ãŠããã§ã¹ãïŒ7ïŒã«å ¥ããã ããªã®ã§ãåæãããšãã«ãã³ã³ãã¥ãŒã¿ãŒã®ã¡ã€ã³CLKã«è§Šããããšãªããæåã§å€ãRAMã«è»¢éããŸãã
ããã°ã©ã ã«ãŠã³ã¿ãŒïŒPCïŒ-ãã®ã¿ã¹ã¯ã¯ãã©ã®ããã°ã©ã ã¹ãããã§ããããèšç®ããããšã§ãïŒ1ïŒãèµ·åæã®å€ã¯0000ã§ããã®ã¢ãã¬ã¹ã¯RAMããèªã¿åãããè§£éã®ããã«ã³ãã³ãã¬ãžã¹ã¿ã«è»¢éãããŸããã³ãã³ããå®äºããåŸãä¿¡å·[X]ã§ã«ãŠã³ã¿ãŒãã€ã³ã¯ãªã¡ã³ããããšã0001ã«çãããªããæ¬¡ã®å埩ã§ãã®ã¢ãã¬ã¹ãã¡ã¢ãªããååŸãããã«ãŒããç¶è¡ãããŸãã
ãã¡ãããããã°ã©ã ã®ä»ã®éšåãžã®ç¡æ¡ä»¶ãŸãã¯æ¡ä»¶ä»ãåå²ãå®è¡ããå¿ èŠãããå ŽåããããŸããããã¯ä¿¡å·[J]ã§è¡ãããšãã§ããŸããããŒã®å ŽåïŒãã®å ŽåãããŒã¯ã¢ã¯ãã£ããæå³ããŸãïŒããªã»ããããããžã£ã³ãå ã®ã¢ãã¬ã¹ããã¹ããèªã¿åããã¬ãžã¹ã¿ïŒ2ïŒã«æ ŒçŽããŸãã [J]ãåã³ãã€ã«ãªããšãå€åæ€åºåšïŒ2ã®çäžã«ãããŸãïŒã«PCã«ä¿¡å·ãéããŸãã
ã«ãŠã³ã¿èªäœã¯CLKãšåæ§ã«æ©èœããŸãããã¯ããã¯ãµã€ã¯ã«ãåžžã«ã«ãŠã³ãããã®ã§ã¯ãªããCLKã®å€åãæ€åºããããšãã«ïŒå®éã«ã¯ãXãšCLKãã¢ã¯ãã£ããªå Žåã«ã®ã¿ïŒã¯ããã¯ãµã€ã¯ã«ãã«ãŠã³ãããŸããããã¯ç»åïŒ1ïŒã§èŠãããšãã§ããŸãã
次ã«ãå¶åŸ¡ä¿¡å·[C]ã䜿çšããŠä¿¡å·ããã¹ã«é©çšã§ããŸãã
ã¹ã€ããããŒãïŒSBïŒ-ããã¯ãããã°ã©ã ã§äœ¿çšãããåå¶åŸ¡ä¿¡å·ã説æããé©åãªã¿ã€ãã³ã°ã§ãã
ä¿¡å·ã¯2è²ã«åãããŠãããç·ã¯å·Šãèµ€ã¯å³ã«ãªããŸãã宿°ã³ã³ãããŒã¿ããã®åä¿¡å·ã¯ãå®éã«ã¯å€[-1]ãšããŠæž¡ãããŸããã€ãŸããã³ã³ãããŒã¿ã*ïŒ= 0ã«èšå®ãããŠããå Žåãä¿¡å·1ãåºåã§ããŸããããã«ãããå¶åŸ¡ããžãã¯ãä¿¡å·[1]ãéä¿¡ãããšããããã¯ãã£ã³ã»ã«ããã[0]ãååŸããŸãããã¹ãŠã®å Žåãããã ããå¿ èŠã§ãïŒã¬ãžã¹ã¿ãŒã«ã€ããŠèª¬æããŠããéšåã§èªãããšãã§ããŸãïŒã
[H]-ã¯ããã¯ãžã§ãã¬ãŒã¿ã忢ãïŒæåã¢ãŒãã«åãæ¿ããŸãïŒãé«ä¿¡å·ã¯CLKãåãæ¿ããããªãããšãæå³ããŸãã
[Q]-ã¬ãžã¹ã¿ãé 眮ãããŠããRAMã®ã¢ãã¬ã¹ã§ãé«ä¿¡å·ã®å ŽåãRAMã¢ãã¬ã¹ã¬ãžã¹ã¿ã¯æ¬¡ã®CLKãµã€ã¯ã«ã§ãã¹ããã®å€ãä¿åããŸãã
[Y] -RAMã¡ã¢ãªå ¥åãRAMä¿¡å·ããã€ã®å Žåãæ¬¡ã®CLKãµã€ã¯ã«ïŒã¢ãã¬ã¹ã¬ãžã¹ã¿ã«æ ŒçŽãããŠããã¢ãã¬ã¹ïŒã§ãã¹ããå€ãä¿åããŸãã
[R] -RAMåºåãRAMä¿¡å·ããã€ã®å Žåãæ¬¡ã®CLKãµã€ã¯ã«ã§ïŒã¢ãã¬ã¹ã¬ãžã¹ã¿ã«æ ŒçŽãããŠããã¢ãã¬ã¹ããïŒå€ããã¹ã«åºåããŸãã
[V]-ã³ãã³ãã¬ãžã¹ã¿ã®å ¥åãä¿¡å·ããã€ã®å Žåãã³ãã³ãã¬ãžã¹ã¿ã¯æ¬¡ã®CLKãµã€ã¯ã«ã§ãã¹ããã®å€ãä¿åããŸãã
[U]-ã³ãã³ãã¬ãžã¹ã¿ã®åºåãä¿¡å·ããã€ã®å Žåãã³ãã³ãã¬ãžã¹ã¿ã¯æ¬¡ã®CLKãµã€ã¯ã«ã§å€ããã¹ã«åºåããŸãïŒæåŸã®4ããã[3ã2ã1ã0]ã®ã¿ïŒã
[C]-ããã°ã©ã ã«ãŠã³ã¿ãŒã®åºåãä¿¡å·ããã€ã®å Žåãããã°ã©ã ã«ãŠã³ã¿ãŒã¯æ¬¡ã®CLKãµã€ã¯ã«ã§å€ããã¹ã«åºåããŸãïŒæåã®4ããã[7ã6ã5ã4]ã®ã¿ïŒã
[J]-é·ç§»ã¢ãã¬ã¹ã®å ¥åãä¿¡å·ããã€ã®å Žåãããã°ã©ã ã«ãŠã³ã¿ãŒã¯æ¬¡ã®CLKãµã€ã¯ã«ã§ãã¹ããã®å€ãèšå®ããŸãïŒæåŸã®4ããã[3ã2ã1ã0]ã®ã¿ïŒã
[X]-ã³ãã³ãã«ãŠã³ã¿ãŒã®å€ãå¢ãããŸããä¿¡å·ããã€ã®å Žåãããã°ã©ã ã«ãŠã³ã¿ãŒã¯æ¬¡ã®CLKãµã€ã¯ã«ã§ã€ã³ã¯ãªã¡ã³ããå®è¡ããŸãã
[A]-ã¬ãžã¹ã¿Aã®å ¥åãã¬ãžã¹ã¿Aã«Highä¿¡å·ãããããã¹ããã®å€ã¯æ¬¡ã®CLKã¯ããã¯ãµã€ã¯ã«ã§ä¿åãããŸãã
[K]-ã¬ãžã¹ã¿Aã®åºåãã¬ãžã¹ã¿Aããã®ãã€ä¿¡å·ã§ãå€ã¯æ¬¡ã®CLKã¯ããã¯ãµã€ã¯ã«ã§ãã¹ã«åºåãããŸãã
[Z] -ALUãã³ãALUä¿¡å·ããã€ã®å Žåãæ¬¡ã®CLKãµã€ã¯ã«ã§å€ããã¹ã«åºåããŸãã
[S]-æžç®ïŒALUïŒãä¿¡å·ããã€ã®å ŽåãALUã¯ã¢ãŒããå ç®ããæžç®ã«å€æŽããŸãã
[B]-ã¬ãžã¹ã¿Bã®å ¥åãã¬ãžã¹ã¿Bã«ãã€ä¿¡å·ãããå Žåããã¹ããã®å€ã¯æ¬¡ã®CLKã¯ããã¯ãµã€ã¯ã«ã§ä¿åãããŸãã
[L]-ã¬ãžã¹ã¿Bã®åºåãã¬ãžã¹ã¿Bããã®ãã€ä¿¡å·ã§ãå€ã¯æ¬¡ã®CLKã¯ããã¯ãµã€ã¯ã«ã§ãã¹ã«åºåãããŸãã
[P] -LCD /ã¹ã¯ãªãŒã³ã¬ãžã¹ã¿ã«å ¥ããšãä¿¡å·ããã€ã«ãªããšããã¹ããã®å€ã次ã®CLKãµã€ã¯ã«ã§LCD /ã¹ã¯ãªãŒã³ã¬ãžã¹ã¿ã«ä¿åããããã®å€ã衚瀺ãããŸãã
[W]-ãã©ã°ã¬ãžã¹ã¿ã®å ¥åãä¿¡å·ããã€ã®å Žåããã©ã°ã¬ãžã¹ã¿ã¯ALUããã®ãã£ãªãŒïŒ8ããããè¶ ããå ŽåïŒããŒãïŒALUæäœ= 0000 0000ã®å ŽåïŒãä¿åããŸãã
[ãã³ã¯ä¿¡å·]-ãã£ãªãŒãã©ã°ãçºçããŸãã[T]
[ã¿ãŒã³ã€ãºä¿¡å·]-ãŒããã©ã°ãçºçããŸãã[O]
ããã§ãOUTã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠããããšããŸããã¬ãžã¹ã¿Aã«ãããã®ãååŸããLCD /ç»é¢ïŒã¬ãžã¹ã¿ïŒã«åºåããŸãã ..ãããæåã§è¡ãã«ã¯ã[K]ä¿¡å·ïŒã¬ãžã¹ã¿A->ãã¹ã®åºåïŒãšä¿¡å·[P]ïŒãã¹->ã¬ãžã¹ã¿å ¥ålcdïŒããªã³ã«ããïŒç¹å®ã®æåã®å®æ°ã³ã³ãããŒã¿ããªãã«ããïŒå¿ èŠããããŸãã / screenïŒã次ã«CLKã¯ããã¯ãå®è¡ããŸãã
ã³ãã³ãã¬ãžã¹ã¿/ãã³ãŒããŒ/ãã€ã¯ãã³ãŒãã«ãŠã³ã¿ãŒ-ããããéæ³ãå§ãŸããŸããã³ã³ãã¥ãŒã¿ãŒãæåã§å¶åŸ¡ããæ¹æ³ãããã£ãã®ã§ãããã¯çè§£ã«åœ¹ç«ã¡ãŸãã圌ãèªåèªèº«ã管çã§ããããã«ããããã«äœãããå¿ èŠããããã
ïŒ1ïŒãã€ã¯ãã³ãŒãã«ãŠã³ã¿ãŒã¯8ã«ã«ãŠã³ããããŸãïŒããã»ã©å¿ èŠãªãå Žåã¯æ°ãæžããããšãã§ããŸãïŒãã€ãŸãã8ã€ã®ç°ãªããªã³/ãªãã³ãã³ããå®è¡ããŠã1ã€ã®ã³ãã³ãã§ã¢ã¯ã·ã§ã³ãå®è¡ã§ããŸãã
ïŒ2ïŒã³ãã³ãã¯ãã¹ããã¬ãžã¹ã¿ã«èªã¿èŸŒãŸããŸãããã®ããã«ã¯ãä¿¡å·[C]ïŒã³ãã³ãã«ãŠã³ã¿ã®åºå->ãã¹ïŒãš[Q]ïŒãã¹->å ¥åã¡ã¢ãªã¢ãã¬ã¹ïŒããªã³ã«ããå¿ èŠããããŸãã RAM [R]ïŒåºåRAM->ãã¹ïŒãã³ãã³ãã¬ãžã¹ã¿[V]ïŒãã¹->ã³ãã³ãã¬ãžã¹ã¿ïŒã«èªã¿åããã«ãŠã³ã¿[X]ãã€ã³ã¯ãªã¡ã³ãããŸãã
äžèšã®ãã¹ãŠã®ã¢ã¯ã·ã§ã³ãæ¯åå®è¡ããå¿ èŠããããããããããã¹ãŠïŒ4ïŒããã€ã¯ãã³ãŒãã«ãŠã³ã¿ãŒã«çŽæ¥æ¥ç¶ããŠãã«ãŠã³ã¿ãŒãã¹ããã0ãš1ãå®è¡ãããã³ã«ãããçºçããããã«ã
ãŸãããã¬ãžã¹ã¿ãŒã«äœããããå Žåã¯ã次ã䜿çšã§ããŸãã RAMã¢ãã¬ã¹ã¬ãžã¹ã¿çšã«äœæããŠLCD /ç»é¢ã«åºåãããã®ãšåæ§ã®ççå€è¡šã
ã³ãã³ãã¬ãžã¹ã¿ïŒåžžã«8ãã倧ããïŒãšãã€ã¯ãã³ãŒãã«ãŠã³ã¿ãŒïŒåžžã«8以äžïŒããã®[D]å€ã远å ã§ããçµæã®æ°å€ã䜿çšããŠè«çã²ãŒããäœæã§ããŸããããã¯ã²ãŒãïŒ3ïŒã«ãã£ãŠè¡ãããŸãã
ãã®äŸã¯ãã³ãã³ã0110 XXXXïŒJMPã³ãã³ããããã°ã©ã ããdecã®48 + XïŒã瀺ããŠããŸãããã®ã³ãã³ãã¯ããã€ã¯ãã³ãŒãã«ãŠã³ã¿ãŒã®ã¹ããã2ã«è¿œå ããã50ã«ãªããŸãã
å¥ã®äŸïŒã³ãã³ãADDïŒ0010 XXXX-16 + X in decïŒ;ã¹ããã0ãš1ã®åŸããã€ã¯ãã³ãŒãã¯2ã«ãªããŸããã€ãŸããã¬ãžã¹ã¿18ã24ãã³ãŒãã®å¥ã®éšåã«äœ¿çšã§ããŸãïŒãã®å ŽåãADDã¯3ã¹ãããã®ããã»ã¹ã§ããããã18ã20ã®ã¿ãå¿ èŠã§ãïŒã
ïŒ5ïŒãã£ãªãŒãã©ã°ã¯åçŽãªè«çã²ãŒãã«ãã£ãŠåŠçãããè«çã²ãŒãã«ãã£ãªãŒ[T]ãŸãã¯ãŒã[O]ãé©çšãããŠããªãå Žåã«ã®ã¿å ¥åãç¡å¹ã«ãªããŸãã
以äžã¯ãå®è£ ãããã³ãã³ãã®å®å šãªãªã¹ãã§ãïŒã³ãã³ãã倿Žããããç¬èªã®ã³ãã³ãã远å ãããã§ããŸãïŒïŒïŒ
0 NOP --0000XXXX-äœãããŸããã
1 LDA X-0001 XXXX-XRAMã¢ãã¬ã¹ããã¬ãžã¹ã¿Aã«å€ãããŒãããŸãã
2 ADD X-0010 XXXX-X RAMã¢ãã¬ã¹ããã¬ãžã¹ã¿Bã«å€ãããŒãããæ¬¡ã«å ç®ãåºåããŠã¬ãžã¹ã¿Aã«é 眮ã
ãŸãã3ADDX-0011 XXXX-XRAMã¢ãã¬ã¹ããã¬ãžã¹ã¿Bã«å€ãããŒãããŸããæ¬¡ã«ãæžç®ãåºåããŠ
ã¬ãžã¹ã¿Aã«æ ŒçŽããŸã
ã4STAX -0100 XXXX-ã¬ãžã¹ã¿Aããå€ãããŒãããã¢ãã¬ã¹X.5ã®RAMã«æ ŒçŽããŸã ãLDIX-0101XXXX-ã³ãã³ãã¬ãžã¹ã¿ããå€ããã°ããããŒãããŸãïŒã¬ãžã¹ã¿Aãžã®4ãããå€ã®ã¿ïŒ
ã6JMPX-0110 XXXX-ç¡æ¡ä»¶ïŒåžžã«çºçïŒãå€Xãžã®é·ç§»ïŒPCã¯Xã®å€ãå²ãåœãŠãŸãïŒã
7 JC X-0111 XXXX-ãã£ãªãŒå€[T]ãtrueã®å Žåãå€Xã«ãžã£ã³ãããŸãïŒPCãXã«å²ãåœãŠãŸãïŒã
8 JO X-1000 XXXX-ãŒã[O]ã®è»¢éãçã®å Žåãå€Xã«ç§»åããŸãïŒPCå€ãXã«å²ãåœãŠãŸãïŒã
9 OUR X-1001 XXXX-XRAMã¢ãã¬ã¹ããã®å€ã衚瀺ããŸãã
..ã
..ã
..ã
14 OUT-1110 XXXX-ã¬ãžã¹ã¿Aãã衚瀺ãå®è¡ããŸãïŒXã¯äœãããŸããïŒã
15 HLT-1111 XXXX-åæãžã§ãã¬ãŒã¿ãŒã忢ããŸãïŒXã¯äœãããŸããïŒã
ç°¡åãªããã°ã©ã ãæžããŠããããã©ã®ããã«æ©èœãããèŠãŠã¿ãŸãããïŒ
0 LDA3-ã¡ã¢ãªã¢ãã¬ã¹ããã¬ãžã¹ã¿Aã«å€ãããŒãããŸã 31OUT-
ã¬ãžã¹ã¿Aããã®å€ã衚瀺ããŸã
ã2HLT-CLKãã€ãŸããã·ã³å šäœã忢ããŸãã
3 42-ä¿åãããå€
ã€ãŸããå®éããã®ããã°ã©ã ã¯ã¢ãã¬ã¹3 RAMïŒãã€ããªã§ã¯0011ïŒã«ä¿åãããå€ãåºåããŸãã
ãã€ããªã«å€æããŠã¿ãŸãããïŒ
0ã¢ãã¬ã¹ïŒ0000ãå€ïŒ0001 0011
1ã¢ãã¬ã¹ïŒ0001ãå€ïŒ1110 0000
2ã¢ãã¬ã¹ïŒ0010ãå€ïŒ1111 0000
3ã¢ãã¬ã¹ïŒ0011ãå€ïŒ0010 1010
ã€ãŸããããã°ã©ã ãäœæããã«ã¯ãã¢ãã¬ã¹0000ããå§ãŸãã¡ã¢ãªïŒã¡ã¢ãªããã«ã®WãRAMã€ã¡ãŒãžã®ããéšåãåç §ïŒã«æžã蟌ã¿ãå€0001 0011ãå éšã«å ¥åããå¿ èŠããããŸãïŒ0001ã¯LDAã³ãã³ããæå³ãã0011ã¯Xãã€ãŸãã¢ãã¬ã¹ã§ãã 3ã¡ã¢ãªå ïŒ..ã
次ã«ãä»ã®ããŒã ã«ã€ããŠãåãããšãè¡ããŸãã
ããäžåºŠ[W]ãç·è²ã«å€ããŠãã«ãŠã³ã¿ãŒã®åæ¢ãä¿åããããšãå¿ããªãã§ãã ããã
Jã§ãžã£ã³ãããŠPCããªã»ããããããšãã§ããŸãïŒCLKããŒãã倿Žããå¿ èŠã¯ãããŸããïŒã