모토로라 6809

Motorola 6809
모토로라 6809
1 MHz Motorola 6809P processor, is a C65P mask set manufactured the tenth week of 1992
일반 정보
개시.1978년, 44년 전(연장)
공통 제조원
성능
데이터 폭8
주소 폭16
아키텍처 및 분류
명령 집합6809
지침들59
물리 사양
트랜지스터
  • 9,000
패키지

Motorola 6809('6xty-8-o-nine')는 16비트 기능을 갖춘 8비트 마이크로프로세서입니다.그것은 모토로라의 테리 리터와 조엘 보니에 의해 디자인되었고 1978년에 소개되었다.소스 호환성은 이전 Motorola 6800과 동일하지만 6809는 하드웨어 곱셈 명령, 16비트 연산, 시스템 및 사용자 스택 레지스터, 개선된 인터럽트, 위치 독립 코드 및 Ortho를 포함한 MOS 테크놀로지 6502와 같은 8비트 동시대에 비해 크게 향상되었습니다.포괄적인 어드레싱 모드 세트를 갖춘 gonal 명령어 세트 아키텍처.

동시대 최강의 8비트 프로세서 중에서도, 가격은 훨씬 비쌌습니다.1980년에는 단일 유닛 수량으로 6809달러가 37달러였는데, Zilog Z80은 9달러, 6502는 [1]6달러였습니다.인텔 8086과 같은 새로운 세대의 16비트 프로세서가 시장에 출시될 때 출시되었으며, 모토로라의 68000을 포함한 32비트 디자인이 곧 출시될 예정입니다.새로운 디자인으로 경쟁력을 갖추지 못했고, 오래된 디자인과 가격 경쟁력도 갖추지 못했습니다.

6809는 TRS-80 컬러 컴퓨터, Dragon 32/64, SuperPET 및 Thomson MO/TO 가정용 컴퓨터, Vectrex 게임 콘솔 및 스타워즈, Defender, Robotron: 2084, Joust 및 Gyruss를 포함한 1980년대 초반의 아케이드 머신에 사용되었습니다.1990년대 윌리엄스 핀볼 머신에는 68B09 [2]기반의 WPC 시리즈 컨트롤러 보드가 장착되어 있습니다.Fairlight CMI 디지털 오디오 워크스테이션 시리즈 II와 Konami의 Time Pilot 84 아케이드 게임은 각각 듀얼 6809 [3]프로세서를 사용합니다.히타치는 6809의 주요 사용자였고 나중에 히타치 6309로 업데이트된 버전을 생산했습니다.

역사

Motorola 6809의 다이

6800 및 6502

Motorola 6800은 1971년부터 설계되어 1974년에 출시되었습니다.전체적인 디자인 면에서는 인텔 [a]8080 등8비트 설계로 설계된 다른 CPU와 매우 유사합니다.처음에는 초기 NMOS 로직을 사용하여 제작되었으며, 여기에는 보통 여러 개의 다른 전원 전압이 필요했습니다.주요 기능은 온칩 전압 더블러를 통해 단일 +5V 전원으로 동작할 수 있다는 것입니다.이는 -5V, +5V, -12V 및 [4]접지를 필요로 하는 인텔 8080과 같은 경쟁 제품에 비해 큰 장점입니다.

6800은 처음에 당시 전류 접촉 리소그래피 프로세스를 사용하여 제작되었습니다.이 과정에서 포토마스크는 웨이퍼와 직접 접촉해 노광한 후 들어 올린다.웨이퍼를 들어 올릴 때 식각 재료 중 일부가 웨이퍼에 남아 마스크 패턴의 미래 칩이 고장날 가능성이 적었습니다.CPU와 같은 복잡한 멀티 패턴 설계의 경우 테스트 시 칩의 약 90%가 고장났습니다.작동하는 소수의 칩으로 수익을 내기 위해, 작동하는 모델의 가격은 소량 [5]수백 달러 정도로 매우 높아야 했습니다.그 결과 6800은 출시 후 상대적으로 시장 수용도가 낮았다.

6800의 많은 설계자들은 저비용 시스템이 널리 수용되기 위한 열쇠가 될 것이라고 확신했습니다.그 중에서도 눈에 띄는 것은 Chuck Peddle이었습니다.그는 판매 여행을 떠나면서 잠재 고객들이 이 디자인이 의도한 용도에 비해 너무 비싸다는 이유로 계속해서 거절하는 것을 보았습니다.그는 훨씬 더 저렴한 디자인을 만들기 위해 프로젝트를 시작했지만, 모토로라의 경영진은 관심을 보이지 않았고 결국 그에게 그 디자인을 그만 두라고 말했다.Peddle과 6800 팀의 많은 다른 구성원들은 Motorola를 떠나 MOS Technology를 위해 1975년에 이 설계를 MOS Technology [6]6502로 도입했습니다.6800은 당초 단품 [7]판매가격이 360달러였으나 이 시점까지 295달러로 낮아졌다.6502는 [8]25달러에 팔렸다.

