묻공러
'CS/[혼자 공부하는] 컴퓨터 구조' 카테고리의 글 목록 (2 Page)

CS/[혼자 공부하는] 컴퓨터 구조

CS/[혼자 공부하는] 컴퓨터 구조

5-1] CPU의 성능 향상 기법: 코어와 스레드

컴퓨터 부품들은 클럭 신호에 맞춰 일사불란하게 움직인다 CPU는 명령어 사이클이라는 정해진 흐름에 맞춰 명령어들을 실행한다 1] 클럭 속도: 헤르츠(Hz) 단위로 측정 헤르트(Hz): 1초에 클럭이 반복되는 횟수 클럭이 1초에 한번 반복되면 1Hz 클럭이 1초에 100번 반복되면 100Hz 2] CPU를 빨리 작동시키려면, 1. 클럭 속도를 높이는 방법: 발열이 심해지기에 적절하지 않음 2. 코어 수를 늘리는 방법 ex. 듀얼코어, 멀티코어... 3. 스레드 수를 늘리는 방법 ex. 멀티 스레드... 3] 코어와 멀티코어 (1) 코어(Core)란? 명령어를 실행하는 부품을 의미하며 전통적으로 코어는 원칙적으로 하나만 존재했다 하지만, 오늘날 CPU는 코어가 여러 개 존재한다 (2) 멀티 코어 코어의 개수..

CS/[혼자 공부하는] 컴퓨터 구조

4-3] CPU의 작동원리: 명령어 사이클과 인터럽트

1] 명령어 사이클: 프로그램 속 명령어들은 일정한 주기가 반복되며 실행되는데 이 주기를 명령어 사이클이라고 함 1. 인출 사이클: 가장 먼저 CPU로 갖고 와야 한다 2. 간접 사이클: 메모리 접근이 필요한 경우에 간접 사이클이 실행된다 3. 실행 사이클: 갖고 왔으면 실행해야 한다 2] 인터럽트 (1) 인터럽트 개념 인출 > (간접) > 실행을 하는 일반적인 명령어 사이클 중에 인터럽트가 발생하면 명령어 사이클이 끊기게 된다 그렇게 된다면, 인출 사이클 > (간접 사이클) > 실행 사이클 > (인터럽트 사이클)의 방식으로 동작한다 (2) 인터럽트의 종류 1. 동기 인터럽트(예외) - 폴트, 트랩, 중단, 소프트웨어 인터럽트 : CPU가 예기치 못한 상황을 접했을 때 발생 ex. 하드웨어 고장, 정전...

CS/[혼자 공부하는] 컴퓨터 구조

4-2] CPU의 작동원리: 레지스터

1] 레지스터 레지스터는 CPU 내부의 작은 임시저장장치 프로그램 속 명령어와 데이터는 실행 전후로 레지스터에 저장 2] 반드시 알아야 할 레지스터 1. 프로그램 카운터: 메모리에서 가져올 명령어의 주소 (메모리에서 읽어 들일 명령어의 주소) 2. 명령어 레지스터: 해석할 명령어 (방금 메모리에서 읽어 들인 명령어) 3. 메모리 주소 레지스터: 메모리의 주소를 저장 4. 메모리 버퍼 레지스터: 메모리와 주고받을 값(데이터와 명령어) 5. 플레그 레지스터: 연산 결과 또는 CPU 상태에 대한 부가적인 정보 6. 범용 레지스터: 다양하고 일반적인 상황에서 자유롭게 사용 7. 스택 포인터 (스택 주소 지정 방식으로 사용됨) 스택 주소 지정 방식: 스택과 스택 포인터를 이용한 주소 지정 방식 스택 포인터: 스택..

CS/[혼자 공부하는] 컴퓨터 구조

4-1] CPU의 작동원리: ALU와 제어장치

1] ALU: 레지스터로부터 피연산자를 받아들이고, 제어장치로부터 제어 신호를 받아들인다 ALU 내부에 다양한 계산을 위한 회로들이 존재한다 ex. 덧셈을 위한 가산기, 뺄셈을 위한 보수기, 쉬프트, 오버플로우 검출기... 플래그 레지스터: 연산 결과의 부호와 같은 CPU 상태에 대한 부가적인 정보가 들어감 2] 제어장치 제어장치는 위처럼 플래그, 클럭, 해석할 명령어를 받아들이고 제어신호를 주고받는다 클럭: 컴퓨터의 모든 부품을 일사불란하게 움직일 수 있게 하는 시간 단위

CS/[혼자 공부하는] 컴퓨터 구조

3] 명령어

1] 소스 코드와 명령어 (1) 고급언어: 개발자가 이해하기 쉽게 만든 언어 1. 컴파일 언어 2. 인터프리트어 (2) 저급 언어: 컴퓨터가 이해하고 실행하는 언어 1. 기계어: 2진수 or 16진수로 표현된 언어 2. 어셈블리어: 기계어를 읽기 편한 형태로 번역한 저급 언어 (3) 고급언어가 저급언어로 변환될 때 1. 컴파일 방식 (컴파일 언어 > 저급언어): 한 번에 처리하는 방식 2. 인터프리트 방식 (인터프리터 언어 > 저급언어): 한 줄씩 처리하는 방식 2] 명령어의 구조 (1) 명령어는 연산코드(수행할 연산)와 오퍼랜드(연산에 사용될 데이터 혹은 연산에 사용될 데이터가 저장된 위치)로 구성 (2) 오퍼랜드 필드는 데이터보다는 주소를 많이 담고 있는 경우가 많기에 주소필드라고 부름 오퍼랜드가 없..

CS/[혼자 공부하는] 컴퓨터 구조

1] 컴퓨터 구조의 큰그림

1] 컴퓨터가 이해하는 두 가지 정보 - 데이터 0과 1로 이루어진 숫자, 문자, 이미지, 동영상과 같은 정적인 정보 컴퓨터와 주고받는/내부에 저장된 정보를 데이터라 통칭함 - 명령어 컴퓨터는 결국 명령어를 처리하는 기계이며 명령어는 컴퓨터를 실질적으로 움직이는 정보, 데이터는 명령어를 위한 일종의 재료이다 2] 컴퓨터의 네 가지 핵심 부품과 메인보드 그리고 시스템 버스 (1) 메모리: 현재 실행되고 있는 프로그램(프로세스)의 명령어와 데이터를 저장하는 부품 프로그램이 실행되기 위해서는 메모리에 저장되어 있어야 한다 메모리는 실행되는 프로그램의 명령어와 데이터를 저장한다 메모리에 저장된 값의 위치는 주소로 알 수 있다 (2) CPU: 메모리에 저장된 명령어를 읽어 들이고, 해석하고, 실행하는 부품 ALU..