기름콩 일대기

고정 헤더 영역

글 제목

메뉴 레이어

기름콩 일대기

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 소설 (20)
    • 화학 (1)
      • HGLlab (0)
    • 책 (3)
      • 뻘글 (0)
      • 문장들 (2)
      • 작가들 (0)
    • 여행 (1)
    • 교환학생 (2)
    • GRE (2)
    • 다큐멘터리 (1)
    • Computer Engineering (7)
      • Computer Architecture (7)

검색 레이어

기름콩 일대기

검색 영역

컨텐츠 검색

Computer Engineering/Computer Architecture

  • RISC-V 컴퓨터구조 - 4. The Processor - 4.8. Control Hazards

    2020.12.03 by oilbeen

  • RISC-V 컴퓨터구조 - 4. The Processor - 4.7. Data Hazards: Forwarding versus Stalling

    2020.12.02 by oilbeen

  • RISC-V 컴퓨터구조 - 4. The Processor - 4.5. An Overview of Pipelining

    2020.12.01 by oilbeen

  • RISC-V 컴퓨터구조 - 4. The Processor - 4.4. A simple Implementation Scheme

    2020.11.30 by oilbeen

  • RISC-V 컴퓨터구조 - 4. The Processor - 4.3. Building a Datapath

    2020.11.29 by oilbeen

  • RISC-V 컴퓨터구조 - 4. The Processor - 4.2 Logic Design Conventions

    2020.11.29 by oilbeen

  • RISC-V 컴퓨터구조 - 4. The Processor - 4.1 Introduction

    2020.11.28 by oilbeen

RISC-V 컴퓨터구조 - 4. The Processor - 4.8. Control Hazards

만약 beq x1, x2, L1 다음에 add x1, x2, x3라는 instruction이 온다고 하자. 만약 x1과 x2가 같지 않다면 이 add instruction이 시행되겠지만, 같다면 L1위치에 있는 instruction으로 넘어갈 것이다. 따라서 다음 instruction인 add를 할지 말지 결정해야 하는데, 이는 memory stage가 되어서야 알 수 있으므로, 3 clock cycle의 stall이 필요한데, 모든 상황에서 이렇게 하면 너무 비효율적이다. 따라서 가정을 한다. Assume Branch Not Taken Branch가 무조건 Not Taken 된다고 가정한다음 다음 instruction을 그냥 진행시킨다. 그러다가 만약 branch가 take되어 버리면, 지금까지 한 것..

Computer Engineering/Computer Architecture 2020. 12. 3. 03:06

RISC-V 컴퓨터구조 - 4. The Processor - 4.7. Data Hazards: Forwarding versus Stalling

만약 다음과 같은 명령어들이 있다고 하자. sub x2, x1, x3 and x12, x2, x5 or x13, x6, x2 add x14, x2, x2 sd x15, 100(x2) 이런 다섯 개의 code가 sequential 하게 있다고 하면, 첫번째 명령에서의 sub에서 나오는 결과인 x2의 값이 뒤의 and와 or에도 이용되므로, 만약 그냥 앞에서 한 방법대로 진행하게 되면, 다음과 같은 그림이 그려진다. 이 경우 add x14, x2, x2 부터는 맨 처음 sub에서 나온 x2 값을 이용할 수 있는데, and와 or의 경우에는 이용할 수 없다. 하지만 앞에서도 말했듯이 생각해보면 첫번째 계산의 결과가 5번째 단계에서 나오는게 아니라 세 번째 단계부터 avaliable하다는 것을 알 수 있다. 따..

Computer Engineering/Computer Architecture 2020. 12. 2. 17:55

RISC-V 컴퓨터구조 - 4. The Processor - 4.5. An Overview of Pipelining

