문제

대학 중기 프로젝트의 경우 구성 가능한 프로세서를 설계하고 VHDL에 코드를 작성한 다음 Digilent의 Spartan 3E FPGA 보드에서 합성해야합니다. 저는 초보자이므로 구성 가능한 프로세서에 대한 정보, 개념과 관련된 아이디어를 알려 주시겠습니까?

도움이 되었습니까?

해결책

당신은 내 것을 확인할 수 있습니다 관련 질문에 대한 답변. 우리는 FPGA 보드를 위해 VHDL에 CPU를 구축하면서 거의 동일하게했습니다.

다른 팁

이것은 단지 모형이므로 정리하겠습니다.

Fetch instruct1,
Fetch instruct2, Fetch DataS1
Fetch instruct3, Fetch DataS2, 프로세스 DataS1
Fetch Instruct4, Fetch DataS3, Process DataS2, Store1 DataS1
Fetch Instruct5, Fetch Datas4, Process DataS3, Store2 Datas1
Fetch Instruct6, Fetch Datas5, Process DataS4, Stor3 Datas1
Fetch Instruct7, Fetch Datas6, Process DataS5, Stor4 Datas1
Fetch Instruct8, Fetch DataS7, Process DataS6, Stor5 Datas1

기본적으로 이들은 프로세서 1 파트 1 ALU의 주요 구성 요소입니다. 산술 로직 장치 (Draeing이 유용한 곳) ALU에는 2 개의 입력 포트와 출력 포트가 있습니다. 2 개의 입력 포트가 작동하고 결과가 출력됩니다. ALU가 어떤 지시를 수행 해야하는지 알기 위해 제어 포트가 있습니다. 기본적으로 이것은 명령의 이름입니다. 따라서 제어 포트에 4BIT가있는 경우 16 개의 가능한 지침이 있습니다.

Part 2 Register Unit : 이것은 메모리 셀 세트 (캐시 메모리)입니다. 이 메모리의 내용은 종종 ALU의 입력 포트로 전송됩니다.

Part3 Control 장치 : 이것은 CPU의 오케스트라 마스터와 비슷합니다. 그 임무는 명령어 레지스터에서 발생 해야하는 ALU 입력 2READ에 데이터를 1에 세우는 것입니다. 해당 코드를 ALU 제어 포트로 보냅니다.

상호 작용. 이것이 RAM 및 기타 주변 장치가 CPU와 의사 소통하는 방식입니다.

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

1 개의 명령어를 생성하려면 일반적으로 1 개 이상의 클록주기가 필요합니다. 구조를 처리하는 것은 산업 생산과 유사합니다. 체인 작업이 완료되었습니다.

VLIW 우리가 쓴 프로그래밍은 선형입니다. 즉, 다른 사람은 지시가 발생합니다. 그러나 오늘날 CPU (무기 아님)는 여러 ALU의 여러 ALU가 있으므로 여러 지시 사항이 동시에 처리됩니다.

따라서 처리 장치 체인이 여러 지시 사항을 동시에 작동하고 (파이프 라인) 해당 유닛 (Superscalar)이 많이 있습니다.

그런 다음 CPU 아키텍처를 Taylor에게 할 수있는 일에 대한 질문이됩니다.

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

먼저, 프로세서의 작동 방식의 아키텍처를 이해해야합니다. 각 스탠지가하는 일과 어떤 종류의 제어 신호가 필요한지 이해하지 않고 실제로 VHDL에서 하나를 작성하려는 희망이 없습니다.

둘째, 지침과 데이터가 프로세서를 통해 (즉, 각 단계를 통해)의 흐르는 방법에 대한 다이어그램을 그리기 시작하십시오. 각 무대는 어떻게 서로 연결됩니까? 제어 신호는 어디로 갈까요? 내 입력은 어디에서 왔으며 출력은 어디로 갈까요?

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top