CS/컴퓨터 구조

캐시 메모리는 무엇이며, 어떻게 동작할까?      저장 장치의 계층 구조 (Memory Hierarchy) --용량이 크면서 빠른 저장 장치가 있다면 저장 장치들의 구조를 생각할 필요가 없지만"빠른 저장 장치"와 "용량이 큰 저장 장치"는 양립하기 어렵다. 저장 장치의 일반적인 명제CPU와 가까운 저장 장치는 빠름 / 멀리 있는 저장 장치는 느림속도가 빠르면 용량이 적고, 비쌈 일반적인 저장 장치 비교레지스터 (CPU 내부)메모리 (RAM, 주기억장치)USB (보조기억장치) CPU와 가까운 순레지스터 > 메모리 > USB CPU 접근 속도(시간) 빠른 순레지스터 > 메모리 > USB 저장 용량 큰 순USB > 메모리 > 레지스터 저장 용량 대비 가격이 비싼 순레지스터 > 메모리 > USB  즉, 대용량..
메모리의 종류와 역할이 무엇일까?      RAM --RAM은주기억장치 중의 하나로 일반적으로 "메모리"라고 지칭하기도 한다.  RAM 특징휘발성 저장 장치CPU가 빠르게 접근 가능 (= 빠르게 데이터를 읽고, 쓰기 가능)현재 실행 중인 프로그램의 데이터 및 명령어를 임시로 저장 (= 보조기억장치에서 복사하여 저장) RAM 용량에 따른 성능 변화 용량이 작음 (하나의 프로그램의 데이터만 담을 수 있을 정도)A프로그램을 실행시키기 위해 "보조기억장치"에서 해당 데이터를 "RAM"에 복사A프로그램 실행 후 B프로그램을 실행시키기 위해 다시 해당 데이터 "보조기억장치"에서 "RAM"에 복사B프로그램 실행 가능 (= A프로그램 실행 불가능)동시에 실행할 수 있는 프로그램의 수 제한프로그램 간의 전환이 느려짐사용..
ISA, CISC와 RISC는 무엇인가?      ISA (명령어 집합 구조, Instruction Set Architecture) --ISA는CPU가 수행할 수 있는 (이해할 수 있는) 명령어들의 집합 or 해당 집합의 아키텍처(구조)를 의미한다. 이는하드웨어와 소프트웨어 간의 인터페이스 역할을 하며,CPU가 지원하는 명령어의 종류, 데이터 형식, 레지스터, 주소 지정 모드 등을 포함한다. CPU의 제조사마다 CPU의 규격, 기능 만듦새가 다르기 때문에CPU마다 ISA가 다를 수 있다. 명령어의 기본적인 구조와 작동 원리는 비슷하지만명령어의 세부적인 생김새, 명령어로 할 수 있는 연산, 주소 지정 방식 등은 차이가 있을 수 있다. 사용하는 ISA가 다르다 => CPU가 이해할 수 있는 명령어가 다르다 ..
명령어를 병렬로 처리는 방법의 종류는 무엇이 있을까?      명령어 병렬 처리 기법 (ILP, Instruction-Level Parallelism) --속도가 빠른 CPU를 만들기 위해높은 클럭 속도, 멀티코어, 멀티스레드를 지원하는 CPU를 만드는 것도 중요하지만,CPU가 놀지 않고 시간을 알뜰하게 사용하며 동작하도록 하는 것도 중요하다. 바로 명령어 병렬 처리 기법이명령어를 병렬로 동시에 처리하는 방법으로CPU가 쉬지 않고 끊임없이 동작하게 하는 기법이다. 대표적인 "명령어 병렬 처리 기법"명령어 파이프라인(파이프라이닝)슈퍼스칼라비순차적 명령어 처리--    명령어 파이프라인 --명령어 파이프라인은명령어 처리에 대한 과정을 각 단계로 분리하고해당 단계를 동시에 실행할 수 있도록 하는 기술이다. 비..
클럭, 멀티코어, 멀티스레드가 무엇이길래 CPU 성능 향상에 사용될까?      클럭 (Clock) --클럭은CPU의 제어장치와 전체 CPU가 동작하는 데 중요한 역할을 하는 신호로,해당 신호를 이용하여 CPU 내의 모든 동작을 동기화하는 데 사용된다. 조금 더 설명하자면일정한 주기로 반복되는 신호를 클럭이라고 부르며해당 신호의 각 주기는 CPU가 한 명령어를 처리하는 데 필요한 클럭의 단위로 구분 짓는 데 사용된다. 간단하게 컴퓨터의 모든 부품을 알맞게 동작할 수 있도록 하는 시간 단위라고도 할 수 있다. 그래서 CPU의 동작 속도를 나타내는 척도로CPU 내부에서 발생하는 전기적 펄스의 빈도를 의미한다.(해당 펄스는 CPU가 명령어를 처리하는 속도를 결정하게 된다.) 정리컴퓨터 부품들은 정해진 "클럭 ..
명령어 사이클은 무엇이고인터럽트는 무엇일까?      명령어 사이클 --CPU가 하나의 명령어를 처리하는 과정에는정해진 흐름이 존재하는데이렇게 정해진 흐름이 "명령어 사이클"이다. 즉, 프로그램 속에서 각 명령어들을 일정한 주기로 반복되며 실행되는데, 해당 주기를 의미한다.  명령어 사이클의 각 단계들인출 사이클 (Fetch Cycle)실행 사이클 (Execute Cycle)간접 사이클 (Indirect Cycle)이 외에도 해석 사이클(Decode Cycle), 쓰기 단계(Write Back Cycle) 등이 존재한다.   인출 사이클 (Fetch Cycle) 메모리에 존재하는 명령어를 CPU로 가져오는 단계를 의미한다.  실행 사이클 (Execute Cycle) "인출 사이클"을 통해 CPU로 가져온..
레지스터는 무엇이고 어떠한 종류들이 있을까?      레지스터 (Register) --레지스터는CPU 내부에 있는 고속의 소형 저장 장치로,주로 데이터와 명령어를 일시적으로 저장하는 데 사용된다. CPU가 명령어를 처리하고 연산을 수행하는 데 필수적인 요소로,CPU 내부의 데이터 처리를 빠르게 수행할 수 있도록 도와준다. 프로그램 속 명령어와 데이터는 실행 전/후로 반드시 레지스터에 저장된다.따라서 레지스터에 저장된 값만 잘 관찰해도 해당 프로그램의 실행 흐름을 파악할 수 있다. CPU 내부에는 다양한 레지스터들이 존재하고 각자 다른 역할을 가지고 있다. 레지스터들은 CPU마다 이름, 크기, 종류가 매우 다양하고,사용하는 CPU의 제조사 홈페이지나 공식 문서 등에서 사용하는 레지스터들의 정보를 확인할 수..
CPU의 구성 요소 중ALU와 제어장치는 어떻게 동작할까?      CPU 구성 ----    ALU (Arithmetic Logic Unit) --ALU는CPU에서 가장 중요한 구성 요소 중 하나로산술 연산과 논리 연산을 수행하는 하드웨어 부품이다. (계산을 수행하는 부품) 계산을 수행하기 위해 필요한 정보피연산자  (레지스터를 통해 받아온다.)연산자  (제어장치를 통해 수행할 연산을 알려주는 제어 신호를 받아온다.)  제어장치는 CPU 내에서 수행할 명령어를 해석 후,어떠한 연산을 수행해야 하는지 ALU에게 전달 (연산에 대한 정보를 전달)해당 연산에 필요한 피연산자를 레지스터로부터 가져옴제어장치로부터 받은 명령어(연산)와 레지스터로부터 받은 피연산자를 이용하여 해당 연산 수행연산 결과를 제어장치에 ..
아-니지
'CS/컴퓨터 구조' 카테고리의 글 목록