6502의 저비용에는 세 가지 이유가 있었다.하나는 디자이너가 꼭 필요하지 않은 기능을 모두 제거했다는 것입니다.이로 인해 2개의 축전지 중 하나가 분리되고 8비트 인덱스 레지스터가 작아져 내부 배선이 감소했습니다.또 다른 변경은 +5V만 필요로 하는 새로운 기술인 고갈 부하 NMOS 로직으로의 이행입니다.6800은 외부적으로는 +5V 핀이 1개뿐이었지만 내부적으로는 복수의 전압이 있어 별도의 전원 레일을 칩 주위에 배치해야 했습니다.이 두 가지 변경으로2 [10]6502는 6800의2 29.0mm에 [9]비해 16.6mm가 되었습니다.즉, 하나의 웨이퍼에서 2배의 칩을 생산할 수 있었습니다.결국 MOS는 평균 수율을 약 10%에서 [5]70%로 향상시킨 새로운 Micralign 리소그래피 시스템을 사용했습니다.

모토로라는 6502의 출시와 함께 6800의 가격을 125달러로 즉시 낮췄지만 경쟁력은 여전히 떨어지고 판매 전망은 어두워졌다.Motorola의 제품군에 Micralign을 도입함으로써 추가적인 가격 인하를 가능하게 했으며 1981년까지 현재의 6800P의 가격은 적어도 단일 유닛 [1]수량으로는 동등한 6502보다 약간 낮았다.하지만 그 시점까지 6502는 수천만 대가 팔렸고 6800은 거의 잊혀졌다.

6809

6502가 6800의 시장을 점유하기 시작한 반면, 인텔은 새로운 Zilog Z80이 인텔 8080의 매출을 가로채기 시작했을 때 같은 문제를 겪고 있었습니다.Motorola와 Intel은 모두 이러한 디자인을 도약시키기 위해 새로운 디자인 사이클을 시작했습니다.이 과정을 통해 인텔은 1978년에 인텔 8086으로 등장한 일련의 16비트 프로세서의 설계를 시작하게 되었습니다.모토로라는 또한 MACSS [11]프로젝트에서 유사한 하이엔드 디자인을 시작했습니다.기존 6800명의 고객을 대상으로 설문조사를 실시한 결과, 많은 고객이 8비트 설계에 계속 관심을 갖고 있으며, 단순한 요구 때문에 16비트 디자인에 돈을 지불하지 않는 것으로 나타났습니다.그 결과, 대폭 개선되었지만 호환성이 있는 8비트 설계를 6809가 [12]되었습니다.

6800 코드를 분석한 결과, CPU의 관점에서 보면 로드와 저장소가 가장 많은 것으로 나타나 검사한 코드의 모든 조작의 39%를 차지했습니다.반면, 수학적 연산은 비교적 드물어서 코드의 2.8%에 불과했다.그러나 부하와 저장소의 자세한 조사 결과, 이들 중 많은 수가 덧셈과 뺄셈과 결합되어 있으며, 이러한 연산 중 상당량이 16비트 값에 대해 수행되고 있음을 알 수 있었습니다.이로 인해 새로운 설계에 로드, 저장, 더하기 및 빼기 등 기본적인 16비트 수학을 포함하기로 결정했습니다.마찬가지로 증감폭은 코드의 6.1%에 불과하지만, 거의 모든 것이 여러 번 수행되는 루프 내에서 발생합니다.이로 인해 인덱스 [13]레지스터를 사용하여 포스트 인크리먼트 및 프리 인크리먼트 모드가 추가되었다.

새로운 설계의 주된 목적은 위치 독립 코드를 지원하는 것이었다.Motorola의 시장은 대부분 임베디드 시스템과 유사한 단일 목적 시스템이었습니다. 이 시스템은 종종 다른 플랫폼과 매우 유사한 프로그램을 실행했습니다.이러한 시스템의 개발은 사전 롤된 일련의 서브루틴을 수집하여 결합하는 형태를 취했습니다.그러나 어셈블리 언어가 일반적으로 "기본 주소"에서 시작되므로, 미리 작성된 모듈을 결합하려면 일반적으로 [14]코드의 주요 위치를 가리키는 상수(또는 "등가")를 변경하는 긴 프로세스가 필요합니다.

