반응형
이 글은 책 컴퓨터 밑바닥의 비밀 chapter 4.6 의 내용을 읽고 요약한 글입니다.
4.6.1 프로그래머의 눈에 보이는 CPU
- CPU는 단순하게 메모리에서 명령어를 읽어 실행하기만 하면 됨
- 어떤 프로그램이든 컴파일러에 의해 기계 명령어로 변환될 뿐
4.6.2 CPU의 능력 범위: 명령어 집합
- 명령어 집합은 우리에게 CPU가 할 수 있는 일을 알려줌
- 서로 다른 형태의 CPU는 다른 유형의 명령어 집합을 가지고 있음
4.6.3 추상화: 적을수록 좋다
- 1970년까지 컴파일러가 성숙하지 못해 신뢰도 낮았음
- 많은 프로그램이 어셈블리어로 작성되었는데 명령어 집합이 더욱더 풍부해야되고 명령어 자체 기능도 더 강력해야 한다고 여겼음
4.6.4 코드도 저장 공간을 차지한다
- 실행파일은 기게 명령어와 데이터를 모두 포함하며 디스크 저장 공간을 차지하고, 실행시에는 메모리에 적재 되어 메모리 저장 공간을 차지
- 옛날 컴퓨터는 메모리의 크기가 몇 KB로 작았는데 더 많은 프로그램을 적재하려면 기계 명령어는 더 세밀하게 설계해서 프로그램이 차지하는 저장공간을 줄였어야 함
아래 3가지 요구 사항을 만족해야 함
- 하나의 기계 명령어로 더 많은 작업을 완료할 수 있도록
- 기계 명령어 길이 가변적 (간단한 명령어는 짧고, 복잡한 명령어는 길게)
- 밀도를 높여 공간을 절약하기ㅇ 위해 고도로 인코딩
4.6.5 필연적인 복잡 명령어 집합의 탄생
당시 산업계의 요구사항을 충분히 만족시켰지만 새로운 문제가 발생
- CPU명령어 집합은 모두 hardwired (직접 연결) 방식으로 효율적이지만 유연성이 떨어짐
하드웨어를 변경하는 것은 번거롭지만 소프트웨어를 통해 대체 가능 → microcode 등장
단일 복잡 명령어 → 마이크로코드 ROM → 간단한 명령어들
- 더 많은 명령어를 추가할 때 주요 작업은 마이크로 코드 수정에 집중되며 하드웨어 수정은 거의 필요하지 않기에 CPU 설계 복잡도를 낮출 수 있음
4.6.6 마이크로코드 설계의 문제점
- 버그 수정이 훨씬 어렵고 마이크로코드 설계가 트랜지스터를 매우 많이 소모
반응형
'OS' 카테고리의 다른 글
[책리뷰] 컴퓨터 밑바닥의 비밀: ch5.1 캐시, 어디에나 존재하는 것 (0) | 2024.09.14 |
---|---|
[책리뷰] 컴퓨터 밑바닥의 비밀: ch4.7 CPU 진화론(중): 축소 명령어 집합의 탄생 (0) | 2024.09.08 |
[책리뷰] 컴퓨터 밑바닥의 비밀: ch4.2 CPU는 유휴 상태일 때 무엇을 할까? (0) | 2024.09.08 |
[책리뷰] 컴퓨터 밑바닥의 비밀: ch4.1 이 작은 장난감을 CPU라고 부른다 (0) | 2024.09.01 |
[책리뷰] 컴퓨터 밑바닥의 비밀: ch3.4 메모리 힙 영역 (0) | 2024.09.01 |