Instruction Set Architecture(ISA), 즉 명령어 집합 구조는 다음과 같은 정의를 따릅니다.
명령어 집합은 서로 다른 프로세서 간에 유사합니다.
컴퓨터에 어떠한 존재하지만 명령어에 존재하지 않으면 사용자는 그 기능이 있더라도 사용할 수 없다.
두 수를 곱하는 명령어를 실행하고 싶습니다.
위에서 보듯이 CISC는 상대적으로 실행할 명령어의 수가 적기 때문에 IC에 강점을 가지고, RISC는 하나의 명령어가 가지는 사이클의 수가 적어 CPI에 강점을 가집니다.
| 항목 | RISC | CISC |
|---|---|---|
| Cycle per instruction | 싱글 사이클 | 여러 사이클 |
| Instructions per program | 큼 | 작음 |
| Emphasize for performance | CPI에서 강점 | IC에서 강점 |
| Code size | 큼 | 작음 |
| Design | 소프트웨어 중심 | 하드웨어 중심 |
| Required memory | 사용량이 많다 | 사용량이 적다 |
| (CPU)Implementation complexity | 낮음->저렴함 | 높음->비쌈 |
| # of registers | 많음(빈 공간이 더 많기 때문) | 적음 |
| Instruction | 적고 단순한 고정 길이의 명령어(~200개, 32bit) | 길고 복잡한 가변 길이의 명령어(1000개 이상, 1~15byte) |
| Pipelining | 쉬움(싱글 사이클) | 어려움 |
| Addressing mode | ||
| Decoding | ||
| Code expansion | 어려움(최적화 문제가 발생 가능) | 쉬움 |
| Power consumption | 낮음(임베디드에서 사용) | 높음(데스크탑 또는 서버에서 사용) |
| Example | MIPS, ARM-family... | Intel x86 CPUs, AMD CPUs |
Q: Why RISC have more registers than CISC?
A: 간단한 명령어들 -> 구현하는 데에 있어서 복잡성이 낮음 -> CPU에 register를 넣을 물리적인 공간이 더 많음
Q: Why CISC had tried to reduce the number of instructions?
A: 명령어를 넣을 메모리의 공간이 적고, 메모리의 값이 비쌌기 때문
Q: Which is more adequate for embedded systems? Why?
A: RISC가 더 적절하다. 구현 복잡성이 더 낮기 때문에 값이 싸고, 저전력으로 만들 수 있다.
Q: Which is easier to expand or add new operation?
A: CISC가 더 쉽다. 새로운 명령어를 설계하고, 하드웨어 설계만 수정하면 되기 때문이다.
Q: Which is faster? Why?
A: RISC는 CPI를 중심으로, CISC는 IC를 중심으로 하기 성능 향상을 하기 때문에 어느 한 쪽이 더 빠르다고 할 수는 없다.
word는 프로세서의 명령어 집합이나 하드웨어에 의해 단위로 처리되는 고정 크기의 데이터 조각이다. -wikipedia
메모리는 바이트 주소 지정 배열이며 byte(8bit), half word(16bit), word(32bit), double word(64bit) 단위로 접근을 제공함

메모리는 주소당 1byte(8bit)을 저장 -> 16진수로 나타내는 것이 유용함
word의 메모리 주소는 반드시 4의 배수여야함(word가 4byte이기 때문)
MSB(Most Significant Byte)를 메모리의 가장 앞쪽 주소에 지정하는 방식
인터넷 프로토콜과 같은 네트워크에서 사용
0x12345678을 저장한다고 하면 아래의 표를 따름
| 주소 | 값 |
|---|---|
| 1000 | 12 |
| 1001 | 34 |
| 1002 | 56 |
| 1003 | 78 |
LSB(Least Significant Byte)를 메모리의 가장 앞쪽 주소에 지정하는 방식
더 작은 바이트 단위로 데이터를 처리할 때 사용
Intel, ARM, RISC-V에서 사용 (프로세서 아키텍쳐)
0x12345678을 저장한다고 하면 아래의 표를 따름
| 주소 | 값 |
|---|---|
| 1000 | 78 |
| 1001 | 56 |
| 1002 | 34 |
| 1003 | 12 |
장점
