8051
AVR
EZLab
PIC
80C196KC
DSP
ARM
VHDL
MicroMouse
Robot Soccer
Battle Robot
Robot Contest
Humanoid
Embeded Linux
HW/SW Lecture
RTOS
 
 
1. D S P ¶õ ?

 A/D ÄÁ¹öÅÍ¿¡ ÀÇÇØ µðÁöÅÐÈ­µÈ µ¥ÀÌÅÍ´Â ÆÛ½º³Î ÄÄÇ»ÅÍ µî¿¡ ÀÔ·ÂµÇ¾î °è»ê 󸮵ȴÙ. °è»ê 󸮴 ¸®¾óŸÀÓÀ¸·Î ½Ç½ÃµÇ¸ç, µð½ºÇ÷¹ÀÌ »ó¿¡¼­ ¸ð´ÏÅÍ Çϸ鼭 ÆÄÀϸµÀ» ÇÑ´Ù´Â ½ÄÀ¸·Î 󸮰¡ ÇàÇØÁø´Ù. ¿©±â¼­ ¹®Á¦°¡ µÇ´Â °ÍÀÌ ÆÛ½º³Î ÄÄÇ»ÅÍÀÇ Ã³¸®¼Óµµ¿¡ ´ëÇÑ ¹®Á¦ÀÌ´Ù.

Åë»ó ½Åȣ󸮿¡ »ç¿ëµÇ´Â °è»ê ¾Ë°í¸®ÁòÀº º¹ÀâÇÑ °ÍÀÌ ¸¹±â ¶§¹®¿¡ ÆÛ½º³Î ÄÄÇ»ÅÍ°¡ ¸®¾óŸÀÓÀ¸·Î 󸮸¦ ÇÒ ¼ö ¾ø°Ô µÇ¾î ¹ö¸®´Â °æ¿ì°¡ ÀÖ´Ù. ±×¿Í °°Àº ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ µîÀåÇÑ °ÍÀÌ DSP¶ó ºÎ¸£´Â Àü¿ëÀÇ Ä¨ÀÌ´Ù. DSPÀÇ Æ¯Â¡À¸·Î´Â ³»ºÎ ¹ö½ºÀÇ ÆøÀÌ ³Ð°í, 1Ŭ·ÏÀ¸·Î 1¸í·ÉÀÌ»óÀÇ ½ÇÇàÀÌ °¡´ÉÇϸç, ½Â°¡»ê (sum of products) ¿¬»ê󸮸¦ ¾ÆÁÖ °í¼ÓÀ¸·Î ÇÒ ¼ö ÀÖ´Ù´Â Á¡À» µé ¼ö ÀÖ´Ù. ½Åȣó¸® Àü¿ëÀÇ Ä¨À̶ó ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

DSPÀÇ ¹®Á¦Á¡À¸·Î´Â Åë»óÀûÀÎ CPU¿¡ ºñÇØ °³¹ßȯ°æÀÌ Æ¯¼öÇÏ°í, Ĩ ¸ÞÀÌÄ¿¿¡ µû¶ó °¢°¢ °³¹ßȯ°æÀÌ ´Ù¸£´Ù´Â Á¡À» µé ¼ö ÀÖ´Ù. DSP°¡ ¸®¾óŸÀÓ ½Åȣó¸®ÀÇ ÇÙ½É µð¹ÙÀ̽ºÀÓ¿¡´Â Ʋ¸²¾ø´Ù. ±×·¯³ª ½Åȣ󸮿¡ ²À DSP¿Í °°Àº Àü¿ëĨÀÌ ÇÊ¿äÇÑ°¡ ÇÏ¸é ±×·¸Áö ¾Ê´Ù. ÃÖ±Ù ÆÛ½º³Î ÄÄÇ»ÅÍÀÇ Ã³¸®¼ÓµµÀÇ Çâ»óÀº ³î¶ó¿ï Á¤µµÀÌ´Ù. Àü¿ë ĨÀÇ ½Å¼¼¸¦ ÁöÁö ¾Ê¾Æµµ ¼Õ½±°Ô ½Åȣ󸮸¦ ÇÒ ¼ö ÀÖ°Ô µÈ °ÍÀÌ´Ù.

