오래 못 할 짓 하지 않기

[ 컴퓨터 구조 ] 6. (Multiple Cycle) Multiple Clock Cycle 본문

2학년 2학기/컴퓨터 구조

[ 컴퓨터 구조 ] 6. (Multiple Cycle) Multiple Clock Cycle

쫑알bot 2023. 7. 4. 15:52
728x90

Multiple Clock Cycle

 

하나의 CLK Cycle에 한 번에 다 하지 말고

각각의 CLK Cycle 짧은 거 여러 개를 두자.

= 긴 거 하나 → 짧은 거 여러 개

 

장점 : 

      1. Hardware Resource 공유 가능

          ex) ALU 여러 개 안 써도 됨

 

       2. Memory 도 Instruction, Data로 나눌 필요 없음.

 

단점 : 

  1.  제어가 복잡해진다.
    Multiple Clock Cycle에는 시간 개념이 생김.
    언제 A라는 값을 가져야 한다. 이런 개념이 생기기에 복잡해진다.
    = control 을 위해 finite state machine 사용.

  2. 여러 CLK을 사용한다 = 이전 CLK의 결과를 다음 CLK에서 사용한다.
    =  내부에 그 값을 저장할 곳이 필요하므로 Register의 개수가 늘어난다.

  3. 공유가 가능하지만, 그에 따라 Input이 더 많아지기 때문에 그걸 정리할 MUX도 필요하다.




 

 

1:06

Finite State Machin = FSM (Moore 라고 생각하면 됨)

다음 상태 = 현재의 상태 + 입력인 것 (입력만 갖고 변하는 게 아닌 것)

따라서 다음 상태에 관련된 함수와, 출력에 관련된 함수가 나누어져 있다.

 



Multiple Cycle 로 다시 바꿀 때 해야 할 일은

  • [ 한 CLK Cycle에 했던 일들을 여러 개로 조각내기 ]
    →각각 조각에게 한 CLK씩 할당해 줄 것임

    주의할 점 : 각각의 조각들의 일이 Balance 해야 함 
      이유 : Multiple 로 바꾸는 이유가 CLK cycle동안 다른 것들이 먼저 끝나고 놀아서 하는 거니까 그럴 일 없도록

  • Additional Internal Registers를 만든다.
    이유 : 매 Cycle의 끝에 현재 상태를 저장할 곳이 필요하기 때문.

 

6:27

1. Single Clock Cycle과 달라진 점은 Memory 가 1개 + ALU도 1개

 

2. Memory 다음에 Instruction Register 와 Data Register가 생겼고,
    또, A, B, ALU Out Register 가 생겼음.

    이유 :  여러 Cycle간에 Data를 주고받기 위해 임시기억장치가 필요하기 때문에 Register들을 만든다.

 

 
여기 ADD , LW 과정 적기


13:00  제어 신호

 

 

 

17:20 Single ~~ 와 Multiple ~~ 비교

 

Multiple은 

  • 메모리와 ALU가 1개
  • Register들이 결과를 저장하기 위해 더해짐
    ex) Inst. , A, B, ALUout , Memory Data Register.
  • MUX가 더 필요함.

 

 

출처 : 한동대 SW중심대학