병렬처리 운영체제

2024. 3. 20. 10:40카테고리 없음

병렬처리
동시에 여러 명령 처리 

파이프라인 기법: 하나의 코어에 여려 개의 스레드 이용
CPU사용을 극대화하기 위해 명령을 겹쳐서 실행

이 기법에는 위험성이 존재

1.데이터 위험

  데이터 의존성때문에 발생하는 문제 //의존성:순서대로 실행되어야 한다는 뜻

  의존성을 갖는 데이터는 병렬처리(동시에 하면 X 순서대로 해야하니까) 
      해결법: 파이프라인 명령단계를 지연해서 순서를 갖게 한다
2.제어 위험
  프로그램 카운터(다음에 실행할 명령이 든 레지스터)를 갑자기 변화시켜 발생하는 위험
  처음 명령 실행 후 다른 명령으로 이동하면 프로그램 카운터를 변경했기 때문에 후속 명령이 쓸모가 없어짐
       해결법: 분기예측 또는 분기 지연으로 해결
3.구조 위험

  서로 다른 명령어가 같은 자원에 접근할때 발생

       병렬처리시 명령어 A와 B가 동시에 레지스터 RX를 사용하면 충돌

                  해결하기 어렵다

 



슈퍼스칼라 기법: 멀티코어 cpu를 이용해 작업을 동시에 처리
  파이프라인 2배인느낌

슈퍼파이프라인 기법 : 원래 클록이 올라갈때 명령이 실행되는데 내려갈때도 실행되게끔 

한템포씩 빨라지니까 병렬처리도 더 빨라짐

슈퍼파이프라인 슈퍼스칼라 기법 PPAP인가
슈퍼파이프라인인데 슈퍼스칼라임?


VLIW: CPU가 병렬처리를 지원하지 않을때 소프트웨어적으로 병렬처리

동시수행 가능한 명령어를 컴파일러가 추출해 하나의 명령으로 실행

 

 

CPU 설계방식 2가지



CPU에서 명령어 실행과정
각 펄스에서 

1.명령어 패치IF

2.명령어 해석ID

3.실행EX

4.쓰기WB

무어의 법칙과 암달의 법칙
무어:CPU속도가 2년에 2배 빨라진다는 소리 지금은 아님 ㅇ
암달:주변장치 향상 없이 CPU 속도를 2GHZ에서 4GHZ로 늘려도 컴퓨터가 2배 빨라지는건 아님