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À» °¡Áø´Ù.
|