ARM Instruction Simulation 설계 (ARMISS 설계)
- 최초 등록일
- 2013.12.12
- 최종 저작일
- 2012.10
- 14페이지/ 압축파일
- 가격 1,500원
소개글
어샘블리어로 작성된 코드를 ARM 어샘블러로 컴파일하여 머신코드를 받아옵니다.
머신코드가 작성된 파일을 읽어와서 ARM 레지스터값이 어떻게 변화하느지 시뮬레이션으로 확인가능합니다.
컴파일 실행환경
C언어, Linux
본문내용
- Condition field 비교
현재 CPSR에 저장된 NZCV bit와 Instruction에 추가된 Condition을 비교한다. Condition을 만족하지 못할 경우 이 Instruction은 수행되면 안된다. 이 경우 PC(Program Counter)를 증가시키고, "continue" 명령어를 사용하여 loop를 다시 돌아 다음 Instruction이 수행되도록 한다. 여기서 PC는 1씩 증가시키는데, 이것은 편법을 써서 레지스터 출력시에만 4를 곱하여서 출력이 되도록 하였다. Data Processing이나 LDR, STM같은 레지스터의 값을 연산할때 PC만 특별히 오른쪽으로 8bit shift 시켜주고 4를 나누어 저장하고, 다른 레지스터로 저장할 때는 이와 반대로 왼쪽으로 8bit shift시켜주고 4를 곱하여서 연산하도록 하였다.
- Instruction Format Check
현재 PC가 가리키고 있는 Instruction의 Format을 보고 어떤 Instruction인지 확인하기 위한 작업이다.
각각의 Instruction은 default로 고정된 값이 존재하는데 이들을 보고 어떤 format인지 판단하게 된다. 그 후에는 명령어당 정의된 함수가 수행되는데, 복잡도를 줄이기 위해 짧은 줄로 수행이 가능한 Instruction routine은 따로 함수정의 없이 바로 구현하도록 하였다. (Branch, MSR, MRS 등)
압축파일 내 파일목록
ARMISS.c
ARM_doc.pdf
HW 미드 설계계획서.docx
MidtermProject.pdf
run_length.s
결과보고서.docx
발표자료 (1).pptx
주간회의보고서.docx
주간회의보고서2.docx
참고 자료
없음