일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Makefile compile
- CUDA
- 클럭 게이팅
- pytest-pythonpath 설치 오류
- linux makefile 작성
- DNN Accelerator
- linux c++ 컴파일
- 이진수 곱셈 알고리즘
- 대구 반도체 설계기업 특화
- makefile
- gcc 컴파일
- 데이터 해저드
- Pyvrilog tutorial
- 딥러닝 가속기
- Pyverilog 실행
- 컨벌루션 연산
- Pyverilog 튜토리얼
- linux c 컴파일
- gpgpu-sim
- Data HAzard
- pygraphviz 설치 오류
- CLOCK GATING
- Pyverilog 설치
- Design DNN Accelerator
- 남산업힐
- pyverilog 설치 오류
- systolic array
- AMBA
- DNN 가속기
- CDC
- Today
- Total
목록Data HAzard (3)
오늘은 맑음
Reservation stationdata hazard를 피할 수 있는 방법중에 scoreboarding과 reservation station이 있다.scoreboarding은 이전 포스팅에서 알아보았으므로 이번엔 reservation station에 대해서 알아보자. Reservation Station : reservation station은 CPU가 사용한 레지스터를 연산이 종료된 즉시 가져와 저장하는 버퍼다. 결과값을 register에 write하지 않고 reservation station에 저장함으로써 WAR, WAW hazard를 방지할 수 있다. 명령어가 발행되어 operand와 함께 실행되어 나온 결과는 reservation station에 저장된다. 이 후 같은 register에 대한 wr..
Register Scoreboarding 지난 포스팅에서는 data hazard에 대해서 알아보았습니다. 그 세 가지 data hazard를 막을 수 있는 scoreboarding에 대해서 알아보도록 하겠습니다.scoreboarding은 말 그대로 register에 점수를 기록한다고 생각하면 되겠습니다.scoreboard에는 각 register를 대표하는 single bit들이 준비되어 있습니다.만약 입력된 명령어 A의 결과가 write될 예정이라면, 해당 register의 bit를 set시킵니다.다른 명령어 B가 들어와 set된 register에 read/write를 할 예정이라면, 이 명령어는 stall됩니다.이전에 들어온 명령어가 write를 수행하고 나서야 set된 bit는 clear가 될 것이며..
Data Hazard Pipeline은 프로세스의 성능을 높이기 위해서 사용합니다. 프로세스의 동작주파수는 가장 동작주파수가 느린 회로의 동작주파수에 맞춰 동작하기 때문에 파이프라인을 통해 가장 오래 걸리는 연산을 잘게 쪼개 빠른 동작주파수로 동작할 수 있게 해 줍니다.pipeline화 된 프로세스는 성능은 좋아지겠지만 이에 따른 문제가 발생하게 됩니다.이것을 위험(Hazard)이라고 합니다.오늘은 여러 Hazard 중 Data Hazard에 대해 알아보도록 하겠습니다.Data Hazard는 총 3개로 나눌 수 있습니다. 1. RAW(쓰기 후 읽기/read after write) 우리는 다음과 같은 5단계의 파이프라인을 사용한다고 가정하겠습니다.파이프라인은 Instruction Fetch, Decode,..