Switching performance with clock tolerances
Ãâó: http://blog.naver.com/cisluser/10003587075
1. °³¿ä
½ºÀ§Ä¡´Â ±âº»ÀûÀ¸·Î ³×Æ®¿öÅ© ÆÐŶÀÇ ¹æÇâÀ» ¹Ù²Ù¾î ÁÖ´Â Àåºñ´Ù. ÀԷµǴ ÆÐŶÀ» ÀûÀýÇÑ °æ·Î·Î Ãâ·ÂµÉ ¼ö ÀÖµµ·Ï È帧À» ¹Ù²Ù¾î ÁÖ´Â ±â´ÉÀ» ´ã´çÇϴµ¥, ÀÎÅÍÆäÀ̽º »ç¾çÀÌ Á¡Á¡ °í¼º´ÉÀ¸·Î ÁøÈÇÔ¿¡ µû¶ó ½ºÀ§Ä¡¿¡¼ ó¸®ÇØ ÁÖ¾î¾ß ÇÒ ¿ë·®µµ ¸Å¿ì ºü¸¥ ¼Óµµ·Î Áõ°¡Çϰí ÀÖ´Ù. ¿¹¸¦ µé¾î ±â°¡ ºñÆ® ÀÌ´õ³ÝÀÇ °æ¿ì¿¡ ÃÊ´ç 1G(10¾ï) bit streamÀ» ó¸®ÇØ¾ß ÇϹǷΠ¸Å¿ì ºü¸¥ ¼Óµµ·Î µ¥ÀÌÅÍ Ã³¸®¸¦ ÇØ¾ß ÇÔÀ» ¾Ë ¼ö ÀÖ´Ù.
±×·±µ¥ ¿ì¸®°¡ ÀϹÝÀûÀ¸·Î ½ºÀ§Ä¡¸¦ Æò°¡ÇÒ ¶§ À̾߱âÇÏ´Â wire-speed¶ó´Â °³³äÀº Spec¿¡ ±ÔÁ¤µÈ ÃÖ´ëÇÑÀÇ ¼Óµµ·Î ÀԷµǴ packetÀ» 100% ¿øÇÏ´Â °æ·Î·Î º¸³¾ ¼ö ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. À̷лóÀ¸·Î °¡´ÉÇÑ À̾߱âÀÌ°í ¶Ç ½ÇÁ¦·Î Å×½ºÆ®¸¦ ÅëÇØ °ËÁõÇϱ⵵ ÇÏÁö¸¸ ½ÇÁ¦ ±¸Çö¿¡¼´Â ¿Ïº®ÇÏ°Ô À̸¦ º¸ÀåÇÒ ¼ö ¾ø´Â °¡´É¼ºÀÌ Á¸ÀçÇÏ°Ô µÇ´Âµ¥ ±× ÀÌÀ¯¸¦ ¸íÈ®È÷ ÀÌÇØÇϰí ÀûÀýÈ÷ ´ëóÇÒ Çʿ䰡 ÀÖ´Ù. ÀÌ ¹®¼¿¡¼´Â ÀÌ·¯ÇÑ À̷аú ½ÇÁ¦ÀÇ Â÷ÀÌÁ¡¿¡ µû¸¥ ¼º´É À̽´¿¡ ´ëÇØ¼ Á¤¸®¸¦ ÇÏ°í ±×¿¡ µû¸¥ ´ëó ¹æ¹ý¿¡ ´ëÇØ¼ ±â¼úÇÑ´Ù.
2. °í¼Ó Åë½Å ±â¹ý
ÀϹÝÀûÀ¸·Î Åë½ÅÀº clock¿¡ µ¿±â µÇ¾î Àü¼ÛÇÏ´Â Synchronous ±â¹ý°ú ±×·¸Áö ¾ÊÀº Asynchronous ±â¹ýÀ¸·Î ³ª´· ¼ö ÀÖ´Ù. °í¼Ó Åë½ÅÀ» À§Çؼ´Â ¹Ì¸® Àü¼Û ¼Óµµ¸¦ ¾à¼ÓÇϰí Tx/Rx ´Ü¿¡¼ ¹Ì¸® ¾à¼Ó¿¡ ¸ÂÃß¾î ½º½º·Î µ¥ÀÌÅÍ Ã³¸®¸¦ ´ã´çÇÏ´Â Synchronous ±â¹ýÀÌ »ç¿ëµÈ´Ù. ¶ÇÇÑ Àü¼Û ¼Óµµ°¡ ¼ö¹é Mbps ÀÌ»ó µÇ´Â °æ¿ì¿¡´Â clockÀÇ ±æÀÌ¿Í ½ÇÁ¦ µ¥ÀÌÅÍ Àü¼Û ¶óÀÎÀÇ ±æÀ̰¡ ¹Î°¨ÇÏ°Ô ¿µÇâÀ» ¹ÌÄ¡±â ¶§¹®¿¡ Tx µ¥ÀÌÅÍÀÇ clock°ú Rx µ¥ÀÌÅÍÀÇ clockÀ» º°µµ·Î »ç¿ëÇÏ´Â Source Synchronous Clock ±â¹ýÀ» »ç¿ëÇÏ°Ô µÈ´Ù. ±Ù·¡¿¡ »ç¿ëµÇ´Â ´ëºÎºÐÀÇ °í¼Ó Åë½Å ±â¹ýÀº ¸ðµÎ ÀÌ·¯ÇÑ Source Synchronous Clock ±â¹ýÀÌ »ç¿ëµÇ°í ÀÖ´Ù.
ÀÌ·¯ÇÑ °³³äÀº ½ºÀ§Ä¡ Àåºñ¿¡¼ »ç¿ëµÇ´Â Åë½Å ÀÎÅÍÆäÀ̽º¿¡¼µµ ¸¶Âù°¡Áö·Î Àû¿ëµÇ¾î¼ ½ºÀ§Ä¡¿Í PHY »çÀÌÀÇ ÀÎÅÍÆäÀ̽ºÀÎ GMII(Gigabit Medial Independent Interface), S3MII(Source Synchronous Serial Media Independent Interface) µîÀ» ºñ·ÔÇØ¼ ¸¹Àº ÀÎÅÍÆäÀ̽º°¡ Clock ½ÅÈ£°¡ Tx µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ´Â µð¹ÙÀ̽º¿¡ ÀÇÇØ¼ ¸¸µé¾îÁö°Ô µÈ´Ù. ÀÌ¿Í °°Àº °³³äÀ» °£·«ÇÏ°Ô ¾Æ·¡ÀÇ ±×¸²°ú °°ÀÌ Á¤¸®ÇØ º¼ ¼ö ÀÖ´Ù.

