일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- linux c 컴파일
- Pyverilog 설치
- makefile
- systolic array
- Pyverilog 튜토리얼
- Makefile compile
- 클럭 게이팅
- Data HAzard
- CUDA
- Pyverilog 실행
- 대구 반도체 설계기업 특화
- 컨벌루션 연산
- DNN 가속기
- linux makefile 작성
- Pyvrilog tutorial
- Design DNN Accelerator
- gcc 컴파일
- gpgpu-sim
- pyverilog 설치 오류
- 이진수 곱셈 알고리즘
- linux c++ 컴파일
- 남산업힐
- DNN Accelerator
- CDC
- CLOCK GATING
- pygraphviz 설치 오류
- 데이터 해저드
- 딥러닝 가속기
- AMBA
- pytest-pythonpath 설치 오류
- Today
- Total
목록Processor (24)
오늘은 맑음
Data Hazard Pipeline은 프로세스의 성능을 높이기 위해서 사용합니다. 프로세스의 동작주파수는 가장 동작주파수가 느린 회로의 동작주파수에 맞춰 동작하기 때문에 파이프라인을 통해 가장 오래 걸리는 연산을 잘게 쪼개 빠른 동작주파수로 동작할 수 있게 해 줍니다.pipeline화 된 프로세스는 성능은 좋아지겠지만 이에 따른 문제가 발생하게 됩니다.이것을 위험(Hazard)이라고 합니다.오늘은 여러 Hazard 중 Data Hazard에 대해 알아보도록 하겠습니다.Data Hazard는 총 3개로 나눌 수 있습니다. 1. RAW(쓰기 후 읽기/read after write) 우리는 다음과 같은 5단계의 파이프라인을 사용한다고 가정하겠습니다.파이프라인은 Instruction Fetch, Decode,..
SIMT에서의 교착상태(dead lock)란 무엇인가? SIMT에서 교착상태를 알기 위해서는 교착상태를 일으키는 상호배재(mutex)에 대해 알아야 합니다. 상호배제(mutex) OS에서의 상호배제 : 두 개 이상의 프로세스가 동시에 한 자원에 접근 시 한 개의 프로세스만이 자원에 접근할 수 있게 합니다. 즉, A와 B 프로세스가 동시에 같은 자원에 접근했을 경우 A가 상호배제에 의해 접근이 허락된다면, B는 A가 모두 사용한 후에 해당 자원에 대한 허가가 떨어져 접근을 할 수 있게 됩니다. SIMT에서의 상호배제 : 두 개 이상의 thread가 동시에 한 자원에 접근 시 한 개의 thread만이 자원에 접근할 수 있게 됩니다.역시 OS에서의 process와 마찬가지로 A와 B라는 thread가 동시에 ..
thread란 무엇인가?thread란 processor에서 작업을 하는 주체를 의미합니다. 즉, C = A + B라는 연산을 실행했을 때 이 A+B 연산을 하는 주체를 의미합니다.여기서 thread가 2개 이상인 processor를 multi-threaded processor라고 합니다. warp이란 무엇인가? thread가 등장하면 곧 warp이란 단어가 등장합니다. warp은 thread의 덩어리를 의미합니다.warp은 NVIDIA식의 용어이며, NVIDIA에서는 32개의 thread를 1개의 warp이라고 정의합니다.AMD같은 경우에는 warp대신 wavefront라는 단어를 사용하는데, 64개의 thread당 1개의 wavefront라고 정의합니다. SIMT란 무엇인가?warp은 같은 명령어로 동..
cache? 캐시? 캐시(cache, 문화어: 캐쉬, 고속완충기, 고속완충기억기)는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. -이상 wiki백과에서의 캐시에 대한 정의입니다. 무어의 법칙(Moore's law)에 의해 최근까지 CPU의 처리속도가 급격하게 증가했습니다. 이에 따라 메모리 접근속도도 함께 늘어나면 좋겠지만 그러지 못했습니다...이로 인해 메인메모리에서 데이터를 가져와 CPU에서 아무리 빨리 처리를 해도다음 연산에 필요한..
AXI(Advanced eXtensible Interface) : 다중 채널 버스로, 읽기/쓰기에 최적화 되어 있는 버스이다. AXI 버스와 AHB버스의 가장 다른 점은 채널의 도입이다. Read Address Channel Write Address Channel Read Data Channel Write Data Channel Write Response Channel AHB버스의 경우 위의 채널들이 버스로 구성되어 있어 독립적으로 작동할 수 없으나 AXI의 경우에는 채널이 도입되어 독립적으로 작동할 수있다. AHB버스의 경우 앞의 디바이스가 버스와 데이터 전송을 하고 있는 경우 후속 디바이스가 앞의 데이터 전송이 다 끝날 때 까지 기다려야 했다. 이는 저속디바이스가 데이터 전송중이라면 고속 디바이스가 ..
BUS란 CPU에서 메모리나 입출력 기기에 데이터를 송출하ㅓ나 반대로 메모리나 입출력 기기에서 CPU에 데이터를 읽어들일 때 필요한 전송로이다. CPU와 메모리 또는 입출력 기기 간에 어떤 곳으로도 데이터를 전송할 수 있으므로 쌍방향 버스라고 한다. AMBA는 ARM사의 BUS protocol이다.종류로는 AHB, ASB, APB, AXI가 있다. AHB(Advanced High Performance Bus) : 고속으로 동작하는 장치들이 연결되는 버스 ASB(Advanced System Bus) : 고속으로 동작된다. AHB와는 달리 Rising Edge와 Faling Edge를 모두 사용한다. APB(Advanced Peripheral Bus) : 비교적 느린 속도의 주변장치를 제어한다. 전력소모를 ..