Motorola의 아이디어는 이 작업을 없애고 빌딩 블록 개념을 훨씬 더 실용적으로 만드는 것이었습니다.시스템 인테그레이터는 일반적인 작업을 처리하기 위해 시판 코드를 ROM에 결합하기만 하면 됩니다.부동소수점 연산, 그래픽 프리미티브, Lempel-Ziv 압축 등의 일반적인 루틴 라이브러리는 라이선스를 부여하고 커스텀 코드와 조합하여 [14][b]ROM에 쓸 수 있습니다.

6800 등의 이전 프로세서 설계에서는 메모리 위치를 나타내는 방법은 여러 가지가 있었습니다.이들 중 일부는 메모리 내의 현재 위치 또는 인덱스 레지스터의 값에 상대적인 반면, 다른 일부는 메모리 내의 물리적 위치를 참조하는 절대 16비트 값입니다.이전 스타일은 코드가 참조하는 주소가 코드와 함께 이동하기 때문에 코드를 이동할 수 있습니다.절대 위치에는 해당되지 않습니다.이러한 유형의 어드레싱을 사용하는 코드가 이동하면 다시 컴파일해야 합니다.이를 해결하기 위해 6809는 명령어 opcode를 입력함으로써 가능한 [16]한 상대 어드레싱의 인스턴스가 많아졌습니다.

예를 들어 6800에는 코드를 더 작고 빠르게 하기 위해 사용되는 특별한 "직접" 주소 모드가 포함되어 있습니다. 메모리 주소가 16비트로 구성되어 있어 저장에 2바이트가 필요한 대신 직접 주소는 8비트 길이에 불과했습니다.단점은 보통 메모리의 맨 아래쪽에 있는 256바이트 창인 "다이렉트 페이지" 내에서만 메모리를 참조할 수 있다는 것입니다. 즉, 6502에서는 이것을 "제로 페이지 주소 지정"이라고 부릅니다.6809 에서는, 「다이렉트 페이지」의 8 비트 DP 레지스터가 새롭게 추가되었습니다.이전에는 제로 페이지에 있어야 했던 코드를 이제 DP가 [16]새 위치를 가리키도록 변경되는 한 메모리 내의 아무 곳이나 이동할 수 있습니다.

DP를 사용하면 코드 내의 주소를 참조하는 문제가 해결되지만 데이터는 일반적으로 코드로부터 약간 떨어진 ROM 외부에 있습니다.위치 독립성을 유지하면서 데이터를 쉽게 참조하는 문제를 해결하기 위해 6809는 다양한 새로운 주소 지정 모드를 추가했습니다.이들 중에는 명령어에 상대적인 위치에 의해 메모리 위치를 참조할 수 있는 프로그램 카운터 상대 주소 지정이 있었습니다.또한 ROM 내의 프로그램이 RAM 내의 메모리 블록을 확보하여 SP를 블록의 베이스로 설정하고 상대값을 사용하여 [17]스택 내의 데이터를 참조할 수 있도록 스택이 더욱 널리 사용되었습니다.

이러한 유형의 액세스를 지원하기 위해 6809는 SP의 이름을 "user"로 변경하고 "system"[18]으로 두 번째 스택 포인터인 S를 추가했습니다.사용자 프로그램은 U를 사용하는 반면 CPU 자체는 S를 사용하여 서브루틴 호출 중에 데이터를 저장하는 것이었습니다.이를 통해 실행 중인 다른 프로그램에 영향을 주지 않고 S를 변경하여 시스템 코드를 쉽게 호출할 수 있습니다.예를 들어 ROM에서 부동소수점 루틴을 호출하는 프로그램은 데이터를 U스택에 배치하고 그 루틴을 호출합니다.이 루틴은 S가 가리키는 자신의 프라이빗 스택에서 데이터를 사용하여 계산을 수행하고 U스택을 [18]변경하지 않고 돌아갑니다.

스택 액세스가 확장된 또 다른 이유는 재입력 코드, 즉 다양한 다른 프로그램에서 동시에 호출할 수 있는 코드 또는 [19]재귀적으로 호출할 수 있는 코드를 지원하는 것입니다.이것에 의해, operating system의 구축이 훨씬 쉬워집니다.운영체제는 독자적인 스택을 가지고 있으며, 프로세서는 사용하고 있는 스택 포인터를 변경하는 것만으로, 유저 애플리케이션과 operating system을 재빠르게 전환할 수 있습니다.같은 [20]이유로 서비스 중단도 훨씬 쉬워집니다.6809의 인터럽트는 인터럽트 코드를 호출하기 전에 프로그램카운터와 상황코드 레지스터만 저장하지만 6800은 모든 레지스터를 저장하고 추가 사이클을 거쳐 종료 [21]시 스택을 풀 수 있습니다.