DSPÀÇ TMS320C3X °è¿­Àº °í¼º´É 32ºñÆ® ºÎµ¿ ¼Ò¼öÁ¡(Floating-Point) ¿¬»ê ¹æ½Ä µð¹ÙÀ̽ºÀÌ´Ù. Åػ罺ÀνºÆ®·ç¸ÕÆ® »ç¿¡¼­ Á¦°øµÇ°í ÀÖÀ¸¸ç, ¿µ»óó¸®, »ýü°øÇÐ, À½¼ºÀνĵ ¸¹ÀÌ ÀÌ¿ëµÇ°í ÀÖ´Ù

1. TMS320C3X Devices

General-purpose register file
Program cache
ARAU(auxiliary register arithmetic units)
internal dual-access memories
One direct memory access(a two-channal DMA on the TMS320C32)
Short machine-cycle time

ÀÌ ÇÁ·Î¼¼¼­´Â À§¿Í °°Àº ÀåÄ¡¸¦ °¡Áö°í À־ ºü¸¥ ½ÇÇàÀ» ÇÒ ¼ö ÀÖ°Ô ÇØÁÖ°í »ç¿ëÀ» ¿ëÀÌÇÏ°Ô ÇØÁØ´Ù. ¡¡

±×¸² 1. 'C3X' devicesÀÇ Block Diagram.

* TMS320C3X Key Specifications

- 60 MFLOPS(Million FLoating-point Operations Per Second) °í È¿À²ÀÇ C¾ð¾î ¿£Áø
    ³ÐÀº ÁÖ¼Ò °ø°£: 16M words * 32 bits , DMA¿¡ ÀÇÇÑ ºü¸¥ ¸Þ¸ð¸® ¼öÇà
    industry-exclusive 3-V versions available on some devices ¡¡

*. TMS320C30

 - 'C3X'°è¿­ÀÇ ÃÖÃÊ ¸ðµ¨·Î¼­ 4K¿öµåÀÇ ROM°ú 2K RAMÀ» °¡Áö°í ÀÖ´Ù.

 ±×¸®°í ¿ÜºÎ¿¡ primary ¹× expansion bus¸¦ °¡Áö°í ÀÖÀ¸¸ç µÎ °³ÀÇ serial port¸¦ °¡Áö°í ÀÖ´Ù.

*. TMS320C31

- TMS320C30ÀÇ ¼º´ÉÀ» °ÅÀÇ ±×´ë·Î À¯ÁöÇϸ鼭 ±ØÈ÷ ÀϺÎÀÇ ±â´ÉÀ» Ãà¼ÒÇÏ°í, ¸¶ÀÌÅ©·ÎÄÄÇ»ÅÍ ¸ðµå¸¦ Ãß°¡ÇÏ¿© »ç¿ëÀÚ°¡ º¸´Ù ½±°Ô ½Ã½ºÅÛÀ» ±¸¼ºÇÒ ¼ö ÀÖµµ·Ï °£·«È­ÇÑ ¸ðµ¨ÀÌ´Ù.
- ³»ºÎÀÇ ROMÀ» ¾ø¾Ö°í ¿ÜºÎÀÇ expansion bus¸¦ »èÁ¦ÇÏ¿´À¸¸ç, ³»ÀåµÇ¾î ÀÖ´Â RAMÀº µ¿ÀÛ¼Óµµ°¡ ¸Å¿ì »¡¶ó¼­ zero wait ·Î ÇÁ·Î±×·¥À» ¼öÇàÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. ±×·¯³ª 2KÀÇ ³»ºÎ RAMÀ» °®±â ¶§¹®¿¡ ±× ¿ë·®À» ³Ñ´Â ¸Þ¸ð¸®¸¦ ó¸®Çϱâ À§ÇØ ¿ÜºÎ¿¡ Ãß°¡·Î RAMÀ» Á¢¼ÓÇÏ¿© »ç¿ëÇÒ ¼ö Àִµ¥ ±× ¿ë·®Àº ¹Ýµå½Ã 32bit¿©¾ß ÇÑ´Ù. ¡¡

*. TMS320C32

