Blog16

고정 헤더 영역

글 제목

메뉴 레이어

Blog16

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (33)
    • 개발 (0)
      • 프로젝트 (0)
    • 자기계발 (0)
      • 독서 (0)
      • 유튜브 (0)
    • 전공 (33)
      • 확률과 통계 (14)
      • 컴퓨터 구조 (19)

검색 레이어

Blog16

검색 영역

컨텐츠 검색

컴퓨터 구조

  • [컴퓨터 구조] 5.3 The Basics of Caches

    2020.10.26 by blacksmith16

  • [컴퓨터 구조] 5.2 Memory Technologies

    2020.10.26 by blacksmith16

  • [컴퓨터 구조] 5.1 Introduction

    2020.10.26 by blacksmith16

  • [컴퓨터 구조] 4.14 Fallacies and Pitfalls

    2020.10.26 by blacksmith16

  • [컴퓨터 구조] 4.7 Data Hazards: Forwarding versus Stalling

    2020.10.26 by blacksmith16

  • [컴퓨터 구조] 4.6 Pipelined Datapath and Control

    2020.10.26 by blacksmith16

  • [컴퓨터 구조] 4.5 An Overview of Pipelining(2)

    2020.10.26 by blacksmith16

  • [컴퓨터 구조] 4.5 An Overview of Pipelining(1)

    2020.10.26 by blacksmith16

[컴퓨터 구조] 5.3 The Basics of Caches

Questions 데이터가 존재하는지 어떻게 확인? 우리가 어디를 보고 어디에 넣어? Directed-mapped Fully associative M-way Set associative Directive Mapped Cache 위치가 주소에 의해 결정됨 나머지 연산을 이용해 캐시 주소 결정 (주소) % (캐시 블럭 수) 캐시 블럭 수는 2의 거듭제곱이다. 주소 하위 비트 사용 Tags and Valid Bits 어떤 블럭이 캐시에 있는지 알 수 있을까? 블럭 주소도 저장해놓는다. 상위 비트를 저장 => 태그 데이터가 아예 없다면? Valid bit로 표시 1 = 있, 0 = 없 (초기값 0)

전공/컴퓨터 구조 2020. 10. 26. 14:05

[컴퓨터 구조] 5.2 Memory Technologies

Memory Technology 대표적인 메모리의 종류는 아래와 같다. Static RAM(SRAM) Dynamic RAM(DRAM) Magnetic Disk SRAM -> DRAM -> Magnetic Disk로 갈수록 접근 속도가 100배 빨라지고 GB 당 가격이 100 배 낮아진다. 빠른 메모리는 비싸기 때문에 이들을 적절히 혼용하여 가능한 빠른 성능을 내는 것이 최상의 선택이다. SRAM Technology 6 ~ 8 개의 트랜지스터를 사용하여 데이터를 저장한다. 빠르지만 비쌈 접근 시간이 일정 Refresh 될 필요 없음 캐시 메모리로 많이 사용됨 DRAM Technology 데이터는 Capacitor의 Charge로 저장됨 주기적으로 Refresh 되어야 함 Read Contents and W..

전공/컴퓨터 구조 2020. 10. 26. 14:03

[컴퓨터 구조] 5.1 Introduction

Principle of Locality 프로그램은 한 번에 작은 비율의 주소 공간에 접근한다. 그래서 다시 접근할 확률이 높은 것들에 대한 원칙을 정의하여 효율적으로 공간을 사용하는 것이 좋다. Temporal Locality(Time) 최근에 접근한 것들은 머지않아 다시 접근할 확률이 높다. Spatial Locality(Space) 최근에 접근한 것과 가까이 위치한 것이 다음에 접근할 확률이 높다.

전공/컴퓨터 구조 2020. 10. 26. 13:59

[컴퓨터 구조] 4.14 Fallacies and Pitfalls

Fallacy: Pipeline is easy 지금까지 파이프라인을 잘 이해한 사람들은 어쩌면 이것이 별 거 아니라고 생각할 수도 있다. 그렇지만 지금까지 다룬 것은 파이프라인의 기본적인 개념이고, 더 세부적인 것을 고려하기 시작하면 만만치 않을 것이다. 파이프라인의 어려움에 대한 이야기를 말하자면, 이 강의 교재의 1st Edition에서 나온 파이프라인에 버그가 있었는데 이 버그는 100명 이상이 검토하고 18개 대학에서 시험을 칠 동안 발견되지 않았다. 어떤 사람이 이 책을 바탕으로 컴퓨터를 만드려고 시도하다가 그제서야 이 버그가 발견되었다고 한다. Fallacy: Pipelining can be implemented independent of technology 위 문장은 한국어로 "파이프라인은 ..