ÀÌ ¶§ Device 1 ÀÌ ½ºÀ§Ä¡¶ó°í °¡Á¤À» ÇØ º¸¸é, ÀÌ·ÐÀûÀ¸·Î Device1ÀÇ Clk ¼Óµµ¿Í Device 2¿¡¼ Á¦°øÇÏ´Â Rx Clk ¼Óµµ°¡ 100% ¿Ïº®ÇÏ°Ô ÀÏÄ¡ÇØ¾ß ÇÏ°í ±×·¸Áö ¾ÊÀ» °æ¿ì¿¡ ¾î´À ÇÑ ÂÊ¿¡¼ µ¥ÀÌÅͰ¡ °è¼ÓÇØ¼ ½×ÀÌ°Ô µÇ´Â °á°ú°¡ ³ª¿Ã ¼ö ÀÖÀ½À» ¿¹ÃøÇØ º¼ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ¹®Á¦Á¡ÀÌ ±Ùº»ÀûÀ¸·Î Á¸ÀçÇÏ´Â °ÍÀÌ´Ù.
3. ÀÌ´õ³Ý Ç¥Áذú Clock Tolerance
3.1 ÀÌ´õ³Ý Ç¥ÁØ
2Àå¿¡¼ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌ ÀÌ·ÐÀûÀ¸·Î ¿Ïº®ÇÏ°Ô wire speed·Î Åë½ÅÀÌ µÇ±â À§Çؼ´Â Tx Clk°ú Rx ClkÀÇ ¼Óµµ°¡ ¾ðÁ¦³ª ¿Ïº®ÇÏ°Ô ÀÏÄ¡ÇØ¾ß ÇÑ´Ù´Â ¹®Á¦Á¡ÀÌ ÀÖ´Ù. ±×·¯³ª ½ÇÁ¦·Î´Â ÀÌ·¸°Ô ±¸ÇöµÉ ¼ö ¾ø±â ¶§¹®¿¡ ÀÌ´õ³Ý Ç¥ÁØ ÀÚü¿¡¼µµ ÀÌ·¯ÇÑ ClkÀÇ Â÷ÀÌ¿¡ ´ëÇÑ tolerance¸¦ ±ÔÁ¤Çϰí ÀÖ´Ù. Gigabit EthernetÀ» ±× ¿¹·Î µé¾îº¸µµ·Ï ÇÏÀÚ.
GMII Ç¥ÁØÀ» ±ÔÁ¤Çϰí ÀÖ´Â IEEE802.3(:2000) ÀÇ 35.4.2.3 ÀýÀÇ Table 35-8 AC SpecificationÀ» »ìÆì º¸¸é, GMII¿¡ »ç¿ëµÇ´Â Tx ClkÀÇ tolerance¸¦ -/+100ppmÀ¸·Î ±ÔÁ¤Çϰí ÀÖ´Ù.