- 'C32'°è¿­Áß °¡Àå ÃÖ±ÙÀÇ ÇÁ·Î¼¼¼­ÀÌ´Ù. ¿À´Ã³¯ ÃÊÀú°¡·Î ¾µ ¼ö ÀÖ´Â ºÎµ¿¼Ò¼öÁ¡ ÇÁ·Î¼¼¼­ÀÌ´Ù. ÀÌ ÇÁ·Î¼¼¼­ÀÇ °¡Àå Å« Ư¡Àº external memory·Î 8/16/32bit¸¦ ¼±ÅÃÀûÀ¸·Î Á¢¼ÓÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ±×¸®°í µÎ ä³ÎÀÇ DMA, À¶Å뼺 ÀÖ´Â boot loader ±×¸®°í Àç¹èÄ¡ °¡´ÉÇÑ inturrupt vector tableÀ» °¡Áö°í ÀÖ´Ù.

2. Central Processing Unit (CPU)

  TMS320C3X°è¿­Àº ´ÙÀ½°ú °°Àº ¼ÒÀÚ·Î CPU°¡ ±¸¼ºµÇ¾îÁ® ÀÖ´Ù.

Floating-point/integer multiplier
Arithmetic logic unit (ALU)
32-bit barrel shifter
Internal buses (CPU1/CPU2 and REG1/REG2)
Auxiliary register arithmetic units (ARAUs)
CPU register file

°¡. Floating-Point/Integer Multiplier

Multiplier´Â 24bit Á¤¼ö¿Í 32bit ºÎµ¿¼Ò¼öÁ¡¼ö °ö¼ÀÀ» 1 »çÀÌŬ¿¡ ¼öÇàÇÑ´Ù.

ÀÌ¿Í °°ÀÌ Á¤¼ö ¶Ç´Â ºÎµ¿¼Ò¼öÁ¡ÀÇ °ö¼ÀÀ» ALU¿¡¼­ÀÇ ±âº»ÀûÀÎ »ê¼ú¿¬»ê°ú µ¿ÀÏÇÑ ¼Óµµ·Ï ¼öÇàÇϸç, ´õ ¸¹Àº 󸮷®À» À§ÇØ multiplier¿Í ALU¿¡¼­ÀÇ ¿¬»êÀ» ÇÑ »çÀÌŬ¿¡ º´·Ä·Î ½ÇÇàÇϸé 2¹èÀÇ ¿¬»ê󸮸¦ ÇÒ ¼ö ÀÖ´Ù.

multiplier°¡ ºÎµ¿¼Ò¼öÁ¡¼öÀÇ °ö¼ÀÀ» ¼öÇàÇÒ ¶§ ÀÔ·ÂÀº 32bit ºÎµ¿¼Ò¼öÁ¡¼öÀÌ°í Ãâ·ÂÀº 40bit ºÎµ¿¼Ò¼öÁ¡¼öÀÌ´Ù. ¶ÇÇÑ Á¤¼öÀÇ °ö¼ÀÀ» ¼öÇàÇÒ ¶§ ÀÔ·ÂÀº 24bitÀÌ°í Ãâ·ÂÀº 32bitÀÌ´Ù.

¡¡³ª. Arithmetic Logic unit (ALU) and Internal Buses

ALU´Â 1 »çÀÌŬ¿¡ 32bit Á¤¼ö¿Í 32bit ³í¸®¿¬»ê, 40bitÀÇ ºÎµ¿¼Ò¼öÁ¡¼öÀÇ µ¥ÀÌÅÍ ¿¬»êÀ» ¼öÇàÇÑ´Ù. ±×¸®°í ALUÀÇ ¿¬»ê °á°ú´Â Ç×»ó 32bitÀÇ Á¤¼öÀ̰ųª 40bitÀÇ ºÎµ¿¼Ò¼öÁ¡¼öÀÌ´Ù.

32bitÀÇ Barrel shifter´Â 1 »çÀÌŬ ¾È¿¡ ÁÂÃøÀ̳ª ¿ìÃøÀ¸·Î ÃÖ´ë 32bit¾¿ À̵¿½Ãų ¼ö ÀÖ´Ù.