6809에는 최초의 전용 하드웨어 멀티플라이어가 [22]탑재되어 있습니다.A와 B의 어큐뮬레이터에 8비트 번호가 입력되어 A:B의 결과가 됩니다.이것을 통칭하면 [23]D라고 부릅니다.

시장 수용

설계의 대부분은 빌딩 블록 코드의 시장 컨셉에 근거하고 있었습니다.그러나 프리롤 ROM 모듈 시장은 실현되지 않았습니다.모토로라의 유일한 예는 MC6839 부동소수점 ROM이었다.업계 전체적으로 보면 현재 [24]사용되는 솔루션인 자동 재배치 링커와 로더를 이용해 별도의 소스에서 코드 모듈을 통합하는 문제를 해결했다.그러나 설계팀의 결정에 따라 OS-9 및 UniFlex와 같은 다중 사용자 및 멀티태스킹 운영 체제가 가능해졌습니다.

6809의 추가 기능은 비용이 많이 들었습니다. CPU는 6800의 4,100이나 6502의 3,500에 비해 약 9,000개의 트랜지스터를 가지고 있었습니다.프로세스 개선은 원래 6800보다 적은 비용으로 제작할 수 있다는 것을 의미하지만, 이와 동일한 개선 사항이 다른 설계에도 적용되었기 때문에 상대적 비용은 그대로 유지되었습니다.1981년에는 6809가 6502의 [1]약 6배 가격에 단일 수량으로 판매되었다.하드웨어 멀티플라이어 등 특별한 기능을 필요로 하는 시스템의 경우, 시스템은 가격을 정당화할 수 있지만 대부분의 역할에서 간과되고 있었습니다.

낮은 사용률의 또 다른 요인은 훨씬 더 높은 성능을 가진 새로운 설계의 존재였습니다.그 중에는 같은 해에 출시된 인텔 8086과 1979년의 저가 버전인 인텔 8088이 있습니다.이 문제에 대한 느낌은 Byte Sieve 어셈블리 언어 결과에서 그 시대의 다른 일반적인 설계(1981년과[26] 1983년[25])와 비교한 것을 볼 수 있다.

바이트 체 비교
프로세서 초
6502 1MHz 13.9
Z80 4 MHz 6.8
6809 2MHz 5.1
8086 8 MHz 1.9
68000 8 MHz 0.49

6809는 6502[c] 및 Z80과 같은 기종보다 성능이 향상되었지만 가격 인상에는 미치지 못했습니다.가격이 주요 관심사는 아니지만 성능이 매우 중요한 업체들의 경우, 새로운 디자인이 가격보다 훨씬 더 우수했습니다.

6809가 출시되기 전인 1976년에 모토로라는 당시 Motorola Advanced Computer System on Silicon 프로젝트 또는 MACSS로 알려진 자체 고급 CPU 프로젝트를 시작했습니다.IBM PC 프로젝트에 선택하기에는 너무 늦었지만, 1979년 MACSS가 Motorola 68000으로 등장했을 때 6809에 대한 관심이 남아 있었다.모토로라는 곧 그들의 미래 8비트 시스템이 6809의 더 향상된 버전이 아닌 68000의 축소 버전으로 구동될 것이라고 발표했다.

주요 용도

TRS-80 컬러 컴퓨터

첫 번째 주요 용도는 TRS-80 컬러 컴퓨터였는데, 이는 주로 우연히 발생하였습니다.모토로라는 "AgVision"으로 알려진 온라인 팜 에이드 프로젝트를 위해 컬러 대응 컴퓨터 단말기를 설계하라는 요청을 받았다.탠디(Radio Shack)는 소매 파트너로 영입되어 "비디오텍스"라는 이름으로 판매되었지만,[27] 1980년 도입 후 얼마 지나지 않아 프로젝트는 결국 취소되었다.그리고 나서 탠디는 가정용 컴퓨터를 만들기 위해 디자인을 다시 만들었고, 이는 6809의 가장 주목할 만한 디자인 [28]성공작 중 하나가 되었다.

SuperPET SP9000

