
ãã¥ãŒãªã³ã°ãã·ã³ãšãã€ãã³åã³ã³ãã¥ãŒã¿ãæããçŸä»£ã®æ
ã¯ããã«
ãæ®æ®µäœæ°ãªã䜿ã£ãŠããããœã³ã³ãã¹ããŒããã©ã³ãã€ã³ã¿ãŒãããã§èª¿ã¹ç©ãããããåç»ãèŠããã²ãŒã ãããããšãç§ãã¡ã®ç掻ã«ãªããŠã¯ãªããªãååšãšãªã£ãŠããŸãã
ãä»ããçŽ80幎ãåã«èæ¡ããããããä»®æ³çãªæ©æ¢°ãã®ã¢ã€ãã¢ããå®ã¯ããªãã®ç®ã®åã«ããããœã³ã³ã®åå°ã«ãªã£ãŠãããšããããé©ããŸãããïŒ
ããããŠããã®ã¢ã€ãã¢ãå
ã«ãããã°ã©ã ãèªåšã«å
¥ãæ¿ããããã³ã³ãã¥ãŒã¿ããçã¿åºãã人ç©ããããããããç§ãã¡ã¯ä»ãæ§ã
ãªã¢ããªããµãŒãã¹ãåœããåã®ããã«äœ¿ããã®ã§ãã
ããã®èšäºã§ã¯ãçŸä»£ã®ã³ã³ãã¥ãŒã¿ã®æ ¹æ¬çãªèšèšææ³ã§ããããã€ãã³åããšããã®çè«çãªåºç€ãšãªã£ãããã¥ãŒãªã³ã°ãã·ã³ãã«ã€ããŠã解説ããŠãããŸãã
ãè€éã«èŠããã³ã³ãã¥ãŒã¿ã®ä»çµã¿ãããã®ã«ãŒãã蟿ãã°éåžžã«ã·ã³ãã«ãªã¢ã€ãã¢ã«åºã¥ããŠããããšãããããŸãã
1. çè«äžã®èšç®æ©ïŒãã¥ãŒãªã³ã°ãã·ã³
1.1 ãã¥ãŒãªã³ã°ãã·ã³ãšã¯ïŒ
ãã³ã³ãã¥ãŒã¿ã®æŽå²ãèªãäžã§æ¬ ãããªãã®ããããã¥ãŒãªã³ã°ãã·ã³ããšããæŠå¿µã§ããããã¯ã1936幎ã«ã€ã®ãªã¹ã®å€©ææ°åŠè
ã¢ã©ã³ã»ãã¥ãŒãªã³ã°ãèæ¡ãããä»®æ³çãªèšç®ã¢ãã«ã®ããšã§ãã
ã圌ã¯ãèšç®ãšã¯äœãïŒããšããåãã«å¯ŸããŠãéåžžã«ã·ã³ãã«ãªèŠçŽ ã ãã§ã©ããªèšç®ã§ãã§ããæ©æ¢°ã®ã€ã¡ãŒãžãæç€ºããŸããã
ããã¥ãŒãªã³ã°ãã·ã³ã¯ã以äžã®éåžžã«ã·ã³ãã«ãªèŠçŽ ã§æ§æãããŠããŸãã
ã»ç¡éã«é·ãããŒã
ãæ°åãèšå·ãæžããããã¹ç®ãããããŒãã§ãã
ãäŸãããªããçµããã®ãªãã¡ã¢çšçŽã®ãããªãã®ã§ãã
ã»èªã¿æžãããã
ãããŒãäžã®ç¹å®ã®ãã¹ç®ãèªã¿åã£ãããããã«èšå·ãæžã蟌ãã ããæ¶ãããããéšåã§ãã
ããŸãã§ãã³ãšæ¶ããŽã ãæã£ãæå
ã®ããã§ãã
ã»ç¶æ
é·ç§»ïŒã«ãŒã«ïŒ
ãããããããŒãããèšå·ãèªã¿åã£ããšããçŸåšã®ç¶æ
ã«å¿ããŠãäœãããã©ãããããããããŠã次ã®ç¶æ
ããã©ãããããæ±ºããäžé£ã®ã«ãŒã«ã§ãã
ãããã¯ãã³ã³ãã¥ãŒã¿ã次ã«ã©ãåãããæ±ºãããããã°ã©ã ãã®ãããªãã®ã§ãã