4°³ÀÇ internal bus´Â CPU1, CPU2, REG1, REG2°¡ À־ ¸Þ¸ð¸®·ÎºÎÅÍ 2°³ÀÇ operand¿Í register file·ÎºÎÅÍÀÇ 2°³ÀÇ operand¸¦ µ¿½Ã¿¡ accessÇÒ ¼ö À־ 1 »çÀÌŬ ¾È¿¡ Á¤¼ö¿Í ºÎµ¿¼Ò¼öÁ¡¼ö 4°³ÀÇ operand¸¦ º´·Ä·Î °ö¼À, µ¡¼À, »¬¼À ¿¬»êÀÌ °¡´ÉÇÏ´Ù. ¡¡

´Ù. Auxiliary Register Arithmetic Units (ARAUs)

µÎ °³ÀÇ auxiliary register arithmetic units(ARAU0 and ARAU1)´Â 1 »çÀÌŬ¿¡ µÎ °³ÀÇ ÁÖ¼Ò¸¦ ¹ß»ý½Ãų ¼ö ÀÖ´Ù. ±×¸®°í multiplier¿Í ALU´Â º´·Ä·Î µ¿ÀÛÇÑ´Ù. À̰͵éÀº ARAU¿¡ displacement, index registers(IR0 and IR1), circular ±×¸®°í bit-reversed addressing µîÀ» ÇÕÇÏ¿© ÁÖ¼Ò¸¦ »ý¼ºÇÑ´Ù.

3. CPU Primary Register File

¸ðµç primary register´Â multiplier¿Í ALU¿¡ ÀÇÇØ ÀÛµ¿µÇ¾îÁú ¼ö ÀÖ°í ÀϹÝÀûÀÎ ¸ñÀûÀÇ register·Î »ç¿ëµÇ¾îÁú ¼ö ÀÖ´Ù.

8°³ÀÇ extended-precision registers (R7-R0)´Â 32bitÀÇ Á¤¼ö¿Í 40bit ºÎµ¿¼Ò¼öÁ¡¼ö¿¡ ´ëÇÑ ¿¬»ê±â´ÉÀ» ¼öÇàÇÏ°í ÀúÀåÇÑ´Ù. operand°¡ ºÎµ¿¼Ò¼öÁ¡ÀÎ ¸í·É¿¡¼­´Â 39~0bit¸¦ »ç¿ëÇÑ´Ù. operand°¡ ºÎÈ£ ¾ø´Â Á¤¼ö ¶Ç´Â ºÎÈ£ ÀÖ´Â Á¤¼öÀÎ ¸í·É¿¡¼­´Â 31~0bit¸¦ »ç¿ëÇÑ´Ù. 39~32bit´Â º¯È­ÇÏÁö ¾Ê´Â´Ù.

8°³ÀÇ 32bit auxiliary register (AR7-AR0)´Â CPU¿¡ ÀÇÇØ accessµÇ¾îÁö°í 2°³ÀÇ ARAU¿¡ ÀÇÇØ modifyµÈ´Ù. auxiliaryÀÇ °¡Àå ÁÖµÈ ±â´ÉÀº 24bit ÁÖ¼Ò¸¦ »ý¼ºÇÏ´Â °ÍÀÌ´Ù. ¶ÇÇÑ loop counter·Î½á, 32bitÀÇ ÀϹÝÀûÀÎ ¸ñÀûÀÇ resister·Î½á »ç¿ëµÇ¾îÁö±âµµ ÇÑ´Ù.

32bitÀÇ data-page pointer (DP)´Â 8°³ÀÇ LSB(least significant bit)¸¸À» »ç¿ëÇÏ¿© direct addressing mode ¿¡¼­ date-page¸¦ ³ªÅ¸³½´Ù. data page´Â 64K wordÀÌ°í ÃÑ 256page·Î µÇ¾î ÀÖ´Ù.

2 °³ÀÇ 32bitÀÇ index register (IR0, IR1) ´Â ARAU¿¡¼­ indexed address¸¦ °è»êÇϱâ À§ÇØ »ç¿ëµÇ¾îÁú °ªÀ» °¡Áö°í ÀÖ´Ù.

32bitÀÇ block size register (BK)´Â ARAU°¡ circular addressing¿¡¼­ data block Å©±â¸¦ ³ªÅ¸³½´Ù.