Pipelining 은 여러개의 instruction이 execute 하면서 overlap되는 것이다. 이를 빨래에 비유해보자. 빨래의 단계가 세탁, 건조, 정리의 세 단계라고 하면, Single-Cycle Implementation의 경우 첫 번째 빨래의 세탁, 건조, 정리가 끝나고 그 다음 빨래의 세탁, 건조, 정리를 하는 것이다. 하지만 Pipelining이 된 경우 첫 번째 빨래가 세탁이 끝나고 건조로 넘어가면 두 번째 빨래를 바로 세탁으로 넘긴다! 그렇게 순차적으로 기계를 쉬지 않고 돌리는 것이다. 이렇게 할 때 첫번째 빨래의 시작부터 끝까지의 시간은 줄어들지 않는다. 하지만 여러 개의 빨래를 동시에 진행함으로써 같은 시간 내에 많은 빨래를 할 수 있다. 따라서, pipelining은 singl..

Computer Engineering/Computer Architecture 2020. 12. 1. 16:57

RISC-V 컴퓨터구조 - 4. The Processor - 4.4. A simple Implementation Scheme

The ALU Control ALU에서는 4 가지 동작을 할 수 있는데, 바로 and, or, add, substract이다. 어떤 operation을 할지는 ALU에 전달되는 4bit짜리 신호가 결정하는데, 다음 표와 같다. 만약 load and store라면, ALU가 addition을 해서 memory address를 계산한다. R-type instruction이라면, ALU는 7-bit funct7 field(31:25) 와 3-bit func3 field(14:12)의 값에 따라 and, or, add, substract중 하나를 계산한다. Conditional branch의 경우에는 substract를 한다음에 0인지 아닌지 판단한다. 이를 구현하기 위해서 2bit짜리 control signa..

Computer Engineering/Computer Architecture 2020. 11. 30. 17:18

RISC-V 컴퓨터구조 - 4. The Processor - 4.3. Building a Datapath

이 장에서는 각 instruction에 필요한 datapath elements를 분석해본다. Instruction Fetch 일단 첫 번째로 필요한 element는 (a) program의 instruction을 저장하고 주어진 address의 instruction을 주는 memory unit (b) PC(Program Counter) (c) adder(next instruction의 주소를 위해) 이다. 이를 그림으로 나타내면 다음과 같다. 이 세개에 대해서는 Control Signal이 다 필요없다. Instruction memory에서는 읽기만 하고, Add에서는 더하기만 하고, PC는 새로운 신호가 들어오면 update하기 때문에, Control Signal이 필요없고, 또한 input에 따라 Ou..

Computer Engineering/Computer Architecture 2020. 11. 29. 10:55

RISC-V 컴퓨터구조 - 4. The Processor - 4.2 Logic Design Conventions

이 장은 논리설계에 대한 복습이다. 다음의 그림에서, data value를 계산하는 모든 logic은 combinational이다. (Add, ALU) Output이 현재의 input에만 의존하기 때문이다. 만약 더하기에서 한 숫자가 바뀌면 그 전 값과는 아무 상관없이 결과값이 바뀐다. 다른 경우는 state를 포함하는데, internal storage가 있을 경우 state라고 부른다. (Instruction memory, Data Memory, Registers) State element는 적어도 두개의 input과 하나의 output이 있다. 왜냐하면 clock signal이 필요하기 때문이다. State element의 output은 그 전 clock cycle에서 써진 값이다. Clock은 언제..

Computer Engineering/Computer Architecture 2020. 11. 29. 03:06

RISC-V 컴퓨터구조 - 4. The Processor - 4.1 Introduction

컴퓨터의 성능은 3가지 key factor로 구성된다. instruction의 개수가 몇 개인지, clock cycle time 이 얼마인지, instruction 당 clock cycle이 얼마나 되는지.( CPI - clock cycles per instruction) Chap 2에서는 compiler와 ISA(Instruction Set Architecture)가 주어진 프로그램에 대해서 얼마만큼의 instruction count가 요구되는지 결정한다고 배웠다. Processor의 implementation은 clock cycle time과 CPI를 결정한다. 이번 단원에서는 서로 다른 두 개의 RISC-V instruction set에 대해서 datapath와 control을 한 번 constru..

Computer Engineering/Computer Architecture 2020. 11. 28. 19:48

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
기름콩 일대기 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바