1.2 ãã¥ãŒãªã³ã°ãã·ã³ã®åäœåç
ããã¥ãŒãªã³ã°ãã·ã³ã®åäœã¯ãéåžžã«ã·ã³ãã«ã§å埩çã§ãããŸãã§ãäžããããã«ãŒã«éãã«äžã€ãã€äœæ¥ãé²ããè·äººã®ããã§ãã
(1)ããŒãããèšå·ãèªã¿åã
ãèªã¿æžããããããããŒãã®ç¹å®ã®ãã¹ç®ã«ããèšå·ãèªã¿åããŸãã
(2)ã«ãŒã«ã«åŸã£ãŠè¡åãã
ãèªã¿åã£ãèšå·ãšãçŸåšã®æ©æ¢°ã®ç¶æ
ïŒä»ãã©ããªäœæ¥ãããŠãããïŒã«åºã¥ããŠãäºåã«æ±ºããããã«ãŒã«ïŒç¶æ
é·ç§»ïŒã«åŸããŸãã
ãã»èªã¿æžãããããããŒãã®å³ã«ç§»åãããã
ãã»èªã¿æžãããããããŒãã®å·Šã«ç§»åãããã
ãã»ãããŠãæ©æ¢°ã®æ¬¡ã®ç¶æ
ïŒæ¬¡ã«ã©ããªäœæ¥ããããïŒã決ããŸãã
(3)ãã®ããã»ã¹ãç¹°ãè¿ã
ãäžèšã®1ãš2ã®åäœããèšç®ãå®äºãããŸã§ããããã¯æ±ºããããæ¡ä»¶ãæºãããããŸã§äœåºŠãç¹°ãè¿ããŸãã
ãäŸïŒããŒãäžã®ã0ããã1ãã«æžãæãã
ãå
·äœçãªäŸã§èããŠã¿ãŸãããã
ããããããŒãäžã«ã0ããæžããããã¹ç®ããã£ããããããã1ãã«æžãæãããšããã·ã³ãã«ãªèšç®ããããããšããŸãã
ããã¥ãŒãªã³ã°ãã·ã³ã«äžããã«ãŒã«ã¯ãäŸãã°ä»¥äžã®ããã«ãªããŸãã
ãã»çŸåšã®ç¶æ
ïŒ ã0ãèŠã€ããã1ã«æžãæãããã¢ãŒã
ãã»èªã¿åã£ãèšå·ïŒ ã0ã
ãã»è¡åïŒ ã1ããæžã蟌ããããããå³ã«1ãã¹ç§»åããã
ãã»æ¬¡ã®ç¶æ
ïŒ ãæžãæãå®äºãã¢ãŒãïŒãŸãã¯ã次ã®ã0ããæ¢ãã¢ãŒãïŒ
ããã®ããã«ããã¥ãŒãªã³ã°ãã·ã³ã¯éåžžã«ã·ã³ãã«ãªåœä»€ã®ç¹°ãè¿ãã ãã§ãè€éãªèšç®ãåççã«ã¯å®è¡ã§ããããšã瀺ããŸããã
ãããã¯ããèšç®ãšã¯äœãããšããæ ¹æºçãªåãã«å¯Ÿãããç»æçãªçãã ã£ãã®ã§ãã
ããã®ã·ã³ãã«ãªä»çµã¿ããåççã«ã¯ããããèšç®ãå¯èœã«ããã®ã§ãã
2.å®çšçãªèšç®æ©ïŒãã€ãã³åã³ã³ãã¥ãŒã¿
2.1 ãã€ãã³åã³ã³ãã¥ãŒã¿ã®èªç
ããã¥ãŒãªã³ã°ãã·ã³ããçè«äžã®èšç®æ©ãã§ãã£ãã®ã«å¯ŸããŠããã®çè«ãçŸå®ã®æ©æ¢°ãšããŠåããŠèšèšããã®ãããã³ã¬ãªãŒç³»ã¢ã¡ãªã«äººã®å€©ææ°åŠè
ãžã§ã³ã»ãã©ã³ã»ãã€ãã³ã§ãã
ã圌ã1945å¹Žã«æå±ããèšèšææ³ã¯ãçŸä»£ã®ã³ã³ãã¥ãŒã¿ã®åºæ¬çãªã¢ãŒããã¯ãã£ãšããŠãä»ããªãåãç¶ãããŠããŸãã
ããã®ãããçŸåšç§ãã¡ã䜿ã£ãŠããã»ãšãã©ã®ã³ã³ãã¥ãŒã¿ã¯ããã€ãã³åã³ã³ãã¥ãŒã¿ããšåŒã°ããŠããŸãã
ãç¹ã«ããã€ãã³ãé¢ãã£ãåæã®ã³ã³ãã¥ãŒã¿ã§ãããEDVACïŒãšãããã¯ïŒãã®èšèšã¯ããã®åŸã®ã³ã³ãã¥ãŒã¿éçºã«å€§ããªåœ±é¿ãäžããŸããã
2.2 ãã€ãã³åã³ã³ãã¥ãŒã¿ã®äž»èŠãªæ§æèŠçŽ
ããã€ãã³åã³ã³ãã¥ãŒã¿ã¯ãäž»ã«ä»¥äžã®äž»èŠãªæ§æèŠçŽ ããæãç«ã£ãŠããŸãã
ããããã¯ããŸãã§äººéã®è³ãæè¶³ã®ããã«ãããããã®åœ¹å²ãåæ
ããŠã³ã³ãã¥ãŒã¿ãåãããŠããŸãã