32bitÀÇ system-stack pointer (SP)´Â systemÀÇ »ó´Ü address¸¦ ³ªÅ¸³½´Ù. SP´Â Ç×»ó stack¿¡ °¡Àå ³ªÁß¿¡ pushµÈ data¸¦ °¡¸®Å²´Ù. push°¡ ¼öÇàµÉ¶§´Â ¸ÕÀú SP°¡ Áõ°¡ÇÏ°í ³­ ÈÄ data°¡ ÀúÀåµÇ°í, pop°¡ ¼öÇàµÉ ¶§´Â data°¡ ¸ÕÀú ²¨³»Áö°í ³ª¼­ SP°¡ °¨¼ÒÇÑ´Ù. SP´Â interrupt, trap, call, return, ±×¸®°í PUSH, POP ¸í·É¿¡ ÀÇÇØ ´Þ¶óÁö±âµµ ÇÑ´Ù.

32bitÀÇ status register (ST)´Â CPUÀÇ »óÅ¿¡ °üÇÑ ÀüüÀûÀÎ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù. ST´Â »ê¼ú ¹× ³í¸® ¿¬»ê »Ó¸¸ ¾Æ´Ï¶ó resister load¿Í store operation µµ Æ÷ÇÔÇÑ´Ù. ±×·¯³ª ST°¡ loadµÇ¾úÀ» ¶§

32bitÀÇ CPU/DMA interrupt-enable register (IE)´Â CPU¿Í DMAÀÇ interruptÀÇ Çã¿ë¿©ºÎ¸¦ ÁöÁ¤ÇÑ´Ù. CPU interrupt-enable Àº 10-0bit¸¦ »ç¿ëÇÏ°í, DMA interrupt-enableÀº 26-16bit¸¦ »ç¿ëÇÑ´Ù. 1Àº ÇØ´ç interrupt¸¦ Çã¿ëÇÏ°í, 0Àº interrupt¸¦ Çã¿ëÇÏÁö ¾Ê´Â´Ù.

32bitÀÇ CPU interrupt flag register (IF)´Â CPU interruptÀÇ »óŸ¦ ³ªÅ¸³½´Ù. 1Àº ÇØ´ç interrupt°¡ ¹ß»ýÇßÀ½À» ³ªÅ¸³»°í, 0À¸·Î µÇ¾î ÀÖ´Ù¸é ÇØ´ç interrupt°¡ set µÇÁö ¾Ê¾ÒÀ½À» °¡¸®Å²´Ù.

32bitÀÇ I/O flag register (IOF)´Â external pin(XF0, XF1)ÀÇ ±â´ÉÀ» Á¦¾îÇÑ´Ù. ÀÌ pinµéÀº ÀÔÃâ·Â ´ÜÀÚ·Î ¼³Á¤ÇÒ ¼öµµ ÀÖ°í, ¶ÇÇÑ ÀÐ°í ¾µ ¼öµµ ÀÖ´Ù.

32bitÀÇ repeat-counter (RC)´Â block repeat°¡ ¼öÇàµÉ ¶§ blockÀ¸·Î ÁöÁ¤µÈ code¸¦ ¹Ýº¹ÇÒ È½¼ö¸¦ ÁöÁ¤ÇÑ´Ù. processor°¡ repeat mode ¿¡¼­ ÀÛµ¿µÇ¾îÁú ¶§ 32bitÀÇ repeat start-address register (RS)´Â repeatÇÏ´Â blockÀÇ starting address¸¦ ³ªÅ¸³»°í, 32bitÀÇ repeat end-address (RE)´Â repeatÇÏ´Â blockÀÇ ending address¸¦ ³ªÅ¸³½´Ù.

4. Other Registers

32bitÀÇ Program-counter (PC)´Â ´ÙÀ½À¸·Î fetchµÉ instructionÀÇ ÁÖ¼Ò¸¦ Ÿ³ª³½´Ù. ÀÌ°ÍÀº CPU register file¿¡ Æ÷ÇÔ½ÃÅ°Áø ¾ÊÁö¸¸ instruction¿¡ ÀÇÇØ program È帧À» Á¦¾îÇÒ ¼ö µµ ÀÖ´Ù.