워털루 대학은 컴퓨터 공학 학생을 위한 저비용 프로그래밍 플랫폼을 찾기 위해 6809 기반의 컴퓨터 온 어 카드와 다수의 프로그래밍 언어 및 ROM 프로그램 편집자를 포함한 기존 코모도어 PET를 결합한 시스템을 개발했습니다.그 결과는 나중에 유럽에서는 슈퍼펫, 즉 마이크로메인프레임으로 판매한 코모도어에 의해 선택되었다.이들은 PC 클론 시장의 도입이 대부분의 사용자에게 프로그래밍 역할을 차지하기 전인 1980년대 중반에는 비교적 인기가 있었습니다.

그 밖에 Fujitsu FM-7, Canon CX-1, Dragon 32/64 및 Thomson TO7 시리즈가 널리 사용되고 있습니다.또한 Acon System 2, 3, 4 컴퓨터에서도 옵션으로 사용할 수 있습니다.6800년 경에 제작된 대부분의 SS-50 버스 디자인도 6809에 대한 옵션이 있거나 전용으로 전환되었다.예로는 SWTPC, Gimix, Smoke Signal Broadcasting 등이 있습니다.모토로라는 또한 EXORmacs와 EXORset 개발 시스템을 구축했다.

히타치는 자체 6809 기반 머신인 MB-6890과 이후 S1을 생산했다.이것들은 주로 일본 시장용이었지만, 일부는 호주로 수출되어 판매되었으며, MB-6890은 아마도 Apple II를 지칭하는 "피치"로 불렸다.S1은 6809의 네이티브 64킬로바이트 주소 범위를 4KB 페이지에 최대 1메가바이트까지 확장한 페이징 하드웨어를 포함하고 있다는 점에서 주목할 만하다.이는 SWTPC, Gimix 및 기타 여러 공급업체에서 생산한 기계와 유사했습니다.TSC는 이러한 기계에서만 실행되는 Unix와 유사한 운영 체제 uniFlex를 생산했습니다.OS-9 Level II도 이러한 메모리 관리 기능을 활용했습니다.64KB가 넘는 메모리 어드레싱을 가진 대부분의 다른 컴퓨터들은 뱅크 스위칭에 한정되어 있었습니다.다만, 64KB의 모든 것을 단순히 메모리의 다른 섹션으로 바꾸지는 않았지만, 6809의 경우, 모토로라는 2KB 페이지에 [29]2MB의 MC6829 MMU 설계 매핑을 제공했습니다.

Vectrex 가정용 비디오 게임기

6809는 또한 다양한 비디오 게임 시스템에 사용되었다.68A09에서는 독특한 벡터 그래픽 기반의 벡트렉스 홈 비디오 게임기가 눈에 띄었다.또한 Milton Bradley Expansion(MBX) 시스템(TI-99/4A 가정용 컴퓨터용 아케이드 콘솔)과 1980년대 초중반에 출시된 일련의 아케이드 게임에도 사용되었다.Williams Electronics는 Defender, Stargate, Joust, Robotron: 2084, Sinistar 및 기타 게임에 배치된 프로세서의 다작 사용자였습니다.6809 CPU는 성공적인 Williams Pinball Controller의 핵심을 이루고 있습니다.코나미-1은 로큰로프, 가이루스, 심슨 [30]가족 등에서 코나미가 사용한 개량형 6809입니다.

Fairlight CMI(컴퓨터 악기) 시리즈 II는 OS-9를 실행하는 듀얼 6809 CPU를 사용했으며 음성 카드당 1개의 6809 CPU를 사용했다.6809는 오버하임(Xpander, Matrix 6/12/1000), PPG(Wave 2/2.2/2.3, Waveterm A), Ensoniq(미라지 샘플러, SDP-1, ESQ-1, SQ-80)와 같은 다른 제조업체의 음악 신시사이저에 자주 사용되었습니다.후자는 6809E를 메인 CPU로 사용했습니다.(E) 버전은 마이크로프로세서의 클럭을 사운드칩(Ensoniq 5503 DOC)에 동기화하기 위해 사용되었습니다.ESQ-1 및 SQ-80에서는 68B09E를 사용하여 DOC 칩에 액세스할 때 1MHz 버스 타이밍을 보장하기 위해 전용 아비터 로직이 필요합니다.

이전의 모토로라 제품과 달리 6809는 마이크로 컨트롤러 분야에서 널리 사용되지 않았습니다.1980년대에 여러 [31]제조업체가 만든 교통 신호 컨트롤러에 사용되었으며, 모토로라의 SMARTNET 및 SMARTZONE Trunked Central Controller(이하 "6809 컨트롤러")에도 사용되었습니다.이러한 컨트롤러는 Motorola의 많은 트렁크형 양방향 무선 통신 [32]시스템에서 중앙 프로세서로 사용되었습니다.

