2000³â 5¿ù 1ÀÏ¿¡ ÀÛ¼ºµÈ ±â¼ú³ëÆ®ÀÔ´Ï´Ù.
¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼¸¦ ÀÌ¿ëÇÑ ½Ã½ºÅÛ¿¡¼ CPU¿Í ¿ÜºÎ ¸Þ¸ð¸®³ª ÀÔÃâ·ÂÀåÄ¡ »çÀÌ¿¡´Â ¹ö½º·Î Á¢¼ÓµÇ´Â ±¸Á¶¸¦ °®´Â´Ù. ±×·¯¸é, ÀÌ ¹ö½º¶õ ¹«¾ùÀ̸ç, ¿Ö À̸¦ »ç¿ëÇϴ°¡? ÀÌ°ÍÀ» ¾Æ´Â °ÍÀº ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼¸¦ ÀÌÇØÇϴµ¥ °¡Àå ±âÃÊ°¡ µÉ °ÍÀÌ´Ù.
¹ö½º(bus)¶õ µðÁöÅРȸ·Î¿¡¼ µ¿ÀÏÇÑ ±â´ÉÀ» ¼öÇàÇÏ´Â ¸¹Àº ½ÅÈ£¼±µéÀÇ Áý´ÜÀ̶ó°í Á¤ÀÇ ÇÒ ¼ö ÀÖ´Ù. ÇϳªÇϳªÀÇ ½ÅÈ£µéÀÌ °³ÀÎ ±³Åë¼ö´ÜÀÎ Åýÿ¡ ÇØ´çÇϵíÀÌ ¹ö½º´Â ´ë·® ±³Åë¼ö´ÜÀÎ ¹ö½º³ª ±âÂ÷¿¡ ÇØ´çÇÏ´Â °ÍÀÌ´Ù. CPU°¡ ¿ÜºÎ¿¡ ÀÖ´Â ¸Þ¸ð¸®³ª I/OµéÀÇ ¹øÁö¸¦ ÁöÁ¤Çϴµ¥ »ç¿ëÇÏ´Â ½ÅÈ£¼±µéÀ» ¾îµå·¹½º ¹ö½º¶ó°í Çϸç, CPU°¡ ¿ÜºÎ¿¡ ÀÖ´Â ¸Þ¸ð¸®³ª I/Oµé°ú µ¥ÀÌÅ͸¦ ÁÖ°í¹Þ´Âµ¥ »ç¿ëÇÏ´Â ½ÅÈ£¼±µéÀ» µ¥ÀÌÅÍ ¹ö½º¶ó°í ÇÑ´Ù.
ÄÄÇ»ÅÍ ½Ã½ºÅÛ¿¡¼ ¹ö½º ±¸Á¶¸¦ »ç¿ëÇϸé ÀüüÀûÀΠȸ·Î°¡ ¸Å¿ì °£´ÜÇØÁø´Ù. ¿¹¸¦ µé¾î ¼¿ï¿¡¼ ¼ö¿øÀ̳ª ´ëÀü, ´ë±¸, ºÎ»ê µîÀ¸·Î °¡´Â °í¼Óµµ·Î¸¦ °¢°¢ º°µµ·Î °Ç¼³ÇÑ´Ù¸é ¼¿ï ±Ù¹æÀÇ ¶¥Àº ¸»ÇÒ °Íµµ ¾ø°í Àü±¹ÀÌ ¿ÂÅë °í¼Óµµ·Î·Î µÚµ¤ÀÏ °ÍÀÌ´Ù. ±×·¯³ª, ¼¿ï¿¡¼ ºÎ»ê±îÁö 1°³ÀÇ °æºÎ°í¼Óµµ·Î¸¦ °Ç¼³ÇÏ°í ÀÌ ÁÖº¯¿¡ ÀÖ´Â µµ½Ã·Î °¡°íÀÚ ÇÏ´Â °æ¿ì¿¡´Â ÀÌ °í¼Óµµ·Î¿Í °¡Àå °¡±î¿î °÷¿¡¼ ÀÎÅÍüÀÎÁö¸¦ ÅëÇÏ¿© Á¢¼ÓÇϸé Æí¸®ÇÒ °ÍÀÌ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á ÈξÀ ÀûÀº °í¼Óµµ·Î·Îµµ Àü±¹ÀÇ °¢ µµ½ÃµéÀ» Æí¸®ÇÏ°Ô ¿¬°áÇÒ ¼ö ÀÖ°Ô µÉ °ÍÀÌ´Ù. ÄÄÇ»ÅÍ¿¡ ¼ ¹ö½º¶õ ÀÌ¿Í °°ÀÌ °í¼Óµµ·ÎÀÇ ¿ªÇÒÀ» ÇÑ´Ù.
ÄÄÇ»ÅÍ¿¡¼´Â Ç¥ÁØÀûÀ¸·Î ´ÙÀ½°ú °°Àº 3°¡ÁöÀÇ ½Ã½ºÅÛ ¹ö½º(system bus)¸¦ »ç¿ëÇÑ´Ù.
1. ¾îµå·¹½º ¹ö½º(address bus)
ÀÌ°ÍÀº ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼°¡ ¿ÜºÎÀÇ ¸Þ¸ð¸®³ª ÀÔÃâ·ÂÀåÄ¡ÀÇ ¹øÁö¸¦ ÁöÁ¤ÇÒ ¶§ »ç¿ëÇÏ´Â ´Ü¹æÇâ ¹ö½º(unidirectional bus)ÀÌ´Ù. µû¶ó¼, ¾îµå·¹½º ¹ö½º ½ÅÈ£¼±ÀÇ ¼ö´Â ÃÖ´ë·Î »ç¿ë°¡´ÉÇÑ ¸Þ¸ð¸®ÀÇ ¿ë·®À̳ª ÀÔÃâ·ÂÀåÄ¡ÀÇ ¼ö¸¦ °áÁ¤ÇÑ´Ù. Intel °è¿ÀÇ ´ëºÎºÐ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼¿¡¼´Â °°Àº ¹øÁö°ªÀ¸·Î ¸Þ¸ð¸® ¹øÁö(memory address)¿Í ÀÔÃâ·Â ÀåÄ¡ÀÇ ¹øÁö(I/O port)¸¦ ±¸º°ÇÏ¿© ÁöÁ¤ÇÒ ¼ö ÀÖ´Â isolated I/O ¹æ½ÄÀ» äÅÃÇÏ°í ÀÖÀ¸¸ç, Motorola °è¿ÀÇ ¸¶ÀÌÅ©·Î ÇÁ·Î¼¼¼¿¡¼´Â ÁÖ·Î À̸¦ ±¸º°ÇÏÁö ¾Ê´Â memory-mapped I/O ¹æ½ÄÀ» äÅÃÇÏ°í ÀÖ´Ù.
2. µ¥ÀÌÅÍ ¹ö½º(data bus)
¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼¿¡¼ ¸Þ¸ð¸®³ª Ãâ·ÂÀåÄ¡·Î µ¥ÀÌÅ͸¦ Ãâ·ÂÇϰųª ¹Ý´ë·Î ¸Þ¸ð¸®³ª ÀÔ·Â ÀåÄ¡·ÎºÎÅÍ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÒ ¶§ ÀÌµé µ¥ÀÌÅÍÀÇ Àü¼Û·Î·Î »ç¿ëµÇ´Â ¾ç¹æÇâ ¹ö½º(bidirectional bus)ÀÌ´Ù. ÀϹÝÀûÀ¸·Î µ¥ÀÌÅÍ ¹ö½º ½ÅÈ£¼±ÀÇ ¼ö´Â ±× ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼ÀÇ ¿öµå(word) ±æÀÌ¿Í °°À¸¸ç, ÀÌ°ÍÀº ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼ÀÇ ¼º´É(performance)À» °áÁ¤ÇÏ´Â Áß¿äÇÑ ¿ä¼Ò°¡ µÈ´Ù.
3. Á¦¾î ¹ö½º(control bus)
¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼°¡ ÇöÀç ¼öÇàÁßÀÎ ÀÛ¾÷ÀÇ Á¾·ù³ª »óŸ¦ ¸Þ¸ð¸®³ª ÀÔÃâ·Â ±â±â¿¡°Ô ¾Ë·Á ÁÖ´Â Ãâ·Â½ÅÈ£¿Í, ¿ÜºÎ¿¡¼ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼¿¡°Ô ¾î¶² µ¿ÀÛÀ» ÃëÇϵµ·Ï ¿ä±¸Çϱâ À§ÇÑ ÀԷ½ÅÈ£ µîÀ¸·Î ±¸¼ºµÇ´Â ´Ü¹æÇâ ¹ö½ºÀÌ´Ù. ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼ÀÇ ±â´É(function)Àº À̵é Á¦¾î½ÅÈ£¿¡ ÀÇÇÏ¿© Å©°Ô Á¿ìµÈ´Ù.
ÄÄÇ»ÅÍ ½Ã½ºÅÛ¿¡¼ÀÇ ¹ö½º¿¡´Â À̹ۿ¡µµ ·ÎÄùö½º(local bus)°¡ ÀÖ´Ù. ½Ã½ºÅÛ ¹ö½º´Â CPUÀÇ ÁÖº¯¿¡ ÀÓÀÇÀÇ ¸Þ¸ð¸®³ª I/OÀåÄ¡¸¦ Á¢¼ÓÇϴµ¥ »ç¿ëÇÏÁö¸¸, ·ÎÄùö½º´Â Àüü ½Ã½ºÅÛÀÇ Æ¯Á¤ÇÑ ºÎºÐ¿¡¼ ±¹ÁöÀûÀ¸·Î »ç¿ëµÇ´Â ¹ö½º¸¦ ÁöĪÇÑ´Ù. ¿¹¸¦ µé¾î ÆÛ½º³ÎÄÄÇ»ÅÍ¿¡¼ ÇÁ¸°ÅÍ ÀÎÅÍÆäÀ̽º ȸ·Î¸¦ °ÅÃļ ½ÇÁ¦·Î ÇÁ¸°Å͸¦ Á¢¼ÓÇϱâ À§ÇÑ 25ÇÉÀÇ ÇÁ¸°ÅÍ ÄܳØÅÍ¿¡ ÀÖ´Â ½ÅÈ£µéÀº ·ÎÄùö½º¶ó ÇÒ ¼ö ÀÖ°í, Çϵåµð½ºÅ©¸¦ Á¢¼ÓÇϱâ À§ÇÑ Ç÷§ ÄÉÀÌºíµµ ·ÎÄùö½º¶ó°í ÇÒ ¼ö ÀÖ´Ù.
¶ÇÇÑ, 8051À̳ª 80196°ú °°ÀÌ ¸¶ÀÌÅ©·ÎÄÜÆ®·Ñ·¯ ¼ÒÀÚÀÇ Çɼö¸¦ Àý¾àÇϱâ À§ÇÏ¿© ¾îµå·¹½º¿Í µ¥ÀÌÅÍ ¹ö½º¸¦ ½ÃºÐÇÒ´ÙÁßȽÃÄÑ »ç¿ëÇÏ´Â ¹æ½Ä¿¡¼´Â ¿ÜºÎ¿¡¼ 74LS573°ú °°Àº 8ºñÆ® ·¡Ä¡ ¼ÒÀÚ¸¦ »ç¿ëÇÏ¿© À̸¦ ºÐ¸®Çϴµ¥, À̸¦ ºÐ¸®ÇÑ ¾îµå·¹½º ¹ö½º¿Í µ¥ÀÌÅÍ ¹ö½º´Â ½Ã½ºÅÛ ¹ö½º¿¡ ÇØ´çÇÏÁö¸¸ À̰͵éÀ» ºÐ¸®Çϱâ ÀüÀÇ ´ÙÁßÈµÈ AD7¢¦AD0Àº ·ÎÄùö½º¶ó°í ÇÒ¼ö ÀÖ´Ù.
¹ö½ºÀÇ ±âº»ÀûÀÎ ±¸Á¶´Â ¹°·Ð °¢ ½ÅÈ£µéÀÇ »ó¼¼ÇÑ ±â´ÉÀ̳ª µ¿ÀÛ Å¸À̹ÖÀ» ÀÌÇØÇÏ´Â °ÍÀº ÇØ´ç ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼ÀÇ Çϵå¿þ¾îÀûÀÎ ±â´ÉÀ» ÀÍÈ÷´Âµ¥ °¡Àå ±âº»ÀûÀÎ »çÇ×À̸ç, ¿©±â¿¡ ¸Þ¸ð¸®³ª I/O¸¦ È®ÀåÇÏ´Â Çϵå¿þ¾î ¼³°è ´É·ÂÀ» °®Ãߴµ¥ ÇʼöÀûÀÎ Áö½ÄÀ» Á¦°øÇϱ⵵ÇÑ´Ù.
<Ãß°¡> ¹ö½º¸¦ °øºÎÇÒ ¶§´Â ÇÊ¿¬ÀûÀ¸·Î Æ®¸® ½ºÅ×ÀÌÆ® ¹öÆÛ(3-state buffer)¸¦ ÇÔ²² ÀÍÇô µÎ¾î¾ß ÇÑ´Ù. Áï, ¾Õ¿¡¼ ¿¹¸¦ µç °í¼Óµµ·Î¿Í °°Àº ¹ö½º±¸Á¶ÀÇ È¸·Î¿¡¼´Â ¿©·¯ µµ½ÃµéÀÌ µ¿½Ã¿¡ ȸ·ÎÀûÀ¸·Î ¿¬°áµÈ´Ù¸é ½ÅÈ£ÀÇ Ãæµ¹ÀÌ ¹ß»ýÇÏ¿© Àü±âÀûÀ¸·Î ´Ü¶ôÇö»óÀÌ ÀϾ ¼ö ÀÖÀ¸¹Ç·Î À̸¦ Àý´ëÀûÀ¸·Î ÇÇÇØ¾ß ÇÑ´Ù. ´Ù½Ã ¸»ÇÏ¸é ¼¿ï°ú °¢ µµ½Ã¸¦ ¿¬°áÇÏ´Â ÀÚµ¿Â÷µéÀº Ç×»ó ¼¿ï°ú °¢ µµ½Ã°¡ 1´ë1·Î¸¸ ¿¬°áµÇ¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù.
¼¿ï¿¡¼ Ãâ¹ßÇÑ ÀÚµ¿Â÷°¡ °¢ µµ½Ã·Î ³ª°¡±â À§ÇÏ¿© Åç°ÔÀÌÆ®¸¦ Åë°úÇÒ ¶§´Â CPU¿¡¼ ÇØ´ç Åç°ÔÀÌÆ®ÀÇ ¾îµå·¹½º¿Í ÇÔ²² ¶óÀÌÆ®(write) ½ÅÈ£°¡ ¹ß»ýµÇ°í, ¹Ý´ë·Î °¢ µµ½Ã¿¡¼ ¼¿ï·Î ÇâÇÏ´Â ÀÚµ¿Â÷¸¦ °í¼Óµµ·Î¿¡ ÁøÀÔ½ÃÅ°·Á¸é ÇØ´ç Åç°ÔÀÌÆ®ÀÇ ¾îµå·¹½º¿Í ÇÔ²² ¸®µå(read) ½ÅÈ£°¡ ¹ß»ýµÇ¾î¾ß ÇÑ´Ù.
ÀÌ·¯ÇÑ ¾îµå·¹½º ½ÅÈ£¿Í ¸®µå/¶óÀÌÆ® ½ÅÈ£´Â CPU¿¡¼ ¹ß»ýµÇÁö¸¸, À̸¦ ÀÌ¿ëÇÏ¿© ÇØ´ç Åç°ÔÀÌÆ®¸¦ ¿°í ´ÝÀ¸·Á¸é ¹Û¿¡¼ ¾îµå·¹½º µðÄÚ´õ(address decoder) ¹× Æ®¸® ½ºÅ×ÀÌÆ® ¹öÆÛ°¡ ÇÊ¿äÇÏ´Ù. ÀÌ¿Í °°ÀÌ ÄÄÇ»ÅÍ ½Ã½ºÅÛ¿¡¼ Æ®¸® ½ºÅ×ÀÌÆ® ¹öÆÛ´Â ¿©·¯°³ÀÇ ÀåÄ¡°¡ µ¿½Ã¿¡ µ¥ÀÌÅÍ ¹ö½º¸¦ °øÀ¯ÇÏÁö ¸øÇϵµ·Ï ½Ã½Ã°¢°¢À¸·Î Á¶Á¤ÇÏ´Â Åç°ÔÀÌÆ®ÀÇ ¿ªÇÒÀ» ¼öÇàÇÏ´Â °ÍÀÌ´Ù. ¸Þ¸ð¸® ¼ÒÀÚ³ª I/O ÀÎÅÍÆäÀ̽º ¼ÒÀÚ¿¡ Àִ Ĩ¼±Åà ´ÜÀÚµéÀº ¸ðµÎ ÀÌ¿Í °°ÀÌ Åç°ÔÀÌÆ®¿¡ ÇØ´çÇÏ´Â Æ®¸® ½ºÅ×ÀÌÆ® ¹öÆÛ¸¦ Á¦¾îÇÏ´Â ½ÅÈ£µéÀÌ´Ù.
Ãâó : À±±³¼öÀÇ ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼ ¿ùµå http://cafe.naver.com/mcu32bit