32bitÀÇ instruction register (IR)´Â instructionÀÌ decodeµÇ°í ÀÖ´Â µ¿¾È ±× instructionÀ» ±â¾ïÇÏ´Â ±â´ÉÀÌ´Ù.

5. Memory organization

'C3X'°è¿­ÀÇ ÃÑ memory space´Â 16M *32bit wordÀÌ´Ù. ÀÌ 16M-word address space´Â Program, data, I/O space¸¦ Æ÷ÇÔÇÑ´Ù.

6. Internal Bus Operation

'C3X'ÀÇ ³ôÀº ¼öÇà´É·ÂÀº internal busing°ú º´·Ä󸮿¡ ÀÇÇÑ °ÍÀÌ´Ù. °¢°¢ º´·Ä󸮵Ǵ bus´Â program fetch¿Í data access¿Í DMA access¸¦ ¼öÇàÇÑ´Ù.

#Program bus: PADDR(program address bus), PDATA(program data bus)

#Data bus: DADDR1(data address bus1), DADDR2, DDATA(data data bus)

#DMA bus: DMAADDR(DMA address bus), DMADATA(DMA data bus)

ÀÌ busµéÀº 'C3X'°¡ Áö¿øÇÏ´Â ¸ðµç ¹°¸®ÀûÀÎ space(on-chip memory, off-chip memory, on-chip pheriperal)À» ¿¬°áÇÑ´Ù.

PC´Â 24bitÀÇ PADDR¿¡, IRÀº 32bitÀÇ PDATA¿¡ ¿¬°áµÇ¾îÁ® ÀÖ´Ù. ÀÌ busµéÀº ¸Å ±â°è cycle¸¶´Ù ÇÑ insructionÀ» fecthÇÑ´Ù.

24bit DADDR1°ú DADDR2 ±×¸®°í 32bit DDATA´Â ¸Å ±â°è cycle¸¶´Ù 2°³ÀÇ data-memory¸¦ accessÇÑ´Ù. DDATA bus´Â CPU1°ú CPU2 bus¸¦ ÅëÇØ CPU·Î data¸¦ ³Ñ°ÜÁØ´Ù. ±× CPU1, CPU2 bus´Â ¸Å ±â°è cycle¸¶¸¶´Ù mutiplier, ALU, register file¿¡ 2°³ÀÇ data-memory operand¸¦ ÁØ´Ù. ¶ÇÇÑ CPU³»ÀÇ register busÀÎ REG1, REG2´Â ¸Å ±â°è cycle¸¶´Ù 2°³ÀÇ data °ªÀ» register file·ÎºÎÅÍ multiplier¿Í ALU·Î ¿Å°Ü´ÙÁØ´Ù.

DMA controller´Â 1°³ÀÇ 24bit DMAADDR ¿Í 1°³ÀÇ 32bit DMADATA¸¦ Áö¿øÇÑ´Ù.

7. External Memory interface

'C30'´Â 2°³ÀÇ ¿ÜºÎ interface(primary bus¿Í expansion bus)¸¦ Áö¿øÇÑ´Ù. 'C31'Àº 1°³ÀÇ ¿ÜºÎ interface(primary bus)¸¦ Áö¿øÇÑ´Ù. 'C32'Àº 3°³ÀÇ µ¶¸³ÀûÀÎ ´ÙÁß±â´ÉÀ» °¡Áø strobe¸¦ °¡Áø Çâ»óµÈ 1°³ÀÇ ¿ÜºÎ interface¸¦ Áö¿øÇÑ´Ù. ÀÌ busµéÀº 32bit data bus¿Í ½ÅÈ£Á¦¾î setÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù. primary¿Í Çâ»óµÈ memory bus´Â 24bit address bus¸¦ °¡Áö°í ÀÖ´Ù. ¹Ý¸é expansion bus´Â 13bit address bus¸¦ °¡Áö°í ÀÖ´Ù.

