목록⚙️Computer System (149)
코드네임 :

SISD / SIMD / MISD / MIMD Vector Processor (SIMD)GPU (그래픽 처리)

Cache 최적화 지본 아이디어 Matrix Application 메모리에 저장되는 C Arrays 구조 Virtual Memory의 필요성 ⭐️ Virtual Memory란? ⭐️ Page Tablespage table 참고https://ddongwon.tistory.com/49 Page HIT Page Fault TLB TLB HIT ❗️ TLB MISS ❗️

[ 지역성의 원칙 ] : 프로그램은 어떤 특정시간에는 주소공간 내의 비교적 작은 부분만을 접근함 시간적 지역성- 한번 참조된 항목은 곧바로 다시 참조되는 경향- loop 내의 명령어, loop 내에서 반복적으로 업데이트 되는 변수 공간적 지역성- 어떤 항목이 참조되면 그 근처에 있는 다른 항목들이 곧바로 참조될 가능성 높음- 순차적 명령, 배열 ex) 메모리 계층구조 ⭐️ DRAM- capacitor(콘덴서)에 전하로 저장- DRAM의 메모리 셀 = 1개의 트랜지스터 + 1개의 capacitor- capacitor는 비트값을 저장- 주기적으로 refresh 필요 SRAM- DRAM에 클럭 추가- 메모리와 프로세서를 동기화하는 시간이 필요 X DDR DRAM (Double Date Rate) : DD..

야 이거 틀림!!!!! 제어(control) 해저드 해법 중 동적 branch 예측

Pipelining: instruction의 수행 갯수를 늘림으로써 성능을 향상시킴- 여러 instruction을 병렬처리로 실행 (겹치는 실행)- '각' instruction의 실행시간 latency는 그대로- 만일 4개의 세탁소를 pipeline 한다 하더라도 4배 빨라지지는 않음..- instruction set 설계는 pipeline 구현의 복잡도에 영향 [ Pipeline Hazards ]1. 구조적 해저드- 세탁기가 한번에 두곳에서 쓰이려고 한다면 불가능- 하드웨어가 필요한 명령어 조합을 지원하지 못해서 2. 데이터 해저드- 명령어를 실행하는데 필요한 데이터가 아직 준비되지 않은 경우 - 이거 앞에서 WB로 연산으로 업데이트 된 데이터를 받아야만 다음 연산에서 쓰일 수 있..

[명령어 실행] MUX 사용하는 이유 : 오는 데이터가 다르면 (0,1) 보낼 때 뭐로 보내야 할지 모르므로 결정해 주는 존개 - Low voltage = 0, High voltage = 1- one wire per bit (라인 하나는 1비트) - 데이터 연산을 해줌- output이 또 input이 되고.. Register : 데이터 저장-> uses Clk (clock signal) to determine when to update the stored value-> (Read) : 항상 읽을 수 있음 (Q값이 계속나옴)-> (Write) : Edge-triggered : Clk가 0에서 1로 바뀔 때 값을 업데이트 (rising edge에서만 값 변경)이거 그런거임.. 그add x10, ..
과제 1. Assembly to C clear1: li x5,0 // i = 0 loop: slli x6,x5,2 // x6 = i * 4 (배열 offset) add x7,x10,x6 // x7 = address of array[i] ( x7 = array[i] ) sw x0,0(x7) // array[i] = 0 addi x5,x5,1 // i += 1 (i++) blt x5,x11,loop // i ⬇️ clear1(int array[], int size){ int i; for (int i = 0; i array[i] =0;} 과제 2. Machine to Assembly# 16진수는 10부터 a# 야 16진수에..