카테고리 없음

파이프라인과 하드웨어의 관계

KayEsQuo 2021. 8. 10. 21:50

파이프라인을 HW와 연관하여 설명하려고 하면 막상 생각해내기가 힘들다.

대학에서 중간 기말을 준비할 때 HW 요소와 역할을 중점으로 공부하였지만, 시험이 끝난 뒤 잊어버리기 일수였다.

 

실무에서 이러한 지식이 직접적으로 연관되어 피부로 와닿는 경우는 드물지만, 프로젝트 디버깅 또는 튜닝할때 많은 참고자료가 되어, 알고있는것이 중요하다.

 

따라서 간략한 그림과 설명문을 통해 파이프라인과 HW 연관관계에 대해 설명하고자 한다.(파이프라인에 대한 내용인 해저드 및 수행시간, 병렬 등은 다루지않는다.)

 

 

파이프라인

    우선 설명하기에 앞서 위키백과에 나온 파이프라인의 설명을 보면 다음과같다.

 

컴퓨터 과학에서 파이프라인(영어: pipeline)은 한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조를 가리킨다. 이렇게 연결된 데이터 처리 단계는 한 여러 단계가 서로 동시에, 또는 병렬적으로 수행될 수 있어 효율성의 향상을 꾀할 수 있다. 각 단계 사이의 입출력을 중계하기 위해 버퍼가 사용될 수 있다.

 

버퍼 (컴퓨터 과학) - 위키백과, 우리 모두의 백과사전

컴퓨팅에서, 버퍼(buffer, 문화어: 완충기억기)는 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역이다. 버퍼링(buffering)이란 버퍼를 활용하는

ko.wikipedia.org

 

쉽게 말해 파이프라인 구조는 인출 -> 해독 -> 실행 과정을 거친다. 이를 그림으로 표현하면 다음과 같다.

진행

1. 인출 : 메모리로부터 명령어를 인출한다.

2. 해독 : 컴퓨터는 011011과같은 이진수를 알아야한다. 컨트롤 유닛에서 명령어를 이진수(컴퓨터가 이해가능)로 바꾼다.

3. 실행 : ALU로 들어온 데이터를 계산한다.

 

요소

  • ALU(산술 논리 장치) :덧셈, 뺄셈 같은 두 숫자의 산술연산과 배타적 논리합, 논리곱, 논리합 같은 논리연산을 계산하는 디지털 회로다.
        
  • 컨트롤 유닛 : 제어 장치는 프로세서의 조작을 지시하는 컴퓨터 중앙 처리 장치(CPU)의 한 부품으로 명령어를 이진수로 변환한다.
  • 버스 인터페이스 : 버스 인터페이스는 외부의 입출력 버스(I/O Bus)와 연결된다. CPU의 외부와 연결 되어있으며 데이터를 전송 및 수신하는 역할을 한다. 이는 메모리상의 명령어를 가져오기도 보내기도 한다.
  • 메모리 : 기억장치로 프로그램에 필요한 변수, 배열등과 마찬가지로 여러 정보들이 저장되어있는 장치이다.

 

 

간단하게 정리해봤고, 부족하거나 잘못설명한 경우가 있으면 댓글로 남겨주시면 감사하겠습니다.