'C3X'°è¿­Àº 32bit instruction°ú 32bit data operationÀ¸·Î ¼³°èµÇ¾îÁ® ÀÖ´Ù. ÀÌ·±ÇÑ ¼³°è´Â °íÈ¿À²ÀÇ º´·Äó¸®, C compiler¸¦ À§ÇÑ provisionÀ» Æ÷ÇÔÇؼ­ ¿©·¯°¡Áö ¸¹Àº ÀÕÁ¡ÀÌ ÀÖ´Ù. ±×·¯³ª 'C30'°ú 'C31'Àº data°¡ ´ÜÁö 8bit ³ª 16 bit ¸¸ ÇÊ¿äÇÒ¶§µµ 32bitÀÇ ¿ÜºÎ memory¸¦ ÇÊ¿ä·Î ÇÑ´Ù. ÀÌ·¯ÇÑ ÇѰ踦 'C32'¿¡¼­ ±Øº¹À» ÇÏ¿© À¶Å뼺 ÀÖ°Ô ÇÊ¿ä·Î ÇÏ´Â ¸¸Å­ data memory 8bit³ª 16bit³ª 32bit ·Î ´Ù¾çÇÏ°Ô Á¢¼Ó°¡´ÉÇØÁ³´Ù. ¶ÇÇÑ program memory´Â 16bit³ª 32bit·Î Á¢¼Ó °¡´ÉÇÏ´Ù.

°¡. TMS30C32 16bit and 32bit Program Memory

'C32'´Â 16bit ³ª 32bit memory·Î ºÎÅÍ code¸¦ ¼öÇàÇÑ´Ù. ¸¸¾à 32bit memory·Î ¿¬°áÀÌ µÇ¾úÀ»¶§ 'C32' program ¼öÇàÀº 'C31'ÀÇ ±×°Í°ú °°´Ù. ÇÏÁö¸¸ 16bit 0ÀÎ »óÅÂÀÇ memory·Î ¿¬°áÀÌ µÇ¾úÀ»¶§´Â 'C32'´Â 1°³ÀÇ 32bit instruction À» fetchÇϱâ À§ÇØ 2¹øÀÇ instruction cycleÀÌ °É¸°´Ù. ù¹ø° cycleµ¿¾È 'C32'´Â ´õ ³·Àº 16bit¸¦ fetch ÇÏ°í, µÎ¹ø° cycleµ¿¾È ³ôÀº 16 bit¸¦ fetchÇÑ´Ù. ±×¸®°í ¿ÜºÎ pinÀÎ PRGW°¡ ¿ÜºÎ program memoryÀÇ Å©±â¸¦ °¡¸®Å²´Ù.

¡¡³ª. TMS320C32 8bit, 16bit, and 32bit Data Memory

8bit, 16bit, 32bit Å©±âÀÇ memory·ÎºÎÅÍ 8bit, 16bit, 32bit data¸¦ accessÇϱâ À§ÇØ memory interface´Â STRB0, STRB1À» »ç¿ëÇÑ´Ù. °¢°¢ÀÇ strobe´Â 4°³ÀÇ pinÀ¸·Î ±¸¼ºµÇ¾îÁ® ÀÖ´Ù. 32bit memory interface¸¦ À§ÇØ ¸ðµç 4°³ÀÇ pinÀº strobe byte-enable pinÀ¸·Î »ç¿ëµÇ¾îÁø´Ù. 16bit memory interface¸¦ À§Çؼ­´Â 2°³ÀÇ pinÀÌ strobe byte-enable ·Î »ç¿ëµÇ¾îÁö°í ³ª¸ÓÁö pinµéÁß Çϳª´Â additional pinÀ¸·Î »ç¿ëµÇ¾îÁø´Ù. 8bit memory interface¸¦ À§Çؼ­´Â 1°³ÀÇ pinÀÌ strobe pinÀ¸·Î »ç¿ëµÇ¾îÁö´Â µ¿¾È ³ª¸ÓÁö pinÁß 2 °³ÀÇ pinÀÌ additional address pinÀ¸·Î »ç¿ëµÇ¾îÁø´Ù. 'C32'´Â bus control register(one control register per strobe)ÀÇ ³»¿ë¿¡ µû¶ó pinÀÇ µ¿ÀÛÀ» Á¶ÀÛÇÑ´Ù.

8. Interrupts

