레트로 컴퓨터 스쿨 프로젝트를위한 CPU


9

저는 IT 학교의 학생이며 우리는 1 학년 학생들에게 무대 뒤에서 어떻게 작동하는지 보여주기 위해 사용할 수있는 프로젝트를 생각하고 있으며 결국 복고풍 컴퓨터를 만드는 것을 생각했습니다.

Z80 프로세서와 관련하여 많은 것을 읽었지만 더 강력한 무언가가 필요하다고 생각합니다. 아키텍처에 대해 궁금해하고 있습니다.하지만 많은 문서를 찾을 때 ARM이 좋은 선택 일지 모릅니다. 또한 몇 가지 특별한 요구가있었습니다.

  • RAM이 더 필요한 경우 외부 주소 버스
  • > 50Mhz
  • 16 또는 32 비트
  • BGA / QFN 패키지 없음
  • FPGA 보드 없음
  • 직렬 인터페이스 (?)
  • 예산이 한정되어 있으므로 너무 비싸지 않습니다

P8X32A-D40은 좋은 CPU처럼 보이지만 필요한 RAM 양이 부족합니다 (32k).> 1MB 이상을 더 생각했습니다. 아마도 eZ80은 고려할 가치가 있습니다. 우리는 당신과 같은 실험적인 사람들의 답변을 원합니다.

감사합니다.

편집 : 우리의 요구를 채우면서 답변을 수락했지만 프로젝트에 참여하고자하는 학생들과의 선택에 대해 논의해야하기 때문에 질문은 여전히 ​​다른 제안에 열려 있습니다.


4
먼저 레트로 컴퓨터를 만드는 것에 대해 논의한 다음 마이크로 프로세서에 대한 사양 (50MHz,> 1MB의 RAM)을 훨씬 더 최신으로 설정하십시오. Z80의 최대 클럭 속도는 2MHz이며 64K의 메모리를 지원할 수 있습니다. 프로펠러 칩 (P8X32A-D40)은 고유 한 아키텍처로 인해 제가 가장 좋아하는 것 중 하나이지만 레트로 컴퓨팅 은 아닙니다 . 함께 집에 구축 된 시스템을 퍼팅에 대한 정보의 공정한 양이 있기 때문에 예를 들어, Z80은 나쁜 선택이 아니다 이것을 볼 .
tcrosley

(다른 학생들이 ... 어쨌든 "복고풍"로 1GHz의 아래에 아무 것도 고려할 것) 나는 옛날 컴퓨터가 질투 할 것 이러한 사양을 알고,하지만 난 이상적 일 것이다 ++ 복고풍의 어떤 종류의 생각
안토니 Teisseire에게

4
필자가 취한 마이크로 컨트롤러 클래스에서 Motorola 6800을 사용했습니다 .8 비트 Atmel 및 PIC를 장난감처럼 보이게하는 모든 다른 주소 지정 모드로 충분히 복잡합니다. 그러나 그렇게 복잡하지는 않습니다. 당신의 마음을 잃지 않고 물건의 정신 모델. 그것은 단지 당신이 원하는 '언더 후드'에 달려 있습니다.
Daniel

나는 이런 식으로 뭔가를 만들려 고했다. WDC 65C816을 살펴보십시오.이 제품은 훌륭한 6502의 16 비트 CMOS 파생 제품이며 DIP40 패키지로 제공됩니다.
Peter

7
이 질문을 종결 한 이유에 전적으로 동의하지 않습니다 . OP는 일련의 기준에 따라 학교 학생에게 적합한 컴퓨터 아키텍처를 찾고 있습니다. 먼저 적절한 아키텍처에 대한 권장 사항 (아마도 모르는 것)에 대한 응답으로 응답 한 다음 학생 친화적 인 DIP 패키지로 제공되므로 특정 칩을 권장했습니다. 그러나 나는 내 추천에 대한 이유를 열거 한 다소 포괄적 인 답변이 미래에 동일한 결정을 내리려는 다른 사람에게 유용 할 것이라고 생각합니다. 다시 열 것을 권장합니다.
tcrosley

답변:


6

현재 사용 가능한 버전에는 실제 외부 주소 버스가 없지만 Microchip PIC32를 고려할 수 있습니다 . 이 아키텍처는 1988 년으로 거슬러 올라간 MIPS를 기반으로 하며 두 가지 주요 RISC 명령어 세트 중 하나입니다 (다른 하나는 ARM 임). 그런 점에서 그것은 복고풍으로 간주 될 수 있습니다. (작은 상식 : Sony Playstation은 MIPS 프로세서를 사용했습니다.)

PIC32의 멋진 기능 중 하나 (32 비트 마이크로 컨트롤러의 경우 드문 경우)는 DIP 패키지에서 여러 종류를 얻을 수 있지만 사용 가능한 최대 메모리는 표면 실장 버전에 비해 제한됩니다. 28 핀 DIP 패키지에서 가장 큰 메모리를 가진 PIC 중 하나는 128KB의 플래시 (프로그램) 메모리와 32KB의 RAM 이있는 PIC32MX250F128 입니다. 미국 Digi-Key영국 Farnell에서 구입할 수 있습니다 .

