아키텍쳐도 사이클 시간에 다소 영향을 줄 수 있는데, 복잡한 명령어는 일반적으로 사이클 시간이 길어질 가능성이 있기 때문이다.
이게 무슨 말이죠?
댓글 6
대개 RISC 명령어들은 1클럭이나 2클럭. 딱 정해놓고 일정한 속도로 결과가 나와.
mozzart(mozzart)2016-04-22 15:55
하지만 CISC 명령어들은 명령어가 CPU 내부의 명령어 처리를 위한 별도의 마이크로 프로세서를 돌면서 수 클럭에서 수십 클럭이 걸리는 명령어도 있을 수 있거든.
mozzart(mozzart)2016-04-22 15:55
그러니까 RISC 에는 정수 곱, 나머지 수준밖에 지원안하지만 모조리 1clock 으로 실행될 수 있는 경우, CISC 에는 무려 제곱근 이라든지, log, exp 등의 연산이 포함되어 있으면서 그 명령어 하나당 4클럭 이상을 소요하는 설계가 될 수 있다는거야.
mozzart(mozzart)2016-04-22 15:57
니가 직접 곱셈 나눗셈을 설계해 보면 알겠지만, 1클럭 안에 실행되게 하기 위해서는 엄청나게 병렬화 해서 늘어놓아야해. 그런데 앞선 결과를 가져다 쓰거나 상하위 바이트를 독립적으로 나누는식으로 설계를 하면 량이 줄어들게 되지. 즉, 클럭을 여러번 돌면서 각 부분을 처리해 전체를 얻는 식으로 명령어를 설계하면 보다 더 작은 다이 사이즈, 더 작은웨이퍼상의 면적을 차지하게 값싸게 만들 수 있다는 것.
mozzart(mozzart)2016-04-22 15:59
다시, 명령 자체의 복잡도와 웨이퍼상의 면적은 서로 비례. 웨이퍼상의 면적, 명령어당 소요 클럭수와 반비례 ( 면적을 넓이면 클럭을 줄일 수 있음 )
대개 RISC 명령어들은 1클럭이나 2클럭. 딱 정해놓고 일정한 속도로 결과가 나와.
하지만 CISC 명령어들은 명령어가 CPU 내부의 명령어 처리를 위한 별도의 마이크로 프로세서를 돌면서 수 클럭에서 수십 클럭이 걸리는 명령어도 있을 수 있거든.
그러니까 RISC 에는 정수 곱, 나머지 수준밖에 지원안하지만 모조리 1clock 으로 실행될 수 있는 경우, CISC 에는 무려 제곱근 이라든지, log, exp 등의 연산이 포함되어 있으면서 그 명령어 하나당 4클럭 이상을 소요하는 설계가 될 수 있다는거야.
니가 직접 곱셈 나눗셈을 설계해 보면 알겠지만, 1클럭 안에 실행되게 하기 위해서는 엄청나게 병렬화 해서 늘어놓아야해. 그런데 앞선 결과를 가져다 쓰거나 상하위 바이트를 독립적으로 나누는식으로 설계를 하면 량이 줄어들게 되지. 즉, 클럭을 여러번 돌면서 각 부분을 처리해 전체를 얻는 식으로 명령어를 설계하면 보다 더 작은 다이 사이즈, 더 작은웨이퍼상의 면적을 차지하게 값싸게 만들 수 있다는 것.
다시, 명령 자체의 복잡도와 웨이퍼상의 면적은 서로 비례. 웨이퍼상의 면적, 명령어당 소요 클럭수와 반비례 ( 면적을 넓이면 클럭을 줄일 수 있음 )
웨이퍼상의 면적은 생산단가와 비례, 수율과 반비례.