6809는 Mitel에 의해 SX20 Office Telephone System의 메인프로세서로 사용되었습니다.

버전

Motorola 6809는 원래 1MHz, 1.5MHz(68A09) 및 2MHz(68B09)의 속도로 생산되었습니다.더 빠른 버전은 나중에 히타치에 의해 생산되었다.모토로라는 향후 8비트 제품이 68000(68008)의 8비트 데이터 버스 버전에 기반할 것이라고 예상했기 때문에 6809는 거의 개선되지 않았다.명령어 세트가 약간 변경된 마이크로컨트롤러 버전인 6811은 21세기 후반기에 단종되었습니다.

Hitachi 6309는 추가 레지스터와 블록 이동, 추가 다중 명령 및 분할 명령을 포함한 추가 명령을 포함한 6809의 향상된 버전입니다.

레거시

모토로라는 2004년에 마이크로프로세서 부문을 분사했다.이 사업부는 이름을 프리스케일로 바꾸고 이후 NXP에 인수되었다.

모토로라와 히타치 모두 6809 프로세서나 파생 모델을 생산하지 않습니다.6809 코어는 VHDL로 제공되며 FPGA에 프로그래밍하여 최대 40MHz의 [citation needed]속도 정격의 임베디드 프로세서로 사용할 수 있습니다.일부 6809 opcode는 Freescale 내장 프로세서에도 탑재되어 있습니다.2015년, Freescale은 원래의 NMOS 디바이스의 드롭인 대체 및 카피로서 다시 한번 MC6809의 제조를 개시하도록 Rochester Electronics에 승인했습니다.프리스케일은 로체스터에게 오리지널 GDS를 공급했다.II 물리 설계 데이터베이스2016년 말, 로체스터의 MC6809(MC68A09 및 MC68B09 포함)는 완전 인정되어 생산되고 있습니다.

호주의 개발자 John Kent는 Motorola 6809 CPU를 HDL([33]하드웨어 기술 언어)로 합성했습니다.이것에 의해, 원래의 6809보다 훨씬 높은 클럭 속도로 6809 코어를 사용할 수 있게 되었습니다.게리 베커의 CoCo3FPGA는 Kent 6809 코어를 25MHz로 [34]가동합니다.로저 테일러의 성냥갑 CoCo는 7.16MHz로, 데이브 필립슨의 CoCoDEV는 [35]25MHz로 작동합니다.

묘사

일반적인 설계

6809의 내부 디자인은 마이크로코딩되지 않은 심플한 CPU 설계에 가깝습니다.대부분의 8비트 마이크로프로세서와 마찬가지로 6809 구현은 레지스터 전송 수준의 기계이며 중앙 PLA를 사용하여 명령 디코딩과 시퀀싱의 일부를 구현합니다.

6800 및 6502와 마찬가지로 6809는 2상 클럭을 사용하여 래치를 게이트합니다.이 2상 클럭 사이클은 이들 프로세서에서 전체 기계 사이클로 사용됩니다.간단한 명령어는 단 두세 번의 사이클로 실행할 수 있습니다.6809에는 내부 2상 클럭 제너레이터(외부 결정만 필요)가 있는 반면 6809E에는 외부 클럭 제너레이터가 필요합니다.68A09(E)나 68B09(E)등의 종류가 있습니다.내부 문자는 프로세서의 정격 클럭 속도를 나타냅니다.

6800, 6502, 6809의 클럭 시스템은 당시의 다른 프로세서와 다릅니다.예를 들어 Z80은 단일 외부 클럭을 사용하며 명령 프로세스의 내부 단계는 각 전환에서 계속됩니다.즉, 외부 클럭은 일반적으로 훨씬 더 빠르게 동작합니다.즉, 680x 설계는 일반적으로 1MHz 또는 2MHz로 동작하는 반면 Z80은 일반적으로 2MHz 또는 4MHz로 동작합니다.내부적으로는 680x는 느린 외부 클럭을 더 높은 빈도의 내부 스케줄로 변환했기 때문에 명령별로 외부 클럭을 비교할 때 대략 2배의 속도로 동작했습니다.

680x 스타일 액세스의 장점은 당시의 다이내믹 RAM 칩이 일반적으로 2MHz로 작동한다는 것입니다.사이클 타이밍에 의해 메모리버스의 빈자리가 보증되는 내부 클럭 기간이 있었습니다.이것에 의해, 컴퓨터 설계자는 CPU와 외부 디바이스(예를 들면 다이렉트 메모리 액세스 컨트롤러)간의 메모리 액세스를 인터리브 할 수 있게 되었습니다.두 칩을 모두 1MHz로 구동하고 순차적으로 밟으면 추가 복잡성이나 회로 없이 메모리 접근을 공유할 수 있다.버전 및 속도 등급에 따라 6800, 6502, 또는 6809에서는 일반적으로 단일 클럭 사이클의 약 40~60%를 메모리액세스에 사용할 수 있습니다.

