본문 바로가기

분류 전체보기

(131)
컴퓨터 구조 - RAM의 특징과 종류 RAM : CPU의 주요 부품 중 하나인 주기억장치, 즉 메모리에 해당됩니다. RAM에는 실행할 프로그램의 명령어와 데이터가 저장됩니다. RAM에 저장된 명령어와 데이터는 전원이 꺼지면 모두 삭제됩니다. 이에 RAM은 휘발성 저장 장치입니다. 일반적으로 비휘발성 저장 장치인 보조기억장치에는 '보관할 대상'을, 휘발성 저장 장치인 RAM에는 '실행할 대상'을 저장합니다. RAM의 종류 DRAM(Dynamic RAM) : 동적인 RAM으로, 저장된 데이터가 동적으로 변하는 RAM입니다. 즉, DRAM은 시간이 지나면 저장된 데이터가 점차 사라지는 RAM입니다. 이러한 특성 때문에 DRAM은 데이터 소멸을 막기 위해 일정 주기마다 데이터를 재활성화(다시 저장)해야 합니다. 소비 전력이 비교적 낮고, 집적도가 ..
컴퓨터 구조 - 명령어 병렬 처리 기법 명령어 병렬 처리 기법(ILP; Instructor-Level Parallelism) : CPU가 명령어를 동시에 효율적으로 처리할 수 있도록 작동시키는 기법입니다. 명령어 파이프라인 : 하나의 명령어가 처리되는 전체 과정을 비슷한 시간 간격으로 나누어 확인할 수 있습니다. 명령어 인출(Instruction Fetch) 명령어 해석(instruction Decode) 명령어 실행(Execute Instruction) 결과 저장(Write Back) 여기서 중요한 점은 같은 단계가 겹치지만 않는다면 CPU는 각 단계를 동시에 실행할 수 있습니다. 이처럼 명령어들을 명령어 파이프라인에 넣고 동시에 처리하는 기법을 명령어 파이프라이닝(instruction pipelining)이라고 합니다. 다만, 명령어 파이..
컴퓨터 구조 - 빠른 CPU를 위한 설계 기법 클럭 컴퓨터 부품들은 클럭 신호에 맞춰 일사불란하게 움직입니다. CPU는 명령어 사이클의 흐름에 맞춰 명령어들을 실행합니다. 클럭 속도는 Hz 단위로 측정됩니다. 클럭 속도는 Base - Max 사이에서 유연하게 조정됩니다. 클럭 속도를 높이면 성능이 좋아지기는 하지만, 발열 문제가 심각해집니다. 코어와 멀티코어 코어란 CPU 내에서 명령어를 실행하는 부품으로, ALU / 제어장치 / 각종 레지스터로 이루어져 있습니다. 코어는 CPU 내에서 여러 개로 존재할 수 있습니다. 이를 멀티코어라고 합니다. 멀티코어로 이루어진 CPU를 멀티코어 프로세서라고 합니다. 스레드와 멀티스레드 스레드는 크게 하드웨어적 스레드와 소프트웨어적 스레드가 있습니다. 하드웨어적 스레드 : 하나의 코어가 동시에 처리하는 명령어 단위..
컴퓨터 구조 - 명령어의 구조 명령어 구조 연산 코드 오퍼랜드 명령어는 연산 코드와 오퍼랜드로 구성되어 있습니다. 명령어가 수행할 연산을 연산 코드(operation code)라고 합니다. 연산 코드는 연산자입니다. 연산에 사용할 데이터가 저장된 위치를 오퍼랜드(operand)라고 합니다. 오퍼랜드는 피연산자입니다. 연산 코드가 담기는 영역을 연산 코드 필드, 오퍼랜드가 담기는 영역을 오퍼랜드 필드(주소필드)라고 합니다. 기계어, 어셈블리어 또한 명령어이기 때문에 연산 코드와 오퍼랜드로 이루어져있습니다. 오퍼랜드가 n 개면 그 명령어를 n - 주소 명령어라고 합니다. 연산 코드 연산 코드는 명령어가 수행하는 연산을 의미합니다. '더해라' / '빼라' / '저장해라' 등의 연산을 수행합니다. 연산 코드의 종류는 매우 많지만, 가장 기본..
컴퓨터 구조 - 명령어 사이클과 인터럽트 명령어 사이클 : CPU가 하나의 명령어를 처리하는 과정에는 정해진 흐름이 있고, CPU는 그 흐름을 반복하며 명령어들을 처리합니다. 이렇게 정형화된 흐름을 명령어 사이클이라고 합니다. 인출 사이클 : 명령어를 메모리에서 CPU로 가져오는 과정입니다. 실행 사이클 : 명령어를 메모리에서 CPU로 가져왔다면, 명령어를 실행합니다. 제어장치가 명령어 레지스터에 담긴 명령어를 해석하고, 제어 신호를 발생시키는 단계입니다. 간접 사이클 : 만약 CPU가 메모리를 참조하여 명령어를 가져올 때, 즉시 주소 지정 방식으로 명령어에 바로 접근할 수 있는 것이 아닌 간접 주소 지정 방식으로 오퍼랜드에 유효주소의 주소가 명시된 명령어를 가져온다면 바로 실행 사이클로 돌입할 수 없습니다. 메모리에 한 번 더 접근하여 유효주..
컴퓨터 구조 - 레지스터와 레지스터를 이용한 주소 지정 방식 레지스터 : 프로그램 속 명령어와 데이터는 실행 전후로 반드시 레지스터에 저장됩니다. 이 레지스터는 CPU 내부에 위치해있으며, CPU가 메모리에 접근할 때보다 레지스터에 접근할 때 그 속도가 더 빠릅니다. CPU 내부에는 다양한 레지스터가 존재하고, 각기 다른 역할을 가지고 있습니다. 프로그램 카운터 (PC; Program Counter) : 메모리에서 가져올 명령어의 주소를 저장합니다. 명령어 레지스터 (IR; Instruction Register) : 방금 메모리에서 읽어들인 명령어를 저장합니다. 메모리 주소 레지스터 (MAR; Memory Address Register) : 메모리의 주소를 저장합니다. CPU가 읽어 들이고자 하는 주소 값을 주소 버스로 보낼 때 이 레지스터를 거치게 됩니다. 메모..
컴퓨터 구조 - ALU와 제어장치 ALU : 컴퓨터의 핵심 부품 중 하나로, 산술논리연산장치라고도 하며 컴퓨터 내부에서 대부분의 계산을 수행한다. ALU는 연산하기 위해서는 피연산자와 수행할 연산이 필요합니다. 이에 레지스터로부터 피연산자를 받아들이고, 제어장치로부터 수행할 연산을 알려주는 제어 신호를 받아들입니다. 연산을 수행한 이후에는 결괏값을 바로 메모리에 저장하지 않고 레지스터에 일시적으로 저장하는데, 이는 ALU가 연산을 끝낼 때마다 결과를 메모리에 저장한다면 CPU는 메모리에 자주 접근하게되고, 이는 CPU가 프로그램 실행 속도를 늦추게 되기 때문입니다. ALU는 연산이 끝나면 플래그 레지스터에 플래그를 보냅니다. 플래그에는 부호 플래그, 제로 플래그 등 다양한 정보의 플래그가 존재합니다. 제어장치 : 제어 신호를 내보내고, ..
면접[Unity] 보호되어 있는 글입니다.