크래프톤 정글(알고리즘 주차 WEEK 0 ~ 4)

WEEK 3 컴퓨터 시스템 공부

devkty 2025. 4. 3. 20:00
728x90

멀티프로세서: 여러개의 cpu 집약체

멀티코어: 하나의 프로세서에 있는 pc나 alu나 레지스터 등 코어가 여러개

멀티쓰레딩(하이퍼 쓰레딩): 하나의 CPU가 여러개의 제어 흐름을 실행할 수 있게함.(매 사이클마다 실행할 쓰레드를 결정하여 효율적으로 쓰레드 사용)

멀티프로세싱의 이용으로 시스템 성능 개선 방법 두가지

  1. 다수의 태스크 실행시 동시성 시뮬레이션 필요 감소.
  2. 멀티 프로세싱으로 한 개의 응용프로그램을 빠르게 실행할 수 있으나 프로그램이 병렬로 효율적으로 실행할 수 있는 멀티쓰레드 형태로 표현 시만 사용 가능

부동소수점(컴퓨터): 지점을 참조, 같은 소수값을 매칭하면 flase를 반환

고정소수점

두가지 내용은 추후에 배운다.

인스트럭션 수준 병렬성

  • 최근 프로세서는 낮은 수준에서 추상화로 여러 개의 인스트럭션 한 번에 실행 가능. 그러나 예전 컴퓨터는 한 개의 인스트럭션 실해을 위해 여러 클럭 사이클이 필요했다.
  • 이걸 해결하기위해 역할 분담을 한 것과 같은 파이프라이닝 기법이 나왔고 추후에 배우게 된다.
  • 한 사이클당 한 개 이상의 인스트럭션을 실행할 수 있는 프로세서를 슈퍼스케일러라고 함.

SIMD

  • 최신 컴퓨터는 SIMD로 한 개의 인스트럭션이 병렬로 다수의 연산을 수행할 수 있는 특수한 하드웨어를 가지고 있다.
  • 대게 영상, 소리, 동영상 데이터 처리를 위한 응용프로그램 속도 개선에 기여

추상화

인스트럭션 집합 구조는 실제 프로세서 하드웨어의 추상화 제공. 이러한 추상화로 기계어 코드 프로그램을 마치 한 번에 하나의 인스트럭션을 실행하는 프로세서에서 실행되는 것처럼 동작.

추상화의 예시로 유저는 print문 같은걸을 어떻게 실행하는지 몰라도 된다. 명령어 실행과정은 사용자는 모르지만 실행시킬 수 있다. 이걸 잘 활용하게된게 객체지향이다.

+운영체제 관점에서의 4가지 추상화

  • 파일: 입출력 장치의 추상화
  • 가상메모리: 프로그램 메모리의 추상화
  • 프로세스: 실행중인 프로그램의 추상화
  • 가상머신: 운영체제, 프로세서, 프로그램 모두를 포함하는 컴퓨터 전체의 추상화

[동시성과 병렬성]
동시성: Task들이 빠르게 전환하면서 실행되어 동시에 실행되는 것처럼 보이는 것(옛날 컴퓨터)

병렬성: 물리적인 시간에 작업을 동시에 수행하는 것 입니다. 동시성과는 다르게 병렬성은 여러 작업들을 코어, 프로세스, 컴퓨터등으로 동시에 수행할 수 있으며 꼭 멀티 코어 한 개 이상의 스레드가 동시에 수행하는 것에만 한정(최신 컴퓨터)

+[추가사항]
추가적인 공부를 하면서 추상화 관련된 운영체제 관점 4가지 추상화 내용을 보강했습니다.

728x90