등록 및 지시사항

프로세서 레지스터를 표시하는 6809 프로그래밍 모델

원래 6800에는 2개의 8비트 어큐뮬레이터, A와 B, 단일 16비트 인덱스 레지스터, X, 16비트 프로그램 카운터, PC, 16비트 스택 포인터, SP 및 8비트 상태 레지스터가 포함되어 있습니다.6809는 두 번째 인덱스 레지스터 Y, 두 번째 스택 포인터 U(원래 S의 이름을 변경하는 동안)를 추가했으며 A 및 B 레지스터를 단일 16비트 어큐뮬레이터 D로 취급할 수 있게 했습니다.또한 다이렉트 페이지의 베이스 주소를 설정하기 위해 다른 8비트 레지스터인 DP를 추가했습니다.이러한 추가는 6800 코드에서는 보이지 않았으며, 6809는 이전 [23]코드와 100% 소스 호환성이 있었습니다.

또 다른 중요한 추가 사항은 모든 데이터 조작 명령에 대한 프로그램-카운터 상대 주소 지정이었습니다.이는 위치 독립 코드의 핵심 추가 사항으로, 명령과 관련된 데이터를 참조할 수 있으며, 결과 메모리 위치가 존재하는 한 명령을 메모리 내에서 자유롭게 이동할 수 있습니다.시스템은 이전의 어드레싱 모드도 그대로 유지했지만, 새로운 어셈블러 언어에서는 이전에는 별개의 명령이었던 것이 이제 다른 명령에서는 다른 어드레싱 모드로 간주되었습니다.이로 인해 6800의 78개 명령에서 6809의 59개로 명령 수가 감소했습니다.이러한 새로운 모드는 이전에 분리된 명령과 동일한 opcode를 가지고 있었기 때문에 이러한 변경은 새로운 [16]코드를 작업하는 프로그래머에게만 볼 수 있었습니다.

명령어 세트와 레지스터 보어는 매우 직교하므로 6809는 동시대에 비해 프로그래밍이 용이합니다.6800과 마찬가지로 6809에는 Halt and Catch Fire(HCF)[36]라는 별명이 붙은 문서화되어 있지 않은 주소 버스테스트 명령이 포함되어 있습니다.

메모들

  1. ^ 미니컴퓨터의 명령어 세트를 에뮬레이트하려고 하고 훨씬 더 복잡했던 다른 초기 CPU 설계와는 대조적으로.
  2. ^ 다른 예로는 매트릭스 산술, Huffman 부호화/복호화, 통계 함수, 문자열 검색(예를 들어 Boyer-Moore 알고리즘에 의한) 및 트리 구조 관리가 있습니다.보다 큰 예는 Motorola의 6809 프로그래밍 매뉴얼에 기재되어 있습니다.이 매뉴얼에는 [15]ROM에 쓰기 위한 미니어처 운영체제인 assist09의 전체 목록이 포함되어 있습니다.
  3. ^ 이 제품은 Atari 8비트 제품군에서 사용되는 2MHz 버전에서도 널리 사용 가능했습니다.

레퍼런스

