본문 바로가기

분류 전체보기185

[컴퓨터구조]프로세서(5) pipeline은 장점이 많지만 hazards라는 문제를 가져오기도 한다.Hazards란 다음 cycle 시작을 방해하는 상황종류로는 다음 세 가지가 있다.​Structure hazards : 하나의 단계(리소스)를 두 개의 명령어가 동시에 사용하려고 할 때 충돌: structure hazards가 발생하면 bubble(단계를 아무 의미 없이 지나치기만 하는 경우) 발생​예를 들어 IF 단계와 MEM 단계 모두 메모리 영역 접근이 필요한데 아래 그림처럼 4번째 cycle에서 충돌하게 된다.4번째 IF 이후에 bubble 발생​해결책 : IF와 MEM 단계를 위한 cache memory를 나눠서 두면 4번째 cycle에서 두 명령어 모두 메모리 접근이 가능하다.(하드웨어 추가)​Data hazards: 이.. 2025. 7. 18.
[컴퓨터구조]프로세서(4) 이번에는 컴퓨터가 일을 효율적으로 하기 위해 사용하는 pipelining 기법에 대해 공부해보겠다.파이프라이닝은 datapath을 이루는 각각의 하드웨어 요소들이다른 명령어를 병렬적으로 수행하도록 해서처리 시간을 절약할 수 있도록 한다.세탁을 할 때 이렇게 세탁기, 건조기, 빨래 개기, 정리하기 네 단계를 거치는데각 단계가 앞에서 본 IF, ID, EX, MEM, WB와 같은 하드웨어라고 보면 된다.첫 번째 경우에는 하나의 빨래가 네 단계 모두 거친 다음에 비로소 다음 빨래의 세탁이 시작된다.하지만 두 번째 경우에는 세탁기가 끝나고 건조기 단계로 넘어가면 다음 빨래가 세탁기에 들어간다.첫 번째 경우에는 4개의 빨래가 끝나는 데 총 8시간이 필요하지만두 번째 경우에는 3.5시간만 소요되므로 굉장히 효율적이.. 2025. 7. 18.
[컴퓨터구조]프로세서(3) 이번에는 control unit에 대해 자세히 다뤄볼 것이다.ALU Control에 따라 ALU가 어떤 연산을 할 것인지가 결정된다.ALU controlFunction0000AND0001OR0010add0110sub0111set-on-less-than1100NORload/store : F=addBranch : F=subtractR-type : funct field 에 따라 다름​그리고 이 ALU control은 ALUOp의 신호를 받는다.ALUOp는00 => 덧셈 (lw/sw)01 => 뺄셈 (beq)10 => R-typeALUOp를 가지고 ALU control 4bit를 생성해 ALU에 넘겨준다.lw/sw는 ALU상 같은 동작을 하기 때문에 구분하지 않아도 된다.R-type는 ALU control이 1.. 2025. 7. 18.
[컴퓨터구조]프로세서(2) 프로세서에 사용되는 회로의 구성요소들에 대해 살펴보겠다.프로세서의 주요 구성요소인 datapath는 data와 address를 처리하는 요소다.datapath의 요소로는combinational element(조합소자)와 state(sequential) element(상태소자)가 있다.combinational element(조합소자) : 미리 정의된 동작만 취해서 결과 도출ex) ADDER, MUX, ALU, AND/OR gate ....Adder2. Multiplexer3. ALU(Arithmetic/Logic Unit)state element(상태소자) : 데이터 저장​Register: clock signal 을 통해 언제 데이터를 저장할지 결정: 상향 edge 부동방식쓸 때만 update되면 효율적이.. 2025. 7. 18.