RAM은 제한적으로 보일 수 있지만 PIC는 하버드 아키텍처 이므로 프로그램과 데이터 주소 공간이 분리되어 있고 프로그램이 플래시에서 실행되므로 RAM이 많이 필요하지 않습니다. (순수 자들에게 PIC32는 RAM에서 프로그램을 실행할 수 있기 때문에 실제로 수정 된 하버드 아키텍처입니다.) 다른 대안은 Von Neumann입니다.아키텍처 (예 : PC에서 사용)에서 일반적으로 RAM이 부족한 모든 프로그램과 프로그램에 대해 하나의 주소 공간이 있으며, 예외적으로 일반적으로 최소한 일부 플래시 또는 ROM (PC에서 BIOS라고 함)이 있어야합니다. 부팅 루틴을 실행하여 대용량 저장 장치 나 네트워크에서 RAM으로 OS를로드하는 프로세서의 주소 공간. Z80 (그리고 당시의 대부분의 마이크로 프로세서)도 Von Neumann 아키텍처를 사용했습니다. 따라서 프로그램과 데이터를 모두 64KB에 맞아야했습니다. Von Neumann 아키텍처의 일부 마이크로는 주변 장치를 동일한 64K 주소 공간에 매핑했습니다. 나머지는 별도의 포트 주소 지정을 사용했습니다.

외부 버스에서 현재 PIC32 (핀 수로 인해 표면 실장 패키지에서만)에는 8 비트 또는 16 비트 폭의 "병렬 마스터 포트"(PMP)가 있으며 DMA와 결합하여 데이터를주고받을 수 있습니다. PIC의 RAM과 외부 RAM 또는 주변 장치 사이에서 자동으로. 그러나 이것은 외부 메모리에 직접 액세스하거나 (프로세서의 주소 공간에서) 코드를 실행할 수 없습니다. Digi-Key 상장 되었지만 아직 재고가없는 최신 PIC32MZ 제품군 은 최대 2MB의 플래시, 1 / 2MB의 RAM 및 200MHz에서 실행되는 실제 외부 주소 버스를 갖습니다.

PIC32MX250F128은 50MHz에서 실행되고 다른 것은 80MHz에서 실행됩니다. 두 개의 직렬 UART 포트가 있습니다. RS232 신호 로 변환 하려면 레벨 변환기 가 필요합니다 .

DIP로 패키지되어 있으며 외부 발진기 없이도 작동 할 수 있기 때문에 3.3.v 전원 공급 장치, 일부 0.1µF 디커플링 캡 및 브레드 보드 만 있으면 시작할 수 있습니다. Microchip에서 무료 C 컴파일러 및 IDE 를 얻을 수 있습니다 .

프로세서를 가동하면 LCD 디스플레이, 버튼 (키보드 등)과 같은 주변 장치를 추가 할 수 있습니다.

최대 512KB의 플래시와 128KB의 RAM을 가진 다른 PIC32MX를 얻을 수 있지만 PCB를 레이아웃해야하는 TQFPVQFN 과 같은 표면 실장 패키지에서만 가능합니다 (모든 ARM 프로세서에서도 동일한 문제가 발생 함).


고마워, 이것은 매우 유익하고 그러한 PIC는 실제로 우리의 요구를 충족시킬 것입니다. VQFN 패키지 또는 PIC32MZ 제품군으로 전환해야 할 경우를 대비하여 설계를 조정합니다.
Anthony Teisseire

von Neumann 아키텍처를 사용하여 RAM에서 프로그램을 실행하는 CPU의 요구 사항은 아닙니다. 동일한 메모리 맵에 플래시와 RAM을 가질 수 있으므로 어느 쪽이든 코드를 실행할 수 있습니다. von Neumann CPU에는 명령과 데이터를위한 하나의 버스와 주소 공간이 있습니다.
Jason R

@JasonR Von Neumann 아키텍처의 프로그램이 RAM이 부족하다는 것을 의미하지는 않았습니다. 실제로 OS를로드하기 위해 부팅 루틴을 실행하려면 적어도 일부 플래시 또는 ROM (PC의 BIOS라고 함)이 필요합니다 대용량 저장 장치 또는 네트워크를 RAM으로 분리하십시오. (물론 Altair 8800 과 같은 초기 PC를 포함한 초기 컴퓨터 에는 부팅 ROM이 없었으며 전면 패널 스위치를 사용하여 부트 로더를 수동으로 전환해야했습니다). 내 답변을 업데이트했습니다.
tcrosley

3

내가 광범위하게 @tcrosley에 동의하는 동안, 나는 당신이 경우 지적 할 의무 느낌 정말 일이 "무대 뒤에서"작동하는 방법을 다른 학생들에게 보여주고 싶은 당신이 그것을 시도하지 않는, (한 살은 FPGA 보드를 얻어야한다 로직을 사용하여 처음부터 CPU를 구축하는 방법을 배웁니다. 좋은 출발점을 위해 이것을 보십시오 .


1

MC68000 시리즈를 고려 했습니까?

데이터 라인이 16 비트 인 68008을 제외하고 16/32 비트 CPU입니다. 일부는 50MHz에서 쉽게 실행할 수 있고 주소 공간은 16MB입니다.

  • RAM이 더 필요한 경우 외부 주소 버스 -예
  • > 50 MHz- 가능
  • 16 또는 32 비트 -둘 다
  • BGA / QFN 패키지 없음 -예
  • FPGA 보드 없음 -아니오
  • 직렬 인터페이스 (?) 아니, 당신은 당신을 만들어야하지만 매우 쉽습니다.
  • 예산이 한정되어있어 너무 비싸지 않습니다 -예

전체 문서는 다음과 같습니다. https://www.nxp.com/docs/en/reference-manual/MC68000UM.pdf

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.