가능한 한 심플한 컴퓨터

Simple-As-Possible computer

Simple-As-Possible(SAP) 컴퓨터는 교육용으로 설계된 심플한 컴퓨터 아키텍처로 Albert Paul Malvino와 Jerald A의 Digital Computer Electronics에 설명되어 있습니다.브라운.[1] SAP 아키텍처는 Digital Computer Electronics에서 디지털 전자제품으로 복잡한 논리 시스템을 구축하고 분석하기 위한 본보기가 됩니다.

Digital Computer Electronics는 SAP-1, SAP-2 및 SAP-3으로 지정된 이 컴퓨터의 세 가지 버전을 순차적으로 개발합니다.마지막 2개는 각각 직전 버전을 기반으로 연산, 제어 흐름 및 입출력 기능을 추가함으로써 구축됩니다.SAP-2 및 SAP-3은 완전히 튜링 완료입니다.

컴퓨터의 최종 버전(SAP-3)이 실장하도록 설계되어 있는 명령어 세트 아키텍처(ISA)는 인텔 8080/8085 마이크로프로세서 패밀리의 ISA 이후 및 이후 버전과의 호환성이 있습니다.따라서 3가지 SAP 컴퓨터에서 구현되는 명령어는 각 경우에 8080/8085 [2]명령의 하위 집합입니다.

변종

벤 이터의 디자인

Ben Eatter의 브레드보드 SAP 컴퓨터의 개요.

YouTuber와 전 Khan Academy 직원인 Ben Eater는 피보나치 시퀀스를 계산하는 [3]것과 같은 간단한 프로그램을 실행할 수 있는 논리 칩(7400 시리즈)에서 브레드보드에 8비트 튜링 완전 SAP 컴퓨터를 구축하는 튜토리얼을 만들었습니다.이터의 디자인은 다음과 같은 모듈로 구성되어 있습니다.

  • 조정 가능한 속도(수동 모드) 클럭 모듈(수동 모드)로 전환하여 클럭 사이클을 진행할 수 있습니다.
  • 3개의 레지스터 모듈(레지스터 A, 레지스터 B 및 명령 레지스터)은 "CPU가 처리 중인 소량의 데이터를 저장"합니다.
  • 레지스터 A 및 B에서 8비트2의 보완정수를 가산 및 감산할 수 있는 연산논리유닛(ALU)이다.이 모듈에는 2개의 가능한 플래그(Z 및 C)가 있는 플래그 레지스터도 있습니다.Z는 "0"을 나타내며 ALU가 0을 출력하면 활성화됩니다.C는 "carry"의 약자로, ALU가 반출 비트를 생성하면 활성화됩니다.
  • 16바이트를 저장할 수 있는 RAM 모듈.즉, RAM은 4비트 주소 지정이 가능합니다.이터의 웹사이트에서 말하듯이, "이것은 단연 컴퓨터의 가장 큰 한계입니다."[4]
  • 현재 프로세서 명령을 추적하는 4비트 프로그램 카운터로, 주소 지정 가능한 4비트 RAM에 해당합니다.
  • 4개의 7 세그먼트 디스플레이에 내용을 표시하는 출력 레지스터는 부호 없는 정수와 2의 보완 부호 있는 정수를 모두 표시할 수 있습니다.7 세그먼트 디스플레이 출력은 Arduino 마이크로 컨트롤러를 사용하여 프로그래밍된 EEPROM에 의해 제어됩니다.
  • 이들 컴포넌트를 연결하는 버스.컴포넌트는 3스테이트 버퍼를 사용하여 버스에 접속합니다.
  • "프로세서가 인식하는 opcode와 각 [5]명령을 실행할 때 발생하는 현상"을 정의하는 "제어 논리" 모듈로 컴퓨터가 튜링 완전 상태가 되도록 합니다.CPU 마이크로코드는 Arduino 마이크로컨트롤러를 사용하여 EEPROM에 프로그래밍됩니다.

Ben Eatter의 디자인은 주로 Eatter's Reddit 포럼에서 여러 가지 다른 변종과 개선에 영감을 주었습니다.개선의 예는 다음과 같습니다.

  • 8비트 주소 공간 전체를 사용하여 256바이트를 저장할 수 있는 확장 RAM 모듈입니다.세그먼트 레지스터를 사용하면 RAM 모듈을 16비트 주소 공간으로 확장하여 8비트 컴퓨터의 표준과 일치시킬 수 있습니다.
  • 스택 포인터를 증감할 수 있는 스택레지스터

레퍼런스

  1. ^ Malvino, Albert Paul; Brown, Jerald A. (1993). Digital Computer Electronics (3 ed.). McGraw-Hill. pp. 140–212. ISBN 0-02-800594-5.
  2. ^ Malvino, Albert Paul; Brown, Jerald A. (1993). Digital Computer Electronics (3 ed.). McGraw-Hill. pp. 143–144. ISBN 0-02-800594-5.
  3. ^ "Geek Builds 8-Bit Computer From Scratch And Explains How Every Part Works". Fossbytes. 2017-05-01. Retrieved 2021-04-04.
  4. ^ Eater, Ben. "Random access memory (RAM) module". Ben Eater. Retrieved 2021-04-05.{{cite web}}: CS1 maint :url-status (링크)
  5. ^ Eater, Ben. "CPU control logic". Ben Eater. Retrieved 2021-04-05.{{cite web}}: CS1 maint :url-status (링크)

외부 링크