인용문

  1. ^ a b c 안크로나(1981년).
  2. ^ "Williams WPC - PinWiki". pinwiki.com. Retrieved 2022-07-30.
  3. ^ "Konami Dual 6809 Based Hardware". System 16.
  4. ^ "8080A microprocessor - DIP 40 package". CPU World.
  5. ^ a b "Moore's Law Milestones". IEEE. 30 April 2015.
  6. ^ Peddle, Chuck (12 June 2014). "Oral History of Chuck Peddle" (Interview). Interviewed by Doug Fairbairn and Stephen Diamond. Archived from the original on 2021-12-11.
  7. ^ "Motorola microprocessor set is 1 MHz n-MOS". Control Engineering. 21 (11): 11. November 1974. MC6800 마이크로프로세서 가격은 360달러였다.MC6850 비동기 통신 인터페이스 어댑터(ACIA)는 1975년 1분기에 도입될 예정입니다.
  8. ^ "MOS 6502 the second of a low cost high performance microprocessor family". Computer. IEEE Computer Society. 8 (9): 38–39. September 1975. doi:10.1109/C-M.1975.219074.
  9. ^ Cushman, Robert H. (September 20, 1975). "2-1/2 Generation μP's -$10 Parts That Perform Like Low-End Mini's" (PDF). EDN. Boston: Cahners Publishing. 20 (17): 36–42. Archived from the original (PDF) on 24 April 2016.
  10. ^ Motorola 6800 구술사(2008년), 페이지 10.
  11. ^ "Motorola 68000". The Vintage Technology Association. 17 May 2007.
  12. ^ 리터 & 보니 1979, 페이지 20, 26
  13. ^ 리터 & 보니 1979, 페이지 26
  14. ^ a b 리터 & 보니 1979, 페이지 20, 24
  15. ^ 매뉴얼 1983, 지하 1페이지
  16. ^ a b c 매뉴얼 1983, 1.2페이지
  17. ^ 매뉴얼 1983, 2.1–2.4페이지.
  18. ^ a b 매뉴얼 1983, 1.3페이지
  19. ^ 리터 & 보니 1979, 30페이지
  20. ^ 매뉴얼 1983, 4.
  21. ^ 수동 1983, 1.9페이지
  22. ^ 리터 & 보니 1979, 36페이지
  23. ^ a b 매뉴얼 1983, 1.1페이지.
  24. ^ Levine, John R. (2000) [October 1999]. "Chapter 1: Linking and Loading & Chapter 3: Object Files". Linkers and Loaders. The Morgan Kaufmann Series in Software Engineering and Programming (1 ed.). Morgan Kaufmann. ISBN 1-55860-496-0.
  25. ^ Gilbreath, Jim (September 1981). "A High-Level Language Benchmark". Byte. pp. 180–198.
  26. ^ Gilbreath, Jim; Gilbreath, Gary (January 1983). "Eratosthenes Revisited: Once More through the Sieve". BYTE. Vol. 8, no. 1. pp. 283–325.
  27. ^ "AgVision Videotex terminal". Vintage Computer. 2016-12-22. Retrieved 16 April 2018.
  28. ^ G. Pitre, Boisy; Loguidice, Bill (2013). CoCo: The Colorful History of Tandy's Underdog Computer. Europe: CR Press. p. 19. ISBN 9781466592483. Retrieved 16 February 2018.
  29. ^ "1981 Motorola Microprocessors Data Manual". 1981. Retrieved 2 April 2018.
  30. ^ Nicola Salmoria and the MAME Team. "konami: Portable Konami cpu emulator". Archived from the original on 2012-10-04. Retrieved 2012-10-21.
  31. ^ Robert J. Simpson; Raveendran Paramesran (1998). Advanced 8-bit Microprocessor, MC6809: Its Software, Hardware, Architecture & Interfacing Techniques. Springer. ISBN 978-981-3083-09-7.
  32. ^ "Motorola Type II SmartZone". The RadioReference Wiki.
  33. ^ "John Kent's Home Web Page".
  34. ^ "CoCo3FPGA - Davebiz Wiki".
  35. ^ "CoCoDEV - Davebiz Wiki".
  36. ^ John Bayko. "Great Microprocessors of the Present and the Past". Archived from the original on 2013-07-01. Retrieved 2013-07-01.

참고 문헌

추가 정보

데이터시트 및 매뉴얼
책들
  • 6809 어셈블리 언어 프로그래밍, 제1판, Lance Leventhal, 579페이지, 1981년, ISBN 0-931988-35-7. (아카이브)
  • MC6809 요리책, 제1판, Carl Warren, 180페이지, 1980년, ISBN 0-8306-9683-0. (아카이브)
  • 어드밴스드 8비트 마이크로프로세서: MC6809: 소프트웨어, 하드웨어, 아키텍처 및 인터페이스 기술, 제1판, Robert Simpson, 274페이지, 1998년, ISBN 978-9813083097
잡지들
  • 혁명을 위한 마이크로프로세서: 6809; Terry Ritter & Joel Boney (6809의 공동 설계자), BITE 매거진; 1979년 1월부터 2월까지 (아카이브)
  • MC6809 마이크로프로세서, Ian Powers, 마이크로프로세서, 제2권, 제3호, 1978년 7월, 페이지 162; ISSN 0308-5953, doi: 10.1016/0308-5953(78)90010-7.
레퍼런스 카드
  • MC6809 레퍼런스 카드, Motorola, 16페이지, 1981년 (아카이브)
  • 6809/6309 레퍼런스 카드, Chris Lomont, 10페이지, 2007년. (아카이브)

외부 링크

시뮬레이터/에뮬레이터
보드
FPGA