»óǰ ¾È³» ¹× ȯºÒ, ±³È¯, ¹è¼Û¹®ÀÇ | |
- °¡°Ô ÀüȹøÈ£ : | 1544-1900 |
- Àüȹ®ÀÇ ½Ã°£ : |
¿ÀÀü 9½ÃºÎÅÍ ¿ÀÈÄ 6½Ã±îÁö (¸ÅÁÖ ¿ù¿äÀÏ, È¿äÀÏ, ¼ö¿äÀÏ, ¸ñ¿äÀÏ, ±Ý¿äÀÏ, °øÈÞÀÏ Á¦¿Ü) |
- °¡°Ô À̸ÞÀÏ : | ink@kyobobook.co.kr |
- ÀÌ¿ë Åùèȸ»ç : | CJ´ëÇÑÅë¿î |
ÆÇ¸Å°¡°ÔÁ¤º¸ |
|
- »ç¾÷ÀÚ¸í : | (ÁÖ)±³º¸¹®°í |
- »ç¾÷ÀÚµî·Ï¹øÈ£ : | 102-81-11670 |
- Åë½ÅÆÇ¸Å¾÷½Å°í : | 01-0653 |
- Çö±Ý¿µ¼öÁõ : ¹ß±Þ°¡´É |
|
ÀüÈÁÖ¹® ¹× °áÁ¦¹®ÀÇ |
|
- ²ÉÇÇ´Â ¾ÆÄ§¸¶À» : | 1644-8422 |
°¡°Ô¿Í Á÷°Å·¡¸¦ ÇÏ½Ã¸é ²É¼ÛÀÌ Àû¸³ ¹× °¢Á¾ ÇýÅÿ¡¼ Á¦¿ÜµÇ°í, ¸¸ÀÏÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì¿¡µµ ²É¸¶ÀÇ µµ¿òÀ» ¹ÞÀ¸½Ç ¼ö ¾ø½À´Ï´Ù. °¡°ÔÀÇ ºÎ´çÇÑ ¿ä±¸, ºÒ°øÁ¤ ÇàÀ§ µî¿¡ ´ëÇØ¼µµ ²É¸¶·Î Á÷Á¢ ÀüÈÁÖ¼¼¿ä. |
»ó¼¼Á¤º¸ | ±¸¸ÅÈıâ (0) | »óǰ Q&A (0) | ¹è¼Û/±³È¯/ȯºÒ ¾È³» |
Ã¥¼Ò°³º» ±³Àç´Â 2010³âºÎÅÍ °³¹ßÀÌ ½ÃÀÛµÈ RISC-V¸¦ Áß½ÉÀ¸·Î ÁýÇÊÇÏ¿´½À´Ï´Ù. RISC-V ¸í·É¾î´Â ±¸Á¶°¡ °£´ÜÇÏ°í ±ÔÄ¢ÀûÀ̸ç, ±× ¼ö°¡ Àû¾î Çкλýµéµµ CPU¸¦ Á÷Á¢ ¼³°èÇϴ üÇèÀû ÇнÀÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù. RISC-V ISA´Â open architecture·Î »ç¿ë·á°¡ ¾ø¾î »ó¾÷ÀûÀ¸·Î Á» ´õ ½±°Ô ½ÃÀåÀ» ³ÐÇô°¡°í ÀÖ½À´Ï´Ù. ÇöÀç SiFive, Hex Five, SemiFive, StarFive µîÀÇ È¸»ç¿¡¼ RISC-V ºñÁî´Ï½º¸¦ Çϰí ÀÖÀ¸¸ç, °ú°Å MIPS¸¦ ¼³°èÇÏ´ø MIPS Technologies¶ó´Â ȸ»çµµ RISC-V °³¹ß·Î ¹æÇâÀ» ¼±È¸ÇÏ¿´½À´Ï´Ù. º» ±³Àç´Â RISC-V Çϵå¿þ¾î ½Ã½ºÅÛÀ» Á¦°øÇÏ¿©, ÇнÀÀÚ°¡ RISC-V CPU ¼³°è¿¡ ÁýÁßÇϵµ·Ï µ½½À´Ï´Ù. ±×¸®°í º»ÀÎÀÌ ¼³°èÇÑ CPUÀÇ µ¿ÀÛÀ» ½ÇÁ¦ ½Ã½ºÅÛ¿¡¼ ´«À¸·Î È®ÀÎÇϰíÀÚ ÇÏ´Â µ¶ÀÚ¸¦ À§ÇØ, DE0 FPGA º¸µå¿¡¼ ½ÇÇèÇÒ ¼ö Àִ ȯ°æµµ ¼Ò°³ÇÕ´Ï´Ù.
º» ±³ÀçÀÇ ÁýÇÊ ¹æÇâÀº °³³äÀ» ¸íÈ®ÇÏ°í °£°áÇÏ°Ô ¼³¸íÇÏ¿© ¸ðÈ£ÇÑ ºÎºÐÀÌ ¾øµµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ÄÄÇ»ÅÍ¿¡ ´ëÇÑ ½Ç¿ëÀûÀÌ°í ½Ç¹«ÀûÀÎ °¨°¢À» Ű¿öÁÖ´Â °ÍÀÔ´Ï´Ù. 3Àå¿¡¼´Â C ÄÚµå¿Í RISC-V ¸í·É¾î¿ÍÀÇ °ü°è¸¦ ¼³¸íÇÏ¿´°í, 4Àå¿¡¼´Â RISC-V CPU ¼³°è¿¡ ÇÊ¿äÇÑ µðÁöÅÐ ·ÎÁ÷ ¸ðµâÀ» ¼³¸íÇÏ¿´½À´Ï´Ù. 5Àå¿¡¼´Â single-cycle CPU¿Í pipelined CPU¸¦ ±¸Á¶µµ¿Í ÇÔ²² ÀÚ¼¼È÷ ¼³¸íÇÏ¿´½À´Ï´Ù. 7Àå ij½Ã(cache) ´Ü¿ø¿¡¼´Â ¿äÁò °ÅÀÇ ¸ðµç ÇÁ·Î¼¼¼¿¡ Æ÷ÇÔµÈ ¸ÖƼ·¹º§(multi-level) ij½Ã¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀ» ´Ù·ç¾ú°í, 9Àå¿¡¼´Â cache coherence protocolÀ» º´·Ä ÇÁ·Î±×·¥ÀÇ ¿¹¿Í ÇÔ²² ¼³¸íÇÏ¿´½À´Ï´Ù.
ÀúÀÚ¼Ò°³ÀúÀÚ : ¼Å¿ø
°í·Á´ëÇб³ Á¤º¸´ëÇÐ ÄÄÇ»ÅÍÇаú ±³¼ö·Î ÀçÁ÷ ÁßÀÌ´Ù.
°í·Á´ëÇб³ Àü±â°øÇаú Á¹¾÷ ÈÄ, ¼¿ï´ëÇб³ ÀüÀÚ°øÇаú ¼®»ç¸¦ ¸¶Ä¡°í, ¹Ì±¹ Georgia Institute of Technology¿¡¼ Àü±â ¹× ÄÄÇ»ÅͰøÇаú ¹Ú»çÇÐÀ§¸¦ ¹Þ¾Ò´Ù. ¹Ì±¹ À¯ÇÐ Àü, LGÁ¾ÇÕ±â¼ú¿ø°ú ÇÏÀ̴нº¹ÝµµÃ¼¿¡¼ ¡°SH3 RISC ÇÁ·Î¼¼¼ ¼³°è¡±, ¡°PicoJava-II ±â¹Ý SoC¼³°è¡±, ¡°ARM720T ±â¹Ý SoC¼³°è¡± µîÀÇ ÇÁ·ÎÁ§Æ®¿¡ Âü¿©ÇÏ¿´´Ù. ¹Ú»çÇÐÀ§ ÈÄ¿¡´Â ¹Ì±¹ ¿À¸®°ÇÁÖ¿¡ ÀÖ´Â Intel¿¡¼ ¡°Sandy Bridge¸¦ À§ÇÑ Virtual Platform¡± ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÏ¿´´Ù. 2008³â °í·Á´ëÇб³ ±³¼ö·Î ÀÓ¿ëµÈ ÈÄ Áö±Ý±îÁö ¡°µðÁöÅÐ³í¸®¼³°è¡±, ¡°ÄÄÇ»Åͱ¸Á¶¡±, ¡°ÄÄÇ»ÅͽýºÅÛ¼³°è¡±, ¡°ÀÓº£µðµå½Ã½ºÅÛ¡± µîÀÇ °ú¸ñÀ» ´ã´çÇϰí ÀÖ´Ù. ¶ÇÇÑ »ï¼º SCSA(Samsung Convergence Software Academy)¿¡¼ Arm ÇÁ·Î¼¼¼ °Àǵµ ´ã´çÇÏ¿´´Ù. 2019³â°ú 2020³â¿¡´Â ¡°ÄÄÇ»ÅͽýºÅÛ¼³°è¡±°ú¸ñÀ¸·Î °í·Á´ëÇб³¿¡¼ ¼ö¿©ÇÏ´Â ¼®Å¾°ÀÇ»óÀ» ¼ö»óÇÏ¿´´Ù. ¼Å¿ø ±³¼ö °ÀÇÀÇ Æ¯Â¡Àº À̷аú ÇÔ²² ½Ç¹«Àû ´É·Â¿¡ ÁßÁ¡À» µÎ°í ÀÖ´Ù´Â °ÍÀÌ´Ù. ƯÈ÷ ÄÄÇ»Åͱ¸Á¶ °ÀÇ¿¡¼´Â Verilog·Î RISC-V CPU ¼³°è¸¦ Çϰí À̸¦ FPGA ½Ã½ºÅÛ¿¡¼ °ËÁõÇÏ´Â Ä¿¸®Å§·³À» ¿î¿µÇϰí ÀÖ´Ù. ÇöÀç °í·Á´ëÇб³ ¡®Embedded Computing ¿¬±¸½Ç¡¯¿¡¼, IoT º¸¾È, FPGA¸¦ ÀÌ¿ëÇÑ º¸¾È ½Ã½ºÅÛ, Çϵå¿þ¾î º¸¾È, AI °¡¼Ó±â µî¿¡ ´ëÇÑ ¿¬±¸¸¦ Çϸç ÈÄÇо缺¿¡ Èû¾²°í ÀÖ´Ù.
¸ñÂ÷CHAPTER 1 ÄÄÇ»ÅÍ °³¿ä ¹× ±âº»±â
1.1 ÄÄÇ»ÅÍ Çϵå¿þ¾î ±¸¼º
1.2 ÄÄÇ»ÅÍÀÇ ºÐ·ù
1.3 CPUÀÇ Á¾·ù
1.4 2Áø¼ö, 16Áø¼ö
1.5 KB = 1000-byte? 1024-byte?
1.6 ¸Þ¸ð¸® Á¢±Ù ´ÜÀ§
1.7 °í±Þ¾ð¾î vs Àú±Þ¾ð¾î
1.8 ÄÄÇ»ÅÍÀÇ ±âº» ±¸Á¶ ¹× µ¿ÀÛ
1.9 ÄÄÇ»Åʹ óÀ½¿¡ ¾îµð¿¡¼ ¹«¾ùÀ» ½ÇÇàÇÒ±î?
1.10 RISC vs CISC
1.11 32-bit, 64-bit ¾ÆÅ°ÅØÃÄ?
1.12 2ÀÇ º¸¼ö ±×¸®°í Á¤¼öÀÇ µ¡¼À, »¬¼À
1.13 Signed Á¤¼ö, Unsigned Á¤¼ö, ±×¸®°í ÄÄÇ»ÅÍ¿¡¼ Ç¥ÇöÇÒ ¼ö ÀÖ´Â Á¤¼öÀÇ ÇѰè
1.14 CPU¿¡¼ Á¤¼öÀÇ ´ë¼Òºñ±³´Â ¾î¶»°Ô ÇÒ±î?
1.14.1 N-flag ¼³Á¤
1.14.2 Z-flag ¼³Á¤
1.14.3 C-flag ¼³Á¤
1.14.4 V-flag ¼³Á¤
1.15 ÄÄÇ»ÅÍÀÇ °èÃþ±¸Á¶
CHAPTER 2 RISC-V Çϵå¿þ¾î ¹× ¼ÒÇÁÆ®¿þ¾î ½Ç½Àȯ°æ
2.1 DE0 º¸µå ¼Ò°³
2.2 RISC-V Cross-Compiler ȯ°æ ¼³Á¤
2.2.1 JRE ¼³Ä¡
2.2.2 Cygwin ¼³Ä¡¿Í Windows ȯ°æ ¼³Á¤
2.2.3 RISC-V cross-compiler ¼³Ä¡
2.2.4 Eclipse ¼³Ä¡ ¹× cross-compilation
2.3 Çϵå¿þ¾î ¼³°è ¹× ÇÕ¼º ȯ°æ
2.4 Çϵå¿þ¾î ½Ã¹Ä·¹ÀÌ¼Ç È¯°æ
CHAPTER 3 RISC-V ¸í·É¾î
3.1 RISC-V °³¿ä ¹× ¸í·É¾î ü°è
3.2 RV32I µ¥ÀÌÅÍó¸® ¸í·É¾î
3.2.1 »ê¼ú¸í·É¾î
3.2.2 ³í¸® ¸í·É¾î
3.2.3 Shift ¸í·É¾î
3.2.4 ºñ±³ ¸í·É¾î
3.3 RV32I ¸Þ¸ð¸®Á¢±Ù ¸í·É¾î
3.4 RV32I ºÐ±â ¸í·É¾î
3.4.1 Á¶°Ç¿¡ µû¸¥ ºÐ±â ¸í·É¾î
3.4.2 ¹«Á¶°Ç ºÐ±â ¸í·É¾î
3.5 Pseudo ¸í·É¾î
CHAPTER 4 CPU ¼³°è¸¦ À§ÇÑ Çϵå¿þ¾î
4.1 Á¶ÇÕȸ·Î
4.1.1 Concatenation & Replication
4.1.2 ¸ÖƼÇ÷º¼
4.1.3 µðÄÚ´õ
4.1.4 °¡»ê±â¿Í °¨»ê±â
4.1.5 ALU
4.2 ¼øÂ÷ȸ·Î
4.2.1 Ŭ·°
4.2.2 Çø³Ç÷Ó
4.2.3 ·¹Áö½ºÅÍ ÆÄÀÏ
CHAPTER 5 32-bit RISC-V CPU ¼³°è
5.1 Single-cycle CPU ¼³°è
5.1.1 Instruction Fetch ·ÎÁ÷ ¼³°è
5.1.2 Decoding ·ÎÁ÷ ¼³°è
5.1.3 Execution ·ÎÁ÷ ¼³°è
5.2 Pipelined CPU ¼³°è
5.2.1 Structural Hazard
5.2.2 Data Hazard ¹× ÇØ°á ¹æ¹ý
5.2.3 Control Hazard ¹× ÇØ°á ¹æ¹ý
5.2.4 ¼º´É
CHAPTER 6 I/O ÀåÄ¡, ÀͼÁ¼Ç ¹× ÀÎÅÍ·´Æ®
6.1 I/O ÀåÄ¡¿Í ¸Þ¸ð¸®¸Ê
6.1.1 Memory-mapped I/O
6.1.2 I/O-mapped I/O
6.2 ÀͼÁ¼Ç°ú ÀÎÅÍ·´Æ®
6.3 32-bit RISC-V¿¡¼ ÀͼÁ¼Ç°ú ÀÎÅÍ·´Æ®
CHAPTER 7 ij½Ã
7.1 ÁÖ±â¾ïÀåÄ¡
7.2 Áö¿ª¼º°ú ij½Ã
7.3 ij½ÃÀÇ ±¸Á¶
7.3.1 Direct-mapped cache
7.3.2 Set-associative cache
7.3.3 Fully-associative cache
7.4 Multi-level ij½Ã
7.5 ¼ÒÇÁÆ®¿þ¾îÀÇ ¿ªÇÒ
CHAPTER 8 °¡»ó¸Þ¸ð¸®¿Í TLB
8.1 °¡»ó¸Þ¸ð¸® °³³ä
8.2 Translation Lookaside Buffer
8.2.1 Direct-mapped TLB
8.2.2 Set-associative TLB
8.2.3 Fully-associative TLB
8.3 32-bit RISC-V¿¡¼ °¡»ó¸Þ¸ð¸® ±¸Çö
8.4 Cache¿Í TLB
CHAPTER 9 ¸ÖƼÄÚ¾î ÇÁ·Î¼¼¼
9.1 ¸ÖƼÄÚ¾î ÇÁ·Î¼¼¼ ±¸Á¶ ¹× º´·Ä ÇÁ·Î±×·¡¹Ö
9.2 ij½ÃÀϰü¼º ±Ô¾à |
±³È¯ ¹× ȯºÒ °¡´É |
»óǰ¿¡ ¹®Á¦°¡ ÀÖÀ» °æ¿ì |
1) »óǰÀÌ Ç¥½Ã/±¤°íµÈ ³»¿ë°ú ´Ù¸£°Å³ª ºÒ·®(ºÎÆÐ, º¯Áú, ÆÄ¼Õ, Ç¥±â¿À·ù, À̹°È¥ÀÔ, Áß·®¹Ì´Þ)ÀÌ ¹ß»ýÇÑ °æ¿ì - ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ : ¼ö·ÉÀÏ ´ÙÀ½³¯±îÁö ½Åû - ±âŸ »óǰ : ¼ö·ÉÀϷκÎÅÍ 30ÀÏ À̳», ±× »ç½ÇÀ» ¾È ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳» ½Åû 2) ±³È¯ ¹× ȯºÒ½Åû ½Ã ÆÇ¸ÅÀÚ´Â »óǰÀÇ »óŸ¦ È®ÀÎÇÒ ¼ö ÀÖ´Â »çÁøÀ» ¿äûÇÒ ¼ö ÀÖÀ¸¸ç »óǰÀÇ ¹®Á¦ Á¤µµ¿¡ µû¶ó Àç¹è¼Û, ÀϺÎȯºÒ, ÀüüȯºÒÀÌ ÁøÇàµË´Ï´Ù. ¹Ýǰ¿¡ µû¸¥ ºñ¿ëÀº ÆÇ¸ÅÀÚ ºÎ´ãÀ̸ç ȯºÒÀº ¹ÝǰµµÂøÀϷκÎÅÍ ¿µ¾÷ÀÏ ±âÁØ 3ÀÏ À̳»¿¡ ¿Ï·áµË´Ï´Ù. |
´Ü¼øº¯½É ¹× ÁÖ¹®Âø¿ÀÀÇ °æ¿ì |
1) ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ ÀçÆÇ¸Å°¡ ¾î·Á¿î »óǰÀÇ Æ¯¼º»ó, ±³È¯ ¹× ȯºÒÀÌ ¾î·Æ½À´Ï´Ù. 2) ÈÀåǰ ÇǺΠƮ·¯ºí ¹ß»ý ½Ã Àü¹®ÀÇ Áø´Ü¼ ¹× ¼Ò°ß¼¸¦ Á¦ÃâÇϽøé ȯºÒ °¡´ÉÇÕ´Ï´Ù. ÀÌ °æ¿ì Á¦¹Ýºñ¿ëÀº ¼ÒºñÀÚ ºÎ´ãÀ̸ç, ¹è¼Ûºñ´Â ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. ÇØ´ç ÈÀåǰ°ú ÇǺΠƮ·¯ºí°úÀÇ »ó´çÇÑ Àΰú°ü°è°¡ ÀÎÁ¤µÇ´Â °æ¿ì ¶Ç´Â Áúȯġ·á ¸ñÀûÀÇ °æ¿ì¿¡´Â Áø´Ü¼ ¹ß±Þºñ¿ëÀ» ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. 3) ±âŸ »óǰ ¼ö·ÉÀϷκÎÅÍ 7ÀÏ À̳» ½Åû, ¿Õº¹¹è¼Ûºñ´Â ¼ÒºñÀÚ ºÎ´ã 4) ¸ð´ÏÅÍ ÇØ»óµµÀÇ Â÷ÀÌ·Î »ö»óÀ̳ª À̹ÌÁö°¡ ´Ù¸¥ °æ¿ì ´Ü¼øº¯½É¿¡ ÀÇÇÑ ±³È¯ ¹× ȯºÒÀÌ Á¦ÇÑµÉ ¼ö ÀÖ½À´Ï´Ù. |
|
±³È¯ ¹× ȯºÒ ºÒ°¡ |
1) ½Åû±âÇÑÀÌ Áö³ °æ¿ì 2) ¼ÒºñÀÚÀÇ °ú½Ç·Î ÀÎÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ Àüü ¶Ç´Â ÀϺΰ¡ ¾ø¾îÁö°Å³ª ÈѼÕ, ¿À¿°µÇ¾úÀ» °æ¿ì 3) °³ºÀÇÏ¿© ÀÌ¹Ì ¼·ÃëÇÏ¿´°Å³ª »ç¿ë(Âø¿ë ¹× ¼³Ä¡ Æ÷ÇÔ)ÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ °¡Ä¡°¡ ¼Õ»óµÈ °æ¿ì 4) ½Ã°£ÀÌ °æ°úÇÏ¿© »óǰÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì 5) »ó¼¼Á¤º¸ ¶Ç´Â »ç¿ë¼³¸í¼¿¡ ¾È³»µÈ ÁÖÀÇ»çÇ× ¹× º¸°ü¹æ¹ýÀ» ÁöŰÁö ¾ÊÀº °æ¿ì 6) »çÀü¿¹¾à ¶Ç´Â ÁÖ¹®Á¦ÀÛÀ¸·Î ÅëÇØ ¼ÒºñÀÚÀÇ ÁÖ¹®¿¡ µû¶ó °³º°ÀûÀ¸·Î »ý»êµÇ´Â »óǰÀÌ ÀÌ¹Ì Á¦ÀÛÁøÇàµÈ °æ¿ì 7) º¹Á¦°¡ °¡´ÉÇÑ »óǰ µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì 8) ¸À, Çâ, »ö µî ´Ü¼ø ±âÈ£Â÷ÀÌ¿¡ ÀÇÇÑ °æ¿ì |