Abstract
The ARM7 TDMI microprocessor employ a software routine iteration method in order to handle integer division operation, but this method has long execution time and many execution instruction. In this paper, we proposed ARM7 TDMI microprocessor with integer division instruction. To make this, we additionally defined UDIV instruction for unsigned integer division operation and SDIV instruction for signed integer division operation, and proposed ARM7 TDMI microprocessor data Path to apply division algorithm. Applied division algorithm is nonrestoring division algorithm and additive hardware is reduced using existent ARM data path. To verify the proposed method, we designed proposed method on RTL level using HDL, and conducted logic simulation. we estimated the number of execution cycles and the number of execution instructions as compared proposed method with a software routine iteration method, and compared with other published integer divider from the number of execution cycles and hardware size.
현재 ARM7 TDMI 마이크로프로세서는 소프트웨어 루틴들의 반복 알고리듬을 사용하여 정수 나눗셈 연산을 처리하고 있어 많은 명령어 수와 긴 수행 시간을 갖는다. 본 논문은 ARM7 TDMI 마이크로프로세서의 연산기능 중 구현되지 않은 정수 나눗셈 연산 기능을 제안하였다. 이를 위해 부호 없는 정수 나눗셈 명령어인 ‘UDIV’명령어와 부호 있는 정수 나눗셈 명령어인 ‘SDIV’ 명령어를 새로 정의하였으며, 명령어들의 수행하기 위해 ARM7 TDMI 마이크로프로세서의 데이터 패스에 나눗셈 알고리듬을 적용하였다. 적용한 나눗셈 알고리듬은 비복원 알고리듬이며, 기존의 데이터 패스를 최대한 이용하여 추가되는 하드웨어 유닛을 최대한 줄였다. 제안된 방법을 검증하기 위하여 HDL(Hardware Description Language)을 이용하여 RTL(Register Transfer Level)에서 설계하여 시뮬레이션 하였으며, 현재 ARM7 TDMI 마이크로프로세서의 정수 나눗셈 연산 처리 방법과 제안된 구조에서의 정수 나눗셈 연산 처리 방법을 수행 시간과 수행 명령어 수 측면에서 비교하였으며, 기존의 논문에서 제안한 정수 나눗셈기와 수행 시간과 추가되는 하드웨어 면적을 비교하였다.