본문 바로가기

반응형

문과 코린이의, [컴퓨터 구조] 기록/컴퓨터구조 4강

(6)
[문과 코린이의 IT기록장] 컴퓨터 구조 - 4.6. 파이프라인 데이터패스 및 제어 1. 파이프라인 데이터패스 1) MIPS 명령어 파이프라인의 5단계 1. IF(Instruction Fetch) : 명령어 인출 2. ID(Instruction Decode) : 명령어 해독 및 레지스터 파일 읽기 3. EX(Execution) : 실행 및 주소 계산 4. MEM(Memory) : 데이터 메모리 접근 5. WB(Write Back) : 레지스터에 쓰기 - 데이터패스를 5개의 부분으로 나눈 것이다. - 한 클럭사이클에 최대 5개의 명령어가 실행될 수 있다는 것을 의미한다. 2) 단일 사이클 데이터패스 분할 - 일반적으로 정보 흐름은 왼쪽에서 오른쪽으로 진행된다. - 그러나 2가지 예외가 존재한다. (위 그림의 하늘색 선 참고) a. WB단계 : 결과를 레지스터 파일에 쓰기 b. PC의 다음..
[문과 코린이의 IT기록장] 컴퓨터 구조 - 4.5. 파이프라이닝에 대한 개관 1. 단일 사이클 구현의 문제점 : 4.4에서 보았던 방식은, 한 명령어를 데이터패스를 통해 실행하는 동안에, 다음 명령어는 앞 명령어가 실행이 끝날때까지 기다리게 된다. : 이는 클럭사이클 시간을 너무 길어지게 해, 전체 성능을 떨어지게 한다. 2. 파이프라이닝 1) 파이프라이닝의 정의 및 이점 - 정의 : 여러 명령어가 중첩되어 실행되는 기술. (병렬성을 이용) * 각 명령어의 실행시간을 개선시키지는 못하지만, 처리량을 개선한다. - n(실행 명령어 개수), T(시간), k(파이프라인 개수) 파이프라이닝을 하지 않았을 때, 걸리는 시간 : TS = n x T 파이프라이닝을 했을 때, 걸리는 시간 : TP = (n+k-1) x T/k SpeedUp : SP = TS/TP ≅ k (n이 상당히 커지면 0..
[문과 코린이의 IT 기록장] 컴퓨터 구조 - 4.4. 데이터패스의 단순한 구현 - 4.3절의 데이터패스에 단순한 제어기능을 추가해 단순한 구현을 만들고자 함. * 단순한 제어기능 : ALU 제어, 주 제어 유닛의 설계 * 단순한 구현 : add, sub, AND, OR, slt 등 명령어들 1. ALU 제어 1) ALU제어 신호의 종류 6가지 - MIPS는 제어입력 4개를 사용하는 다음 6개 조합을 정의하고 있다. ALU control lines Function 0000 0001 0010 0110 0111 1100 AND OR add sub slt NOR * ALU는 명령어 종류에 따라 5가지(초록색) 기능 중 하나를 수행하게 됨. 2) 명령어별 ALU 제어 신호 * ALUop제어(2bit) + 기능 코드(6bit) = ALU제어 입력(4bit) Instruction OPcode ..
[문과 코린이의 IT기록장] 컴퓨터 구조 - 4.3. 데이터패스 만들기 - 데이터패스 구성요소 : 프로세서 내에서, 데이터를 가지고 연산하거나, 데이터를 저장하는 기능 유닛 cf) MIPS구현에서는 데이터패스 구성요소에, 명령어 메모리, 데이터 메모리, 레지스터 파일, ALU, 덧셈기 등이 포함된다. * 앞의 4.2까지의 논리회로는 데이터패스를 보여주기 위한 쉬운사례 1. 데이터패스 구성요소 (메모리 유닛 - PC - ALU) - 명령어를 저장하고 접근하는데는, 두 개의 상태소자가 필요하며, 다음 명령어의 주소를 계산하기 위해 덧셈기가 하나 필요하다. a. Instruction Memory : 프로그램의 명령어를 저장하고, 주소가 주어지면 해당 명령어를 보내주는 메모리 유닛 b. Program Counter : 현재 명령어의 주소를 가지고 있는 레지스터인 PC(Program..
[문과 코린이의 IT 기록장] 컴퓨터 구조 - 4.2.논리 설계 관례 - 컴퓨터의 설계에 대해 논의하기 위해서는 컴퓨터를 구현하고 있는 논리회로가 어떻게 동작하고, 또 컴퓨터가 어떻게 클러킹 되는지를 결정해야 한다. - 이 절에서는 이 장에서 많이 사용하게 될 디지털 논리의 핵심 아이디어 몇 가지를 되새겨 볼 것이다. [ MIPS 구현에 쓰이는 데이터패스 요소 ] 1. 데이터 값에만 동작하는 소자 = 조합소자 - 출력이 현재의 입력에만 의존한다는 것이다. - 같은 입력이 주어지면 항상 같은 출력을 낸다. ex) AND게이트, ALU와 같은 연산형 소자 * 내부 기억소자가 없기 때문에 주어진 입력에 대해 항상 같은 출력을 낸다. 2. 상태를 포함하는 소자 = 상태소자 - 소자에 내부 기억장소가 있으면 상태를 갖게 된다. - 적어도 2개의 입력과 1개의 출력을 갖는다. * 입..
[문과 코린이의 IT기록장] 컴퓨터 구조 - 4.1. 프로세서(CPU) * 1장 : 컴퓨터 성능은 세가지 주요 요인(명령어 개수, 클럭사이클 시간, 명령어당 클럭사이클수(CPI)에 영향을 받는다. * 2장 : 컴파일러와 명령어 집합 구조가 프로그램에 필요한 명령어 개수를 결정한다. * 4장 - MIPS 명령어 집합을 두 가지 다른 방법으로 구현하여 데이터패스와, 제어유닛을 완성시키려 함 - 이 장은 프로세서를 구현하는데 사용되는 원리와 기법들에 대한 설명을 포함하고 있다. 매우 추상적이고 단순한 개괄을 서술한다. - 다음 절에서는 데이터패스를 만들고 MIPS와 같은 명령어 집합 구현에 충분한 프로세서의 간단한 버전을 구성한다. (많은 부분을 파이프라인 MIPS구현에 할애함) 1. 기본적인 MIPS 구현 - 핵심적인 MIPS 명령어 집합의 부분집합을 구현할 것인데, 그것은 다..

반응형