Cute Running Puppy

cs/[OS] 혼자 공부하는 컴퓨터 구조 + 운영체제

[혼공학습단 11기] 혼공컴운 2주차 미션

R.silver 2024. 1. 12. 12:09
반응형

기본 미션

 

1. P.125 확인 문제 2번

문제

설명에 맞는 레지스터를 보기에서 찾아 빈칸을 채워보세요
[프로그램 카운터, 명령어 레지스터, 플래그 레지스터, 범용 레지스터]

  • (1): 연산 결과 혹은 CPU 상태에 대한 부가 정보를 저장하는 레지스터
  • (2): 메모리에서 가져올 명령어의 주소를 저장하는 레지스터
  • (3): 데이터와 주소를 모두 저장할 수 있는 레지스터
  • (4): 해석할 명령어를 저장하는 레지스터

정답

(1) 플래그 레지스터
(2) 프로그램 카운터
(3) 범용 레지스터
(4) 명령어 레지스터

해설

반드시 알아야 할 레지스터

  1. 프로그램 카운터 (PC)
    메모리에서 가져올 명령어의 주소 저장
    (== 명령어 포인터)
  2. 명령어 레지스터
    메모리에서 읽어 들인 명령어를 저장하는 레지스터
    제어장치는 명령어 레지스터 속 명령어를 받아들이고, 해석한 뒤 제어 신호를 내보냄
  3. 메모리 주소 레지스터
    메모리의 주소를 저장하는 레지스터
    CPU가 읽어 들이고자 하는 주소 값을 주소 버스로 보낼 때 사용
  4. 메모리 버퍼 레지스터
    메모리와 주고 받을 값(데이터, 명령어)을 저장하는 레지스터
    메모리에 쓰고 싶은 값, 전달받은 값 저장
    데이터 버스로 값을 주고 받을 때 사용
  5. 범용 레지스터
    다양하고 일반적인 상황에서 자유롭게 사용하는 레지스터
  6. 플래스 레지스터
    연산 결과, CPU 상태에 대한 부가 정보 등을 저장하는 레지스터
  7. 스택 포인터
    스택 주소 지정 방식에 사용되는 레지스터
  8. 베이스 레지스터
    변위 주소 지정 방식에 사용되는 레지스터

2. P.155 확인 문제 4번

문제

다음 그림은 멀티코어 CPU를 간략하게 도식화한 그림입니다. 빈칸에 알맞은 용어를 써 넣으세요.

정답

코어

해설

코어: CPU 내부에서 명령어를 실행하는 부품

오늘날의 CPU는 명령어를 실행하는 여러 개 포함하는 부품으로 범위가 확대되었다.
이전 CPU 정의인 명령어를 실행하는 부품을 오늘날 '코어'라고 부른다.


선택 미션

 

Ch.05 (05-1) 코어와 스레드, 멀티 코어와 멀티 스레드의 개념을 정리하기 

[혼공 컴운] chapter 05. CPU 성능 향상 기법 (tistory.com)

 

코어와 멀티코어

 

클럭 속도를 높이는 방식 외에 CPU의 성능을 높이는 방법
-> CPU의 코어, 스레드 수 늘리기

>  코어

CPU 내부에서 명령어를 실행하는 부품

>  멀티코어 CPU

(== 멀티코어 프로세서)
CPU 내에 명령어를 처리하는 일꾼이 여러 명 있는 것

CPU 안에 코어가 몇 개 포함되어 있는지에 따라 싱글코어, 듀얼 코어 등으로 나뉨
그러나 CPU 코어수와 연산 속도는 비례하지 않음
처리할 연산이 적절하게 분배되어야만 한다.

=> 코어마다 처리할 명령어들을 얼마나 적절하게 분배하느냐가 연산 속도에 큰 영향을 미친다

 

스레드와 멀티스레드

  • 스레드: 실행 흐름의 단위
    • 하드웨어적 스레드
    • 소프트웨어적 스레드

> 하드웨어적 스레드

하나의 코어가 동시에 처리하는 명령어 단위

  • 멀티스레드 프로세서 (== 멀티스레드 CPU)
    하나의 코어로 여러 명령어를 동시에 처리하는 CPU
  • 하이퍼스레딩
    인텔의 멀티스레드 기술하나의 프로그램에서 독립적으로 실행되는 단위
  • > 소프트웨어적 스레드

1코어 1 스레드 CPU는 여러 스레드로 만들어진 프로그램을 실행할 수 있다.
-> 1코어 1 스레드 : 하드웨어적 스레드
-> 여러 스레드로 만들어진 프로그램: 소프트웨어적 스레드

> 멀티스레드 프로세서

하나의 코어로 여러 명령어를 동시에 처리하는 CPU

하나의 명령어를 처리하기 위해 꼭 필요한 레지스터를 여러 개 가지고 있으면 된다
(프로그램 카운터, 스택 포인터, 데이터 버퍼 레지스터, 데어터 주소 레지스터)

  • 논리프로세서
    (== 하드웨어 스레드)
    프로그램 입장에서 하드웨어 스레드는 '한 번에 하나의 명령어를 처리하는 CPU'와 다름없음
    2 코어 4 스레드는 한 번에 4개의 명령어를 처리할 수 있지만, 프로그램 입장에서는 한 번에 하나의 명령어를 처리하는 CPU가 4개인 것처럼 보임
  • 코어: 명령어를 실행할 수 있는 하드웨어 부품
  • 스레드: 명령어를 실행하는 단위
  • 멀티코어 프로세서: 명령어를 실행할 수 있는 하드웨어 부품이 CPU 안에 2개 이상 있는 CPU
  • 멀티스레드 프로세서: 하나의 코어로 여러 개의 명령어를 동시에 실행할 수 있는 CPU

 

반응형