µû¶ó¼, ÀÌ ±ÔÁ¤À» ÁؼöÇÏ´Â °æ¿ì Çã¿ë °¡´ÉÇÑ Frame RateÀ» °è»êÇØ º¸¸é ´ÙÀ½°ú °°´Ù.
Frame Rate ÀÌ·Ð Ä¡(64 Byte ±âÁØ)
= Transmit_Data_Rate/ {Frame_Length * 8 + Minimum_Gap + Preamble + SFD}
= 1,000,000,000/ {64 * 8 + 96 + 56 + 8} = 1,000,000,000 / 672
= 1,488,095.2 fps (frame per second)
Áï ÀÌ·ÐÀûÀÎ frameÀº À§¿Í °°ÀÌ °è»êÀÌ µÇÁö¸¸ -/+ 100 ppmÀ» °¡Á¤Çϸé Ç¥ÁØ¿¡ ±Ù°ÅÇÑ Çã¿ë °¡´ÉÇÑ ½ºÀ§Äª performance´Â ´ÙÀ½°ú °°´Ù.
1,487,946.4 fps(-100 ppm ±âÁØ) < Çã¿ë ¹üÀ§ < 1,488,244 fps(+100 ppm ±âÁØ)
Áï, ½ºÀ§Ä¡ÀÇ ¼º´ÉÀº À§¿¡¼ Á¦½ÃÇÑ ±âÁØÀÎ Çã¿ë ¹üÀ§¿¡ µç´Ù¸é ¿øÄ¢ÀûÀÎ ¹®Á¦°¡ ¾ø´Â °ÍÀÌ°í µû¶ó¼ Rx ¼Óµµ´Â -100 ppm ±âÁØ Á¤µµÀÇ packetÀ» ó¸®ÇÒ ¼ö ÀÖÀ¸¸é µÇ°í, Tx ¼Óµµ´Â +100 ppm±îÁö º¸³½´Ù ÇÏ´õ¶óµµ ¹®Á¦°¡ µÇÁö´Â ¾Ê´Â´Ù.
3.2 Clock Tolerance ¿Í ÀÌ¿¡ µû¸¥ ¹®Á¦Á¡
À§¿¡¼ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌ ½ÇÁ¦·Î »ç¿ëÇÏ´Â ClockÀÇ tolerance¿¡ µû¶ó¼ 2°³ÀÇ device »çÀÌ¿¡ Àü¼Û ¼Óµµ°¡ Ʋ¸± ¼ö ÀÖ°í ÀÌ·Î ÀÎÇØ ¾î´À ÇÑ ÂÊ¿¡¼ packet loss°¡ ¹ß»ýÇÒ È®·üÀÌ »ý±â°Ô µÈ´Ù. ÇÏÁö¸¸ ½ÇÁ¦ ³×Æ®¿öÅ© ȯ°æ¿¡¼´Â ÀÌ¿Í °°ÀÌ °è¼ÓÇØ¼ wire speed·Î packetÀ» Àü¼ÛÇØ¾ß ÇÏ´Â È®·üÀº ¸Å¿ì ³·À¸¸ç µû¶ó¼ BMT µî Å×½ºÆ® ½Ã¿¡ Àå±â°£ wire speed·Î Å×½ºÆ®¸¦ ÇÏ°Ô µÉ °æ¿ì(Smart Application °°Àº ÇÁ·Î±×·¥À¸·Î Å×½ºÆ® ½Ã)¿¡ ÀÌ¿Í °°Àº ¹®Á¦°¡ ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ´Ù.
ÀÌ·¯ÇÑ ¹®Á¦Á¡À» ÇØ°áÇϱâ À§Çؼ º¸Åë ½ºÀ§Ä¡ ±¸Çö ½Ã ĨÀÇ ³»ºÎ³ª ¿ÜºÎ¿¡ ÀûÀýÇÑ ¿ë·®ÀÇ packet buffer¸¦ ³»ÀåÇÏ°Ô µÇ´Âµ¥ ±× ¿ë·®¿¡ ÇѰ谡 Àֱ⠶§¹®¿¡ Å×½ºÆ® ½Ã°£¿¡ µû¶ó¼ packet loss°¡ ¹ß»ýÇÏ´Â °æ¿ì¸¦ Á¢ÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ¶ÇÇÑ Àåºñ¿¡ »ç¿ëµÇ´Â clock¸¶´Ù Á¶±Ý¾¿ tolerance°¡ ´Ù¸£±â ¶§¹®¿¡ ÀÌ·¯ÇÑ Áõ»óµµ Àåºñ¿¡ µû¶ó¼ Á¶±Ý¾¿ ´Ù¸£°Ô °á°ú°¡ ³ª¿À´Â °ÍÀÌ´Ù.
ÀϹÝÀûÀ¸·Î ½ºÀ§Ä¡ ±¸Çö ½Ã »ç¿ëÇÏ´Â ClockÀº ´Ü°¡ µîÀ» °í·ÁÇÏ¿© 100 ppmÂ¥¸®¸¦ ÁÖ·Î »ç¿ëÇϴµ¥ SmartbitÀ» º¸¸é ÈξÀ Á¤¹ÐÇÑ »ç¾çÀÎ 30 ppmÀ» »ç¿ëÇÏ´Â °ÍÀ» È®ÀÎÇÏ°Ô µÇ¾ú°í, ½ÇÁ¦ È®ÀεÇÁö´Â ¾Ê¾ÒÁö¸¸ IXIAÀÇ packet Àü¼Û ¼Óµµ¸¦ º¸¸é ÈξÀ ´õ Á¤¹ÐÇÏ°Ô control µÊÀ» ÃßÁ¤ÇÒ ¼ö ÀÖ´Ù.

