다운/퍼 가실 때 댓글 부탁드려요. 그리고 받으신 자료 유료 레포트 사이트에 올리지 말아주세요.
개발툴 : quatus II
16-bitCPUArchitectureDesign결과보고서.hwp : 과제 결과보고서
16bitsinglecpuarchitecture.zip : 소스코드
본문 내용 중 일부
3. 구 현
가. Block Diagram
1) 위 그림은 16bit architecture 형식의 single cpu의 블록다이어그램이다.
2) pc는 instruction memory에서 가져올 명령어의 주소를 가지고 있는데, 기본적으로 다음 pc는 1이 증가된 값을 가지고 있으며, branch 경우 pc에 pc + branch_address를 jump의 경우 해당 jump_address로 pc값이 변경된다.
3) pc에 해당하는 명령어를 instruction memory에서 꺼내면 instruction decoder를 통해서 해당 명령어에 따른 레지스터 주소와 immediate 값, 각종 control 신호를 세팅하게 된다.
4) 명령어를 분석하여 R-Type의 명령어가 판단이 되면 레지스터 rs와 rt에 해당하는 데이터가 빠져나와 ALU 연산을 수행하고 이 결과는 다시 레지스터 rd가 가리키는 곳에 저장된다.
5) I-Type의 명령어 중 ADDI 명령어라면 레지스터 rs에 해당하는 데이터와 immediate값이 ALU 연산되고 그 결과가 레지스터 rt가 가리키는 곳에 저장된다.
6) I-Type의 명령어 중 LD라면 레지스터 rs에 해당하는 데이터와 immediate 값이 ALU 연산(ADD)된 값을 주소로 하는 메모리의 데이터가 빠져나와 레지스터 rt가 가리키는 곳에 저장된다.
7) I-Type의 명령어 중 ST라면 레지스터 rs에 해당하는 데이터와 immediate 값이 ALU 연산(ADD)된 값을 주소로 하는 메모리에 레지스터 rt의 데이터가 저장된다.
8) R-Type의 명령어 중 BEQ라면 레지스터 rs와 rt에 해당하는 데이터 값을 ALU 연산 (compare)하여 그 결과가 0이라면 다음 pc값을 pc+branch_address로 변경한다.
9) J 명령어가 판단이 되면, 다음 pc 값을 jump_address로 변경하고, 이 때 레지스터와 메모리는 사용되지 않는다.
'레포트 자료' 카테고리의 다른 글
| 시스템 프로그래밍 - shell 구현 (15) | 2009/02/02 |
|---|---|
| 마이크로프로세서 - skyeye를 이용한 uClinux 환경 구축 및 소수 출력 프로그램 (0) | 2009/02/02 |
| 컴퓨터구조 설계 및 실험 - 16bit CPU Architecture Design 최종 결과물 (3) | 2009/02/02 |
| 컴퓨터구조 설계 및 실험 - 16bit CPU (branch, jump 추가) (0) | 2009/02/02 |
| 컴퓨터구조 설계 및 실험 - 16bit CPU (Load / Store instruction 추가) (0) | 2009/02/02 |
| 컴퓨터구조 설계 및 실험 - 16bit CPU (I-type 추가) (0) | 2009/02/02 |


16-bitCPUArchitectureDesign결과보고서.hwp
16bitsinglecpuarchitecture.zip



