Study Record/Computer Architecture (4) 썸네일형 리스트형 SIMD Processors SIMD는 여러 data element을 하나의 연산을 수행하는 것이다. Data Parallelism은 다른 데이터에서 같은 연산을 실행함으로서 동시성을 발생시키는 것이다. 예를 들명 두개의 vector의 dot product를 수행하는 것 Question 1 : SIMD와 ILP의 차이점은? - Array processor: Instruction operates on multiple data elements at the same time using different spaces - Vector processor: Instruction operates on multiple data elements in consecutive time steps using the same space basic requir.. VLIW (Very Long Instruction Word) VLIW는 컴파일러에 의에 모여진 여러개의 독립적 연산으로 구성된 명령어다 기존 특징들 1. 여러개의 functional units 2. 모든 명령어들은 lock 단계에서 실행된다. 3. 명령어들은 functional units으로 바로 입력되기 위해서 statically하게 모여있다 - 만약에 VLIW 명령어에서 어떠한 연산이 멈추게 되면 모든 명령어가 멈추게 된다. - In a VLIW machine에서 컴파일러가 모든 종속성 관련 stall을 처리함, 하드웨어가 종속성 검사를 수행하지 않음 - 컴파일러가 ILP(Instrunction level parallelism)을 찾는데 힘든 작업을 한다. - RISC와 유사한 철학을 갖고 있다. (high-level language code를 단순한 명령어로.. Bottleneck Acceleration 암달의 법칙 - 프로세서의 숫자 증가에 의한 최대 speedup은 serial portion에 의해 제한된다 : Serial Bottleneck - Parallel portion은 완전히 병렬화되자 않는다. 1. Synchronization overhead (저장된 데이터의 업데이트에 의한 현상) 2. Load Imbalance overhead (imperfect parallelization) 3. Resource sharing overhead (N개의 프로세스간의 contention) - parallel portion에서 seialized execution은 많은 코어들로 부터 이점을 갖는다. - Critial section that are contended - parallel 단계는 다른 실행 단계보.. Systolic Array 목적 1. Simple, regular design 2. High concurrency으로 인한 High performance달성 3. Balanced computation and I/O memory bandwidth 아이디어 - a single processing element (PE)를 regular array of PEs로 대체하고 PE 사이의 data flow를 조율할 수 있음 - Data는 rhythmical한 방식으로 흐르며, 메모리로 돌아오기 전에 많은 처리 요소들을 통과한다. - 피의 흐름이 심장, 세포를 거쳐 다시 심장으로 오는데 다른 세포들이 혈액을 'process'하는 방식과 유사하며 - 정맥이 simultaneously하게 작동하는 것과 같다. - pipelining방식과 다른 점은.. 이전 1 다음