본문 바로가기
computer_science

computer science 1일차 (CPU,메모리)

by useSword 2024. 3. 19.

 

1. CPU

 

CPU 구성요소

 

1. ALU : 비교, 판단, 연산을 담당

2. CU : 스케쥴을 제어하는 역할

3. 메모리 유닛

  • 레지스터 : 처리할 명령어를 저장
  • 캐시 메모리(L1) : 처리속도를 높여주는 역할

 

2. 메모리

 

메모리 구성요소

레지스터(CPU), 캐시메모리,메인 메모리(주 기억장치) , 하드디스크(보조 기억장치)

 

레지스터(CPU)

(CPU에서의 레지스터는 L1 캐리메모리입니다. 메모리에서의 레지스터는 L2,L3 캐리메모리입니다. 서로 다릅니다.)

  • L2,L3 캐시메모리 vs CPU 레지스터
    • L2, L3 **캐시메모리**는 CPU와 별도의 공간이며, 메인 메모리와 CPU 간의 속도차이를 극복하기 위한 것
    • CPU **레지스터**는 CPU안에서 연산을 처리하기 위하여 데이터를 저장하는 공간

캐시메모리,메인 메모리(주 기억장치)

주 기억장치는 컴퓨터가 전원이 꺼지면 지워지지만 조금더 빠르게 조회할 수 있는 저장공간

 

 

하드디스크(보조 기억장치)

보조 기억장치는 컴퓨터 전원이 꺼져도 지워지지 않는 저장공간 입니다.

 

 

3. CPU 심화

 

스케쥴링

 

선점 스케쥴링(Preemptive Scheduling)

    : FCFS에 의해 프로세스들이 보내지면 각 프로세스는 동일한 시간의 Time Quantum 만큼 CPU 할당

1) Priority Scheduling(우선순위 스케쥴링)

    : 적/동적으로 우선순위를 부여하여 우선순위가 높은 순서대로 처리

2) Round Robin(라운드로빈)

    : 정해진 시간 할당량 만큼 프로세스를 할당한 뒤, 할당량이 남은 프로세스를 다시 진행.

3) Multilevel-Queue(다단계 큐)

    : 준비완료 큐를 여러개의 큐로 분류하여 각 큐가 각각 다른 스케쥴링 알고리즘을 가지는 방식

 

 

비선점 스케쥴링(Non-Preemptive Scheduling)

    : 프로세스 종료 or I/O 등 이벤트가 있을 때까지 실행 보장 (처리시간 예측 용이)

1) FCFS (First Come , First Serve)

    : 큐에 도착한 순서대로 CPU 할당

2) SJF(Shorted Job First)

    : 수행시간이 가장 짧다고 판단되는 작업 먼저 수행

3) HRN (Highest Response-ratio Next)

    : 우선순위를 계산하여 점유 불평등 보완(SJF 단점 보완)

(우선순위 = (대기시간 + 실행시간) / (실행시간) )

 

 

4. 메모리 심화

 

1. 캐시 : 데이터를 미리 복사해 놓는 임시 저장소

  사용되는 이유:

 1) 빠른 장치와 느린 장치에서 속도 차이에 따른 병목 현상을 줄이기 위한 메모리

 2) 데이터 접근에 오래 걸리는 경우를 해결하고 다시 계산하는 시간을 절약

 3) 캐시는 계층과 계층 사이에서 속도차이를 해결하기 위한 임시 저장소

 

2. 캐시히트와 캐시미스

캐시히트 : 캐시에 원하는 데이터를 찾은 것

캐시미스 : 해당 데이터가 캐시에 없다면 주메모리로 가서 데이터를 찾아오는 것

 

3. 메모리 할당:

메모리에 프로그램을 할당할 때는 시작 메모리 위치, 메모리의 할당 크기를 기반으로 할당합니다.

 

 

연속할당

메모리에 '연속적으로' 공간을 할당하는 것을 말합니다.

 

 

  • 고정 분할 방식

메모리를 미리 나누어 관리하는 방식 입니다. 문제점은 내부 단편화 발생합니다.

 

 

 

  • 가변 분할 방식

매 시점 프로그램의 크기에 맞게 동적으로 메모리를 나눠 사용하는 방식

  1. 최초적합: 위에서부터 바로 보이는 공간에 바로 할당
  2. 최적적합: 가장 크기에 맞는 공간부터 채우고 나머지를 할당
  3. 최악적합: 가장 크기가 큰 공간에 부터 채우고 나머지 할당

 

 

불연속 할당

 

운영체제에서는 여러개의 작업을 효율적으로 수행해야하기 때문에 불연속 할당방법을 사용함

 

페이징

  • 동일한 크기의 페이지 단위 나누어 메모리의 서로 다른 위치에 프로세스를 할당
  • 빈데이터(홀)의 크기가 균일하지 않은 문제가 없어지지만 주소 변환이 복잡

세그멘테이션

  • 의미 단위인 세그먼트로 나누는 방식
  • 코드와 데이터 등을 기반으로 나눌 수 있으며, 함수 단위로 나눌 수도 있음을 의미합니다.
  • 공유와 보안 측면에서 좋습니다.
  • 빈데이터(홀) 크기가 균일하지 않는 문제 발생

페이지드 세그멘테이션

  • 공유나 보안은 세그먼트로 나누고
  • 물리적 메모리는 페이지로 나누는 방식

'computer_science' 카테고리의 다른 글

복습2  (0) 2024.03.30
복습  (0) 2024.03.28
네트워크 (OSI7계층, TCP/IP)  (1) 2024.03.26
computer science 2일차 (프로세스)  (0) 2024.03.20