ã»CPUïŒäžå€®åŠçè£
眮ïŒ
ãã³ã³ãã¥ãŒã¿ã®ãè³ãã«ãããéšåã§ããèšç®ã倿ãè¡ããä»ã®éšåã«æç€ºãåºããŸããCPUã¯ããã«ãäºã€ã®éšåã«åãããŸãã
ãã»æŒç®è£
眮ïŒALUïŒArithmetic Logic UnitïŒ
ããè¶³ãç®ãåŒãç®ãªã©ã®èšç®ããAãšBã®ã©ã¡ãã倧ããããšãã£ãæ¯èŒå€æãè¡ããŸãã
ãã»å¶åŸ¡è£
眮
ããããã°ã©ã ã®æç€ºãè§£éããŠãCPUã®åéšåãã¡ã¢ãªãå
¥åºåè£
眮ãªã©ãã©ã®ããã«åäœããããå¶åŸ¡ããŸãã
ã»ã¡ã¢ãªïŒäž»èšæ¶è£
眮ïŒ
ãã³ã³ãã¥ãŒã¿ã®ãäœæ¥å°ãã«ãããéšåã§ããCPUãåŠçããããŒã¿ããå®è¡ããããã°ã©ã ãäžæçã«ä¿åãããŸãã
ããã€ãã³åã³ã³ãã¥ãŒã¿ã®æå€§ã®ç¹åŸŽã¯ãããã°ã©ã ãšããŒã¿ãåãå Žæã«ä¿åãããããã°ã©ã å
èµæ¹åŒããæ¡çšããŠããç¹ã§ããããã«ãããããã°ã©ã ã®å€æŽãéåžžã«ç°¡åã«ãªããŸããã
ã»å
¥åºåè£
眮
ãã³ã³ãã¥ãŒã¿ãšãŠãŒã¶ãŒãšã®éã§æ
å ±ãåãæž¡ãããã®éšåã§ãã
ããã»å
¥åè£
眮
ãããããŒããŒããããŠã¹ãªã©ãç§ãã¡ãã³ã³ãã¥ãŒã¿ã«æç€ºãããŒã¿ãéãããã®ãã®ã§ãã
ããã»åºåè£
眮
ããããã£ã¹ãã¬ã€ãããªã³ã¿ãŒãªã©ãã³ã³ãã¥ãŒã¿ãåŠççµæãç§ãã¡ã«äŒããããã®ãã®ã§ãã
3.ãã¥ãŒãªã³ã°ãã·ã³ãããã€ãã³åã³ã³ãã¥ãŒã¿ãž
3.1 çè«ããçŸå®ãžã®æ©æž¡ã
ããã¥ãŒãªã³ã°ãã·ã³ããèšç®ã®åçããå®çŸ©ãããããã°ãèšç®ã®çæ³çãªå§¿ãã瀺ããã®ã«å¯ŸããŠããã€ãã³åã³ã³ãã¥ãŒã¿ã¯ãã®åçããçŸå®ã®æ©æ¢°ããšããŠã©ã®ããã«å®çŸããããå ·äœçãªèšèšå³ã瀺ããŸããã
ãäž¡è ã«ã¯ãè峿·±ãé¡äŒŒç¹ããããŸãã
ãã»ãã¥ãŒãªã³ã°ãã·ã³ã®ãç¡éã«é·ãããŒããã¯ããã€ãã³åã³ã³ãã¥ãŒã¿ã®ãã¡ã¢ãªïŒäž»èšæ¶è£
眮ïŒãã«å¯Ÿå¿ããŸãã
ããã©ã¡ãããæ
å ±ïŒããŒã¿ãããã°ã©ã ïŒãä¿åããå Žæã§ãã
ãã»ãã¥ãŒãªã³ã°ãã·ã³ã®ãèªã¿æžããããããšãç¶æ
é·ç§»ïŒã«ãŒã«ïŒãã¯ããã€ãã³åã³ã³ãã¥ãŒã¿ã®ãCPUïŒäžå€®åŠçè£
眮ïŒãã«å¯Ÿå¿ããŸãã
ããCPUãã¡ã¢ãªããåœä»€ãèªã¿èŸŒã¿ãããã«åŸã£ãŠæŒç®ãè¡ããçµæãæžãåºããšããåäœã¯ããŸãã«ãã¥ãŒãªã³ã°ãã·ã³ã®ããããããŒããæäœããæ§åã«äŒŒãŠããŸãã
ãã€ãŸãããã¥ãŒãªã³ã°ãã·ã³ã§ç€ºããããèšç®ã®å¯èœæ§ããããã€ãã³åã³ã³ãã¥ãŒã¿ãå ·äœçãªããŒããŠã§ã¢ãšããŠå®çŸãããšèšããã®ã§ãã
3.2 ãã€ãã³åã³ã³ãã¥ãŒã¿ã®é©æ°æ§
ããã€ãã³åã³ã³ãã¥ãŒã¿ã®ç»å Žã¯ãã³ã³ãã¥ãŒã¿ã®æŽå²ã«ãããŠãŸãã«é©åœã§ããããã®æå€§ã®é©æ°æ§ã¯ããããã°ã©ã å èµæ¹åŒãã«ãããŸãã
(1)ããã°ã©ã ã®å€æŽã容æã«ãªã£ã
ããããŸã§ã®ã³ã³ãã¥ãŒã¿ã¯ãèšç®å
容ãå€ãããã³ã«ãã±ãŒãã«ãå·®ãæ¿ããããç©ççãªéšåãçµã¿æ¿ãããããå¿
èŠããããŸãããããã¯ããŸãã§èšç®ãããã³ã«æ©æ¢°ãã®ãã®ãæ¹é ãããããªå€§å€ãªäœæ¥ã§ãã
ãããããããã°ã©ã å
èµæ¹åŒã§ã¯ãããã°ã©ã ãããŒã¿ãšåãããã«ã¡ã¢ãªã«ä¿åãããããããœãããŠã§ã¢ãæžãæããã ãã§ãã³ã³ãã¥ãŒã¿ã®æ©èœãèªç±ã«å€ããããããã«ãªããŸããã
(2)æ±çšæ§ã®åäž
ãç©ççãªå€æŽãªãã«æ§ã
ãªçš®é¡ã®èšç®ãè¡ããããã«ãªã£ããããäžå°ã®ã³ã³ãã¥ãŒã¿ãæ§ã
ãªçšéã«äœ¿ããããã«ãªããŸããã
ãããããçŸä»£ã®ããœã³ã³ãã¹ããŒããã©ã³ããææžäœæããã²ãŒã ãã€ã³ã¿ãŒããããŸã§ãããããã¿ã¹ã¯ãããªããçç±ã§ãã
(3)çŸä»£ã®ãœãããŠã§ã¢éçºã®åºç€
ããã®ãããã°ã©ã ãèªç±ã«æžãæããããããšããç¹åŸŽããããç§ãã¡ãæ¥ã
å©çšããŠããæ§ã
ãªãœãããŠã§ã¢ãã¢ããªã±ãŒã·ã§ã³ãçãŸããåå°ãšãªããŸããã
ããããã€ãã³åã³ã³ãã¥ãŒã¿ããªããã°ãä»ã®ãããªå€æ§ãªããžã¿ã«ãµãŒãã¹ã¯ååšããªãã£ããããããŸããã
ãããã«
ããã®èšäºã§ã¯ãçŸä»£ã³ã³ãã¥ãŒã¿ã®åºç€ãç¯ããäºã€ã®éèŠãªæŠå¿µãããã¥ãŒãªã³ã°ãã·ã³ããšããã€ãã³åã³ã³ãã¥ãŒã¿ãã«ã€ããŠè§£èª¬ããŸããã
ããã¥ãŒãªã³ã°ãã·ã³ã¯ããèšç®ãšã¯äœãããšããæ ¹æºçãªåãã«å¯Ÿããçè«çãªèšç®ã®éçãšå¯èœæ§ã瀺ããã¢ãã«ã§ãããã®ã·ã³ãã«ãªä»çµã¿ã¯ãããããèšç®ãå¯èœã§ããããšã蚌æããŸããã
ããã€ãã³åã³ã³ãã¥ãŒã¿ã¯ããã®ãã¥ãŒãªã³ã°ãã·ã³ã®çè«ããçŸå®ã®æ©æ¢°ãšããŠå®çšçãªåœ¢ã§å®è£ ããã¢ãã«ã§ããç¹ã«ãããã°ã©ã å èµæ¹åŒãã¯ãã³ã³ãã¥ãŒã¿ã®æ±çšæ§ãé£èºçã«é«ããçŸä»£ã®IT瀟äŒã®åºç€ãç¯ããŸããã
ããããããã€ãã³åã³ã³ãã¥ãŒã¿ã«ã課é¡ã¯ãããŸãããããããã€ãã³ã»ããã«ããã¯ããšåŒã°ããåé¡ã§ãã
ãããã¯ãCPUã®åŠçé床ãéåžžã«éãäžæ¹ã§ãCPUãšã¡ã¢ãªã®éã§ããŒã¿ãããåãããé床ã«ã¯éçããããããããŒã¿è»¢éãCPUã®åŠçé床ã«è¿œãã€ãããå
šäœã®æ§èœãå¶éãããŠããŸãçŸè±¡ãæããŸãã
ããã®ããã«ããã¯ãè§£æ¶ããããã«ãã³ã³ãã¥ãŒã¿ã®ã¢ãŒããã¯ãã£ã¯ä»ãé²åãç¶ããŠããŸãã
ãäŸãã°ãCPUå
éšã«é«éãªãã£ãã·ã¥ã¡ã¢ãªãæèŒããããGPUïŒç»ååŠçè£
眮ïŒã®ããã«ç¹å®ã®åŠçã«ç¹åããããã»ããµã掻çšããããšãæ§ã
ãªå·¥å€«ãåããããŠããŸãã
ããã®èšäºãéããŠãæ®æ®µäœæ°ãªã䜿ã£ãŠããã³ã³ãã¥ãŒã¿ã®ãå
éšãã§äœãèµ·ããŠããã®ãããã®æŽå²çãªèæ¯ãšä»çµã¿ã«ã€ããŠãå°ãã§ãçè§£ãæ·±ããŠããã ãããªã幞ãã§ãã
ãITæè¡ã¯æ¥ã
é²åããŠããŸããããã®æ ¹åºã«ã¯ãã¢ã©ã³ã»ãã¥ãŒãªã³ã°ããžã§ã³ã»ãã©ã³ã»ãã€ãã³ãšãã£ãå
人ãã¡ã®å倧ãªçºèŠãšçè«ãããããšãç¥ãããšã¯ãããããã®ãã¯ãããžãŒã®çºå±ãçè§£ããäžã§ããã£ãšåœ¹ç«ã€ã¯ãã§ãã
æžç±ã®ç޹ä»
ã»ããã°ã©ã ã¯ãªãåãã®ã 第ïŒçãç¥ã£ãŠããããããã°ã©ãã³ã°ã®åºç€ç¥è Kindleç
ãç¢æ²¢ ä¹
é (è)  圢åŒ: Kindleç
ãæ¥çµBP (2021/5/13)
ããããã°ã©ã ã¯ãªãåãã®ãã14幎ã¶ããåŸ
æã®æ¹èšç¬¬3ç!
ããããããã®10幎ãéçšããåºæ¬ãããããå€ãã®èªè
ã«èº«ã«ã€ããŠãããããã«æ¹èšããŸããã
ãããã°ã©ã ãã³ã³ãã¥ãŒã¿ã®äžã§ã©ã®ããã«åäœããã®ããã誰ã«ã§ããããããã«èª¬æããŸããããã°ã©ã ã¯ãã¡ã¢ãªãŒã«ããŒããããCPUã«ãã£ãŠè§£éã»å®è¡ãããŸãããã®ä»çµã¿ãã倿°ã®å³ã䜿ã£ãŠãé åºã ãŠãŠè§£èª¬ããŸãã
ïŒ â» æžç±ã®è§£èª¬çã¯ååãšããŠãªã³ã¯å
ïŒAmazonïŒã«ããã解説ãããŒã¹ã«èšèŒããŠããŸãã詳现å
容ã¯ãªã³ã¯å
ãåç
§é¡ããŸããïŒ
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
ã»ãã¥ãŒãªã³ã°ã®èšç®çè«å
¥éããã¥ãŒãªã³ã°ã»ãã·ã³ããã³ã³ãã¥ãŒã¿ãž (ãã«ãŒããã¯ã¹) Kindleç
ãé«å²¡è© å (è)
ãè¬è«ç€Ÿ (2014/2/20)
ãæ¬æžã¯ãã³ã³ãã¥ãŒã¿ã®åçãšããŠã®ãã¥ãŒãªã³ã°ã»ãã·ã³ã解説ãããšãšãã«ã決å®åé¡ã解決ããæåãªããã¥ãŒãªã³ã°ã»ãã·ã³ã®åæ¢åé¡ããåããããã説æããŸããããã«èšç®éãšãïŒå€§é£åã®äžã€ãPïŒNPåé¡ãã«ã€ããŠãããããããã解説ããŸããïŒãã«ãŒããã¯ã¹ã»2014幎2æåïŒ
ïŒ â» æžç±ã®è§£èª¬çã¯ååãšããŠãªã³ã¯å
ïŒAmazonïŒã«ããã解説ãããŒã¹ã«èšèŒããŠããŸãã詳现å
容ã¯ãªã³ã¯å
ãåç
§é¡ããŸããïŒ
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
ã»ããããèšç®çè«: æéãªãŒãããã³ãããã¥ãŒãªã³ã°æ©æ¢°ãŸã§ (Information&Computing 117) åè¡æ¬ â 2017/12/10
ã䞞岡 ç« (è)
ããµã€ãšã³ã¹ç€Ÿ (2017/12/10)
ïŒ â» æžç±ã®è§£èª¬çã¯ååãšããŠãªã³ã¯å
ïŒAmazonïŒã«ããã解説ãããŒã¹ã«èšèŒããŠããŸãã詳现å
容ã¯ãªã³ã¯å
ãåç
§é¡ããŸããïŒ
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
ã»ã³ã³ãã¥ãŒã¿ã®æ§æãšèšèšãMIPS Editionã第6çãäž Kindleç
ãDavid Patterson (è), John Hennessy (è), æç° å
地 (翻蚳)
ã æ¥çµBP (2021/11/4)
ããã¿ïŒãžããã®åã§èŠªããŸããå€å
žçåèã®ç¬¬6çãã³ã³ãã¥ãŒã¿æè¡ã®åæ©ããã¢ãã€ã«ïŒã¯ã©ãŠãæä»£ã®ææ°ã®ããŒããŸã§æ·±ã解説ã
ïŒ â» æžç±ã®è§£èª¬çã¯ååãšããŠãªã³ã¯å
ïŒAmazonïŒã«ããã解説ãããŒã¹ã«èšèŒããŠããŸãã詳现å
容ã¯ãªã³ã¯å
ãåç
§é¡ããŸããïŒ
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-