µû¶ó¼ ÀÌ¿Í °°Àº Å×½ºÆ® Àåºñ¸¦ ½á¼ ½ÃÇèÀ» ÇÒ °æ¿ì¿¡ ¿À·£ ½Ã°£ wire speed·Î ½ºÀ§Äª ÇÏ´Â °ÍÀ» Å×½ºÆ®ÇÏ´Ù º¸¸é ½Ã°£¿¡ µû¶ó¼ packetÀÌ ³»ºÎ buffer¿¡ ¸Ó¹«¸£´Ù°¡ dropµÇ´Â Áõ»óÀ» °üÂûÇÒ ¼ö Àִµ¥, ÀÌ´Â ÀÌ¿Í °°Àº ¿øÀο¡¼ ±âÀÎÇÏ´Â °Íµµ ÀÖÀ½À» ¾Ë°í ÀûÀýÇÏ°Ô ¹®Á¦ÀÇ ¿øÀÎÀ» ÆÇ´ÜÇØ¾ß ÇÒ °ÍÀÌ´Ù. ÀÌ¿Í °°Àº ¿øÀο¡¼ ±âÀÎÇØ¼ packetÀÌ dropµÇ´Â °æ¿ì¿¡´Â ³»ºÎ bufferÀÇ count°¡ Åé´Ï ÆÄ (Saw-tooth wave) ÇüÅ·ΠÁõ°¡ÇÏ°í °¨¼ÒÇÏ´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ·Î ÀÎÇØ »ý±æ ¼ö ÀÖ´Â ¹®Á¦Á¡Àº ´ÙÀ½°ú °°ÀÌ ¿ì¸® Àåºñ¿¡¼ »ç¿ëÇÏ´Â Tx ClkÀÇ Á¤¹Ðµµº¸´Ù ³ôÀº Á¤¹Ðµµ¸¦ »ç¿ëÇÏ´Â ´Ù¸¥ Àåºñ¿Í ¿¬°áÇØ¼ Àå½Ã°£ wire speed·Î Å×½ºÆ®¸¦ ÁøÇàÇÒ °æ¿ì¿¡ ¶æÇÏÁö ¾Ê°Ô packet ÀÌ dropµÇ°Å³ª flow controlÀÌ ¹ß»ý(PAUSE)ÇÏ´Â °æ¿ì°¡ »ý±â°Ô µÈ´Ù. ÀϹÝÀûÀ¸·Î Å×½ºÆ®¸¦ ½Ç½ÃÇϴ ȯ°æÀ» ¾Æ·¡ÀÇ ±×¸²°ú °°ÀÌ µµ½ÃÇÒ ¼ö ÀÖ´Ù.
|