본문 바로가기

전체 글84

[CS] 메모리의 주소 공간 메모리에 저장된 정보의 위치는 주소로 나타낼 수 있다. 하지만 사실 주소에는 두 종류가 있다. 물리 주소와 논리 주소이다. 물리 주소는 메모리 하드웨어가 사용하는 주소이고, 논리 주소는 CPU와 실행 중인 프로그램이 사용하는 주소이다. 1️⃣ 물리 주소와 논리 주소 주소에는 메모리가 사용하는 물리 주소가 있고, CPU와 실행 중인 프로그램이 사용하는 논리 주소가 있다. 메모리가 사용하는 물리 주소(physical address)는 말 그대로 정보가 실제로 저장된 하드웨어상의 주소를 의미한다. 반면 CPU와 실행 중인 프로그램이 사용하는 논리 주소(logical address)는 실행 중인 프로그램 각각에게 부여된 0번지부터 시작되는 주소를 의미한다. 예를 들어 현재 메모리에 메모장, 게임, 인터넷 브라우.. 2023. 2. 28.
[CS] RAM의 특징과 종류 1️⃣ RAM의 특징 RAM에는 실행할 프로그램의 명령어와 데이터가 저장된다. 중요한 것은 전원이 꺼지면 RAM에 저장된 명령어와 데이터가 모두 날아간다. 이렇게 전원을 끄면 저장된 내용이 사라지는 저장 장치를 휘발성 저장 장치(volatile memory)라고 한다. 반대로 전원이 꺼져도 저장된 내용이 유지되는 저장장치는 비휘발성 저장 장치(non-volatile memory)라고 한다. 하드 디스크나 SSD, CD-ROM, USB 메모리와 같은 보조기억장치가 대표적인 비휘발성 장치이다. 보조기억장치는 전원을 꺼도 내용을 유지하지만, CPU는 보조기억장치에 직접 접근하지 못한다. 그래서 일반적으로 보조기억장치인 비휘발성 저장 장치에는 '보관할 대상'을 저장하고, 휘발성 저장 장치인 RAM에는 '실행할 .. 2023. 2. 23.
[CS] CISC와 RISC CPU 마지막 파트. CPU의 언어인 ISA에 대해 알아보고 현대 CPU의 주요 설계 방식인 CISC와 RISC의 정의와 차이점 정리 명령어 파이프라이닝과 슈퍼스칼라 기법을 실제로 CPU에 적용하려면 명령어가 파이프라이닝에 최적화되어 있어야 한다. 쉽게 말해서 CPU가 파이프라이닝과 슈퍼스칼라 기법을 효과적으로 사용하려면 CPU가 인출하고 해석하고 실행하는 명령어가 파이프라이닝 하기 쉽게 생겨야 한다. 명령어가 어떻게 생겨야 파이프라이닝에 유리할까? 파이프라이닝 하기 쉬운 명령어란 무엇일까? 이와 관련하여 CPU의 언어인 ISA와 각기 다른 성격의 ISA를 기반으로 설계된 CISC와 RISC를 알아보자. 1️⃣ 명령어 집합 CPU는 명령어를 실행한다고 했다. 그런데 세상에는 수많은 CPU 제조사들이 있고.. 2023. 2. 21.
[CS] 명령어 병렬 처리 기법 빠른 CPU를 만들려면 높은 클럭 속도, 멀티코어, 멀티스레드를 지원하는 CPU를 만드는 것도 중요하지만, CPU가 놀지 않고 시간을 알뜰하게 쓰면서 작동하게 만드는 것도 중요하다. 명령어 병렬 처리 기법(ILP; Instruction-Level Parallelism)은 명령어를 동시에 처리하여 CPU를 한시도 쉬지 않게 작동시키는 기법이다. 대표적인 명령어 병렬 처리 기법에는 명령어 파이프 라이닝, 슈퍼스칼라, 비순차 명령어 처리가 있다. 1️⃣ 명령어 파이프 라인 명령어 파이프라인을 이해하려면 하나의 명령어가 처리되는 전체 과정을 비슷한 시간 간격으로 나누어 보아야 한다. 명령어 처리 과정을 클럭 단위로 나누어 보면 일반적으로 아래와 같이 나눌 수 있다. 1) 명령어 인출(Instruction Fet.. 2023. 2. 16.