2008-10-23 4 views
4

대학 중기 프로젝트의 경우 VHDL로 코드를 작성한 다음 Digilent의 Spartan 3E FPGA 보드에서 합성 할 수있는 프로세서를 설계해야합니다. 나는 초보자이기 때문에 컨셉과 관련된 아이디어에 구성 가능한 프로세서에 대한 정보를 알려줄 수 있습니까?FPGA 보드에 구현 가능한 구성 가능한 프로세서

답변

2


이 datas3를 가져, instruct4를 가져 datas1이 단지 모형이 너무
이 datas2를 가져, datas1
이 instruct3를 가져 가져 오기, instruct2를 가져, 내가 instruct1를 가져

그것을 정리됩니다 유의하시기 바랍니다이며, 프로세스, 프로세스 datas2, 상점 만들기에 datas1가
datas4 공정 datas3 페치 instruct5 페치 datas1
가 instruct6 페치 datas5 공정 datas4 페치 상점 2, datas1
가 datas6 공정 datas5 페치 instruct7 페치 store3 datas1 012 store4 3, 것은 instruct8를 가져 datas7, 프로세스 datas6, store5의 datas1를 가져

는 기본적으로 이러한 프로세서 1 부 ALU의 주요 구성 요소 : 산술 논리 장치 (draeing이 편리 할 곳이다) ALU가있다 2 입력 포트 및 출력 포트. 2 개의 입력 포트가 작동되고 그 결과가 출력됩니다. ALU가 수행해야하는 명령을 알기 위해 제어 포트가 있습니다. 기본적으로 이것은 명령의 이름입니다. 따라서 제어 포트에 4bits가 있으면 16 가지 가능한 명령이 있습니다.

2 부 레지스터 단위 : 이것은 일련의 메모리 셀 (캐시 메모리)입니다. 이 메모리의 내용은 종종 ALU의 입력 포트로 전송됩니다.

파트 3 컨트롤 유닛 : 이것은 CPU의 오케스트라 마스터와 비슷합니다. 그 작업은 이다 1send 2Readwhich 명령은 명령 레지스터에 일어날 필요가있는 ALU의 입력 데이터는 ALU 제어 포트

인터페이스에 그 코드를 보냅니다. 이것은 RAM 및 기타 주변 장치가 CPU와 통신하는 방법입니다.

intruction은 결과를 저장할 때마다이를 저장해야합니다. 결과가 준비되면 RAM 쓰기가 준비되어야하므로 RAM에 저장할 수 있습니다. 동시에, 다음 명령의 입력에 대한 RAM 읽기가 발생할 수 있습니다. 또한 동시에 다음 번 명령을 RAM에서 가져올 수 있습니다.

1 명령 생성은 일반적으로 1 클럭주기 이상을 필요로합니다. in-struction 가공은 산업 생산과 유사합니다. 따라서 체인 작업이 완료되었습니다.

VLIW 우리가 작성하는 프로그래밍은 선형이며, 차례대로 진행됩니다. 그러나 오늘날의 CPU (ARM은 아님)는 여러 ALU를 가지고 있으므로 여러 명령어가 동시에 처리됩니다.

그래서 당신은 같은 시간 (파이프 라인) 여러 지침을 작업 처리 장치 체인을 가지고 있고 당신은 그 유닛을 많이에게 (슈퍼 스칼라)

그런 다음/필요가 테일러에 수행하는 수 있는지의 문제가된다이 당신의 cpu 아키텍처.

2

VHDL에 5 단계 파이프 라인이있는 프로세서를 구현하는 비슷한 프로젝트를 수행했습니다.

먼저, 먼저 프로세서의 작동 방식을 이해해야합니다. 각 stange가하고있는 일과 당신이 필요로하는 제어 신호의 종류를 이해하지 못한다면 실제로 VHDL로 쓸 희망이 없습니다.

두 번째로 지침과 데이터가 프로세서를 통해 (즉 각 단계를 통해) 어떻게 흐르게되는지 그리기 다이어그램을 시작하십시오. 각 단계는 어떻게 서로 연결되어 있습니까? 제어 신호는 어디에 있습니까? 입력은 어디서 왔으며 출력은 어디에서 나오나요?

일단 견고한 다이어그램이 있으면 VHDL의 실제 구현은 비교적 간단해야합니다. VHDL의 행동 모델링을 사용하여 다이어그램에 보이는 것을 정확히 설명 할 수 있습니다.