단일 로테이터 모듈을 사용한 Pipelined 역행렬기 설계
A Pipelined Matrix Inverter Design Using A Single Rotator Module
- 주제(키워드) 도움말 단일 로테이터 , 파이프라이닝 , 역행렬 계산 , SDFG기법 , Pre-calculation기법
- 발행기관 서강대학교 일반대학원
- 지도교수 임종석
- 발행년도 2016
- 학위수여년월 2016. 2
- 학위명 석사
- 학과 및 전공 일반대학원 컴퓨터공학과
- 실제URI http://www.dcollection.net/handler/sogang/000000058894
- 본문언어 한국어
- 저작권 서강대학교 논문은 저작권보호를 받습니다.
초록/요약
역행렬 계산은 여러 신호처리 시스템에서 사용되는 중요한 연산 중 하나로, 많은 양의 데이터를 정확하고 빠르게 처리하고자하는 요구가 커지고 있다. 역행렬 계산 시 주로 입력행렬에 단위행렬을 추가하여 QL분해 후 변환된 두 행렬에 대한 전진대입 연산으로 연립방정식의 해를 구하는 방법을 사용한다. QL분해를 수행하기 위하여 회전 연산을 반복적으로 수행하므로 긴 처리 시간이 요구된다. 따라서 2차원 시스톨릭 배열 구조를 사용하여 처리 속도를 개선하는 방법이 사용되었다. 본 논문에서는 단일 로테이터를 구성하여 역행렬 계산에 필요한 회전 연산과 누적 연산을 수행한다. 회전 순서에 따라 로테이터가 대기하는 pre-load의 발생과, 회전 연산 간의 data dependency에 의해 발생하는 병목 현상은 역행렬기의 성능을 저하시킨다. 역행렬을 계산 시 발생하는 pre-load를 제거한 회전 순서 방법과, 병목 현상을 개선시키는 pre-calculation기법을 제안한다. 일반적인 방법으로 역행렬기를 구현하였을 때 발생하던 로테이터의 대기 시간을 최소한으로 줄여 비교적 작은 역행렬 계산 시간을 갖는 역행렬기에 대한 설계를 보인다. 역행렬기는 파이프라인을 삽입한 로테이터로 pre-calculation기법의 회전 연산을 사용하여 속도를 개선하였다. 역행렬기는 VHDL로 구현되었고 Xilinx ISE 14.5i에서 합성되었다. 구현된 역행렬기는 xc7v585t-ffg1157 장치에서 9%의 slice와 3개의 블록 램을 사용하고, 동작 주파수 51.264MHz에서 작동한다.
more초록/요약
The matrix inversion is one of the important operations used in several signal processing systems, and the requirement that processing lots of data fast and exactly becomes serious. As calculating an inverse matrix, it mostly uses QL-decomposition of the given matrix with an identity matrix added, and then solves a matrix equation of the two matrices transformed by forward substitution. It needs long processing time because performs rotation operations iteratively for QL-decomposition. Therefore, a 2-dimensional systolic array architecture is used for improving the processing time. In this paper, a single rotator performs rotation and accumulation operations necessary for a matrix inversion. An occurrence of a pre-load which makes the rotator paused and a bottleneck caused by data dependencies reduce performance of a matrix inverter. We propose the order of rotation removing the pre-load and pre-calculation method that improves the bottleneck. And we introduce the design of the matrix inverter that has relatively short processing time by reducing the pause of rotator implemented using a general method. Matrix inverter improves speed of matrix inversion using the pre-calculation method by the pipelined rotator. Matrix inverter is implemented in VHDL, synthesised in Xilinx ISE 14.5i. Implemented matrix inverter use 9% slices and 3 block RAMs in device xc7v585t-ffg1157, and runs with a clock rate of 51.264MHz.
more

