본문 바로가기
콤퓨타/Computer Arch.

책 읽고 간단 요약 정리.

by 어니엉 2013. 2. 22.
728x90

Thread

- 하나의 실행 문맥을 가지며, 프로세스를 사용하는 최소 단위

- 자신의 레지스터 상태나 호출 스택의 상태를 가지고 있어, 하나의 실행 흐름을 유지한다.

 

가상메모리

- 운영체제의 안정성을 크게 높임

- 프로세스마다 고유한 주소 공간을 주어서 서로 침범할 수 없도록 한다.

 

프로세서

- 데이터 패스 : ALU, 메모리 계층의 여러 요소(레지스터 파일, 캐시, 메모리장치)

- 컨트롤 장치 : 데이터 패스를 서로 조율하여 명령어가 오가면서 계산이 이루어지도록 제어한다.

 

프론트엔드

- 명령어의 인출과 ㅁ여령어 해독은 실제 계산 장치가 처리할 명령어의 흐름을 만든다는 것을 의미.

 

예외처리

1. Exception : 프로그램 실행 도중 동기적(synchronous)으로 발생한다.

- trap : 문제를 일으킨 명령어부터 다시 시작.

- fault : 문제를 일으킨 명령어의 다음부터 다시 시작.

- abort : 어디서 문제가 발생했는지 안알려주고, 다시 시작할 수 없다.

2. Interrupt

- HW : 외부에서 일어나는 명령어의 흐름처리와 상관없는 비동기적(asynchronous) 사건.

- SW

 

파이프라인 해저드

- 파이프라인 프로세서에서 의존성으로 발생할 수 있는 문제를 가리킨다.

- 파이프라인은 Latency를 개선하지 못하지만, 처리율을 크게 향상시킬 수 있는 일반적인 기술이다.

1. 구조해저드 : 프로세서의 자원이 부족해서 발생하는 stall. HW의 제약으로 발생한다.

해결책 : 자원늘리기

2. 컨트롤해저드 : 프로그램이 근본적으로 갖는 의존성 때문에 발생. ex) 분기문.

해결책 : 분기 예측

3. 데이터해저드 : RAW/WAW/WAR 데이터의 의존성과 메모리 의존성으로 발생한다.

해결책 : Bypass. 즉, 결과를 바로바로 전송한다.

 

 

출처 : 프로그래머가 몰랐던 멀티코어 CPU 이야기

 

728x90

'콤퓨타 > Computer Arch.' 카테고리의 다른 글

데이터의존성 예시  (0) 2013.03.07

댓글