전공/컴퓨터 구조 2020. 10. 26. 13:58

[컴퓨터 구조] 4.7 Data Hazards: Forwarding versus Stalling

지금까지 구현한 회로는 Hazard가 발생하지 않는 상황에서는 잘 동작한다. 하지만 실제 프로그램에서는 Hazard가 많이 발생하기 때문에 이를 처리할 수 있도록 고쳐서 조금 더 현실적인 프로세서를 만들어보자. Forwarding sub $2, $1,$3 # Register $2 written by sub and $12,$2,$5 # 1st operand($2) depends on sub or $13,$6,$2 # 2nd operand($2) depends on sub add $14,$2,$2 # 1st($2) & 2nd($2) depend on sub sw $15,100($2) # Base ($2) depends on sub 위 코드의 $2를 보자. sub에서 처음 값이 저장된 후, 다음 4 개의 in..

전공/컴퓨터 구조 2020. 10. 26. 13:56

[컴퓨터 구조] 4.6 Pipelined Datapath and Control

여기서는 4.4장에서 완성했던 기존의 Single-Cycle Datapath를 Pipelined Datapath로 바꾸는 과정을 살펴볼 예정이다. 우선 회로를 아래 다섯 단계로 나누어 표시해보자. IF(Instruction Fetch) ID(Instruction Decode, Register File Read) EX(Execute, Address Calculation) MEM(Memory Access) WB(Write Back) 위 이미지 (강의 교재 figure 4.33) 과 같이 나눌 수 있는데, 여기서 파란색 선은 다른 단계로 데이터가 전달되는 상황임을 표시한 것이다. 위쪽 파란 선은 MEM에서 IF로, 아래쪽 파란 선은 WB에서 ID로 데이터가 전달되는 부분이다. WB -> ID의 Right-to..

전공/컴퓨터 구조 2020. 10. 26. 13:40

[컴퓨터 구조] 4.5 An Overview of Pipelining(2)

Hazards Hazard란 다음 Instruction을 바로 다음 사이클에서 실행할 수 없도록 하는 상황을 뜻한다. Hazard를 해결하지 못하면 작업을 하지 않는 사이클이 발생해 Pipeline이 느리게 동작한다. Hazard의 종류를 살펴보자. Structure Hazard : 사용하려는 자원이 이용 중인 경우 Data Hazard : 앞선 Instruction이 Read나 Write를 할 때까지 기다려야 하는 경우 Control Hazard : 앞 Instruction에 의해 Control 동작이 결정되는 경우 Structure Hazard 여러 Instruction이 동시에 같은 리소스에 접근하는 경우이다. 메모리가 하나 뿐인 MIPS pipeline에서는, Load / Store가 메모리 데이..

전공/컴퓨터 구조 2020. 10. 26. 13:34

[컴퓨터 구조] 4.5 An Overview of Pipelining(1)

앞서 만든 프로세서 회로는 실제로는 거의 사용되지 않는다. 4.3의 마지막 단락은 다음과 같았다. PC는 State Element이고, 나머지는 Combinational Element이기 때문에 전체 회로를 도는 데에는 1 Clock이 소요(CPI = 1)되어야 한다. 즉, 이 회로가 도는 속도에 따라 프로세서의 클럭 주기가 결정된다고 할 수 있다. CPI가 1인 프로세서는 한 클럭에 한 명령어가 실행된다는 것이고, 이보다 더 효율적이려면 한 클럭에 여러 명령어가 동시에 수행되어야 한다. 이걸 가능하게 하는 것이 파이프라인이며, 주저리주저리 설명하면 괜히 어렵게 들리니까 어떤 느낌인지 비유로 아래에서 설명하겠다. Pipelining Analogy 강의 교재에서는 파이프라인을 설명하기 위한 비유로 빨래하는..

전공/컴퓨터 구조 2020. 10. 26. 13:26

추가 정보

인기글

최신글

페이징

이전
1 2 3
다음
TISTORY
Blog16 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바