6502가 Altair 스타일의 전면 패널과 함께 작동 할 수 있었습니까?
나는 6502를 프로그래밍 한 기억이 좋지만, 하드웨어 해킹을 한 적이 없다. 상징적 인 전면 패널이있는 Altair는 Intel 8080을 기반으로했으며, 그 이후로 Intel / Zilog 및 Motorola / MOS Technology 에코 시스템은 제한된 크로스 오버로 완전히 분리되어 개발되었습니다. 알테어의 6502에 가장 가까운 것은 6800을 기반으로하고 유사한 전면 패널이없는 SWTPC입니다. 알테어와 같은 기계 가 6502를 중심으로 쉽게 구축 될 수 있었 는지 궁금합니다. 이것이 기술 대 역사적 우발성에 대한 문제입니다.
에 따르면 https://en.wikipedia.org/wiki/MOS_Technology_6502
칩 크기 측면에서 주요 변경 사항은 주소 버스 출력에서 3 개 상태가 제거 된 것입니다. 이는 6800에 포함되어 다이 공간을 많이 사용하면서 직접 메모리 액세스 (DMA) 및 공동 처리 역할에서 다른 칩과 함께 작동 할 수 있도록했습니다. 실제로 이러한 시스템을 사용하려면 다른 장치도 유사하게 복잡해야했으며 대신 설계자는 오프 칩 시스템을 사용하여 이러한 액세스를 조정하는 경향이있었습니다. 6502는 특정 작업에 사용하고 간단한 장치와 통신하는 저렴한 컨트롤러로 설계되어이 기능을 제거했습니다. Peddle은 실제로 이러한 스타일의 액세스가 필요한 사람은 누구나 74158 하나로이를 구현할 수 있다고 제안했습니다.
마지막은 과장처럼 들립니다. Google 검색에 따르면 74158이 쿼드 멀티플렉서 였으므로 16 비트 주소 버스 용 멀티플렉서를 구축하려면 그중 4 개와 글루 로직이 필요했을까요?
그러나 어쨌든 알테어의 전면 패널은 DMA 장치로 인계하기 위해 CPU를 삼중 상태로 정확히 설명하는 기능에 의존하지 않습니까? (적어도 CPU 자체의 비용 이점을 무효화하는 추가 로직을 제공 할 필요없이) 6502 주변에서 그러한 시스템을 구축하는 데 중요한 장애물이 될까요?
답변
그러나 어쨌든 알테어의 전면 패널은 DMA 장치로 인계하기 위해 CPU를 삼중 상태로 정확히 설명하는 기능에 의존하지 않습니까? (적어도 CPU 자체의 비용 이점을 무효화하는 추가 로직을 제공 할 필요없이) 6502 주변에서 그러한 시스템을 구축하는 데 중요한 장애물이 될까요?
도달하려는 대상과 방법에 따라 다릅니다.
단일 스테핑 (예 : CPU가 단계 당 단일 명령을 실행하도록 허용)의 경우 고전적인 솔루션은 NMI를 사용하고 소프트웨어에서 다른 모든 작업을 처리하는 것입니다. 이는 소프트웨어에서 많은 작업을 수행한다는 기본 6502 개념과 일치합니다. 이 방법은 예를 들어 KIM과 함께 사용되었습니다. SST 스위치가 설정되면 가져온 KIM ROM (* 1) 외부의 모든 명령 (으로 표시됨 SYNC
)은 ROM에서 제공하는 NMI를 발행하여 모니터에 제어권을 다시 부여하여 모든 작업이 메모리를 검사 / 변경할 수 있도록합니다. I / O 및 레지스터 (* 2), 버스를 인계하면 불가능한 일.
단일 순환, 즉 CPU가 단계 당 정확히 하나의 클록 사이클을 실행하도록하는 것은 하드웨어에서 수행되어야합니다. 여기서 그것은 단순히 당기는 것에 관한 것 RDY
입니다. 이는 6502의 모든 사이클이 메모리 사이클이기 때문에 작동하므로 풀링 RDY
은 RDY가 활성화 된만큼의 사이클 동안 해당 메모리 액세스를 확장합니다.
기본 논리는 다소 단순하지만 기능을 결합하면 좀 더 정교 해집니다. 그러나 단일 스테핑주기 및 지침을위한 전체 회로는 6 개의 TTL 만 필요하며 하드웨어 설명서의 한 페이지에 맞습니다.

( 1976 년 1 월 제 2 판 125면 그림 3.1 )
물론 이것은 하나의 정적이 버스 상태와 모든 신호를 검사하도록합니다. CPU와 무관하게 메모리를 읽고 쓸 수 있으려면 CPU가 정지 된 동안 버스를 인계하기 위해 3 상태 버퍼 및 / 또는 mux 세트가 필요하기 때문입니다. 게다가 일반적인 스위치와 LED ofc.
모든 하드웨어 노력은 Altairs 전면 패널과 비슷합니다.
* 1 - 즉 만 에 김 ROM (6530-002$1C000), not the cassette extension (6530-003 at $1800).
3 개 상태 드라이버가 없어도 CPU를 연결하는 중간 위치 용 접점이 포함 된 3 개 위치 스위치를 사용하여 알테어 스타일 전면 패널이있는 컴퓨터를 상당히 쉽게 만들 수 있습니다. 기계가 실행 되려면 주소와 데이터 스위치가 CPU가 그들을 구동 할 수 있도록 중간 위치에 있어야합니다. 이러한 디자인은 8 개의 스위치 그룹을 동시에 높거나 낮게 전환 할 수있는 두 개의 힌지 레버를 포함하는 경우 합리적으로 편리 할 수 있습니다.
또는 시스템은 25 극 스위치를 사용하여 READY (먼저 끊어야하는 접점으로 프로그램 실행 중지)를 어설 션하고 CPU에서 주소와 데이터를 분리하고 주소를 전면 패널에 연결하고 데이터를 10 극에 연결할 수 있습니다. 읽기 가능 연결을 끊고 데이터 스위치를 연결하고 쓰기 가능을 주장하는 스위치. 25- 폴 스위치는 괴물처럼 보일 수 있지만 기계식 다극 스위칭 배열은 전자 제어 시스템 이전에는 다소 일반적이었습니다. 전환을 수행하는 강력한 방법은 캠으로 작동하는 롤러 작동 식 마이크로 스위치 그룹을 사용하는 것이지만 PC 보드에서 슬라이딩하는 접점조차도 작동했을 것입니다.