'C3X'´Â 4°³ÀÇ ¿ÜºÎ interrupt (INT3-INT0)¿Í ¸¹Àº ¼öÀÇ ³»ºÎ interrupt, ±×¸®°í ¿ÜºÎÀÇ RESET½ÅÈ£¸¦ Áö¿øÇÑ´Ù. À̵éÀº DMA»Ó¸¸ ¾Æ´Ï¶ó CPU interrupt¿¡ »ç¿ëµÈ´Ù. CPU°¡ interrupt¿¡ ÀÀ´äÇÒ¶§, IACK pinÀÌ ¿ÜºÎ interrupt¿¡ ´ëÇÑ Á¤º¸¸¦ ¾Ë·ÁÁØ´Ù.

'C30'°ú 'C31' ¿ÜºÎ interrupt´Â level-triggerÇüÀÌ´Ù. ÇÏÁö¸¸ 'C32'´Â ¿ÜºÎ logicÀ» °¨¼Ò½ÃÅ°°í interface¸¦ ´Ü¼øÈ­Çϱâ À§ÇØ ¿ÜºÎ interrupt´Â edge trigger¿Í level triggerÇüÀ» ¾²°Å³ª ´ÜÁö level triggerÇüÀ» ¾´´Ù.

2°³ÀÇ ¿ÜºÎ I/O flag (XF0, XF1)´Â softwareÁ¦¾î ¾Æ·¡ ÀÔÃâ·Â pinÀ¸·Î »ç¿ëµÈ´Ù.

9. Peripherals

peripheral bus´Â 32bit data bus¿Í 24bit address bus·Î ±¸¼ºµÇ¾îÁ® ÀÖ´Ù. 'C3X'ÁÖº¯ÀåÄ¡¿¡´Â 2°³ÀÇ timer¿Í 2°³ÀÇ serial port('C31:1°³ÀÇ serial port¿Í 1°³ÀÇ DMA coprocessor. 'C32':1°³ÀÇ serial port¿Í 2°³ÀÇ DMA coprocessor channel.)¸¦ °¡Áö°í ÀÖ´Ù.

°¡. Timers

2°³ÀÇ timer´Â 32bit·Î ÀϹÝÀûÀÎ ¸ñÀûÀÇ timer ¶Ç´Â event counter·Î½á »ç¿ëµÈ´Ù. °¢°¢ÀÇ timer´Â I/O pinÀ» °¡Áö°í ÀÖ´Ù.

³ª. Serial Ports

serial port('C30':2°³ 'C31', 'C32' :1°³)´Â ¼­·Î µ¶¸³ÀûÀÌ°í 8bit, 16bit, 24bit, 32bit ´ÜÀ§·Î µ¿½Ã¿¡ ¾ç¹æÇâÀÇ ¼Û½Å ¹× ¼ö½Åµ¿ÀÛÀ» ÇàÇÒ ¼ö ÀÖ´Ù.

10. Direct Memory Access (DMA)

DMA controller´Â CPUÀÇ µ¿ÀÛÀ» ¹æÇØÇÏÁö ¾ÊÀ¸¸é¼­ memory mapÀÇ ¾î¶² Àå¼Ò¿¡¼­ ÀÐ¾î µéÀϼö ÀÖ°í ¾µ ¼öµµ ÀÖ´Ù. DMA controller´Â ÀڽŸ¸ÀÇ address gernerator, source , destination registerÀ» °¡Áø´Ù. ¶ÇÇÑ CPU¿Í DMA controller»çÀÌÀÇ °¥µîÀ» ÃÖ¼ÒÈ­Çϱâ À§ÇØ Àü¿ëÀÇ DMA address¿Í data bus¸¦ °¡Áø´Ù. 'C30'°ú 'C31'ÀÇ DMA coprocessor°¡ 1°³ÀÇ channelÀ» °¡Áö´Â ¹Ý¸é 'C32'´Â 2°³ÀÇ channelÀ» °¡Áø´Ù.
 

 

Address :150-094, 4 floors 8-1,Mullae 4 Dong, YongdungpoGu, Seoul, South Korea / Phone : +82-2-597-8224, Fax : +82-2-2679-8557
Copyright(C) 2000, Roboblock System Co., Ltd, All Rights Reserved / E-Mail : WebMaster