브레드 보드와 기본 전자 부품으로 간단한 컴퓨터를 만들 수 있습니까? 예를 들어 이런 방식으로 과학 용 계산기를 만드는 것이 가능합니까?
브레드 보드와 기본 전자 부품으로 간단한 컴퓨터를 만들 수 있습니까? 예를 들어 이런 방식으로 과학 용 계산기를 만드는 것이 가능합니까?
답변:
브레드 보드에 마이크로 컨트롤러를 배치하면 브레드 보드에 컴퓨터를 구축 할 자격이 있다는 것에 동의하지 않습니다. 키보드 및 디스플레이와 같은 I / O를 제외하고 마이크로 컨트롤러 자체는 거의 완전한 컴퓨터입니다. 브레드 보드에 놓고 몇 개의 전선을 연결하는 것은 사소한 일이며 10 분 안에 완료 할 수 있습니다.
OP가 "빵판과 기본 전자 부품으로 전체적으로 간단한 컴퓨터를 만들 수 있습니까?"
이제 기본 구성 요소로 만들어진 브레드 보드 (여러 브레드 보드)의 컴퓨터입니다 . 이에 대한 설명 은 여기에 있습니다 . 이 제품은 12 가지 유형의 74LS00 시리즈 IC로 구성되어 있습니다. (저는 트랜지스터로 돌아가고 싶지는 않습니다. 원래 PDP-8 은 소형 냉장고 크기였습니다 .)
공학용 계산기의 경우 위에 표시된 것과 같은 범용 컴퓨터를 구축 한 경우 과학 용 계산기로 프로그래밍 할 수 있습니다. 컴퓨터없이 논리 IC 만 사용하여 과학 용 계산기를 만드는 것은 매우 어려울 것입니다. 이와 같은 계산기 (Ti, HP 등)의 모든 제조업체는 특수한 대규모 IC를 사용했습니다 . 초기 4 비트 계산기 IC를 사용 하는 가정용 계산기 입니다.
컴퓨터를 최대한 빨리 가동하고 실행하려면 마이크로 컨트롤러를 사용하는 것이 좋습니다. 컴퓨터가 내부에서 작동하는 방식을 실제로 이해하려면 기본 IC 중 하나를 구축하는 것이 올바른 방법입니다.
그것은 가능할뿐만 아니라 실제로 그것을했습니다 : https://www.vttoth.com/CMS/projects/47 참조
브레드 보드 중 하나의 뒷면에있는 배선은 다음과 같습니다.
물론 "기본"으로 적합한 구성 요소에 따라 다릅니다. 필자의 경우 기본 구성 요소는 74 ... 시리즈 TTL 칩이며 대략 100 개입니다. 예를 들어 트랜지스터로 컴퓨터를 만들려면 너무 압도적 일 것입니다.
또한 내 4 비트 컴퓨터는 주로 메모리 제한 (256 개의 4 비트 니블) 때문에 과학적인 계산기로 사용할만큼 강력하지 않습니다. 그러나 페이징 메커니즘을 사용하여 주소 공간을 확장하는 것은 그리 어렵지 않으며 4096 개의 nybbles (12 비트 주소)로 충분할 수 있습니다. 65536 개의 nybbles (16 비트 주소)입니다.
그렇습니다.하지만 기본 구성 요소로 간주하는 것에 따라 과학 계산기를 제공하려면 브레드 보드가 몇 개 이상 필요합니다. 트랜지스터를 기본 구성 요소라고 부르는지 플립 플롭인지 여부 , EEPROM 또는 오래된 냉장고에서 납땜 할 수있는 것.
여기에 좋은 대답이 있지만 사람들이 종종 고려하지 않는 것을 지적하고 싶습니다. 컴퓨팅 장치의 역사를 살펴보면 나무 껍질과 못으로 컴퓨터를 만드는 데 어려움이 CPU 나 ALU가 아닙니다. 주요 문제는 기억이다. 전체 저장된 프로그램 개념이 작동하려면 엄청난 양이 필요하기 때문입니다. 몇 개의 플립 플롭과 NAND 게이트로 CPU를 만들 수 있습니다. 예를 들어 특정 제약 조건이있는 전력 전자 응용 제품의 경우 한 번만 69 개의 플립 플롭 (4 개의 16 비트 레지스터, 4 개의 플래그 및 FETCH / EXECUTE를 나타내는 1 개의 상태 레지스터 비트) 만 사용하는 마이크로 프로세서를 설계했습니다. 그것은 실리콘으로 구현되어 있으며 사람들은 소프트웨어를 실행합니다. 간단하고 파워 트랜지스터의 드레인 접점 크기에 맞습니다. 그러나 유용한 프로그램을 저장하는 데 필요한 메모리는 훨씬 더 큽니다.
초기에는 메모리가 디자인의 시작점이었습니다. 초기 전화 교환에서와 같이 쌍 안정 릴레이를 사용할 수 있습니다. 진공관이나 트랜지스터를 사용하여 플립 플롭을 만들 수 있습니다. CPU의 레지스터는 보통 이런 식으로 구현되었습니다. 그러나 프로그램 및 데이터 저장을 위해 종이 테이프, 자기 테이프, 회전 디스크 또는 회전 드럼이 사용되었습니다. 전자 장치에서 지속적으로 수신 및 재전송하는 강선의 음향 파까지. 당신이 생각할 수있는 것은 합리적인 비용으로 합리적인 시간 동안 약간의 비트를 보유 할 수 있습니다. 아폴로 궤도 선과 달 착륙선 컴퓨터는 밧줄로 감긴 코일 코어 메모리를 사용했습니다. 이들 모두는 다른 인터페이스 장비가 필요하며 CPU가 이러한 종류의 메모리에 액세스하는 데 필요한 것에 큰 영향을 미칩니다. 반도체 메모리는 1970 년대에 실제로 나타났습니다. 마침내 그런 종류의 복잡성을 해산합니다. 그러나 다시, 현대식 동적 RAM도 쉽지 않습니다.
그런 다음 컴퓨터의 입 / 출력 장비를 설계해야한다는 점이 추가되었습니다. 일부 전구는 일부 응용 프로그램에는 적합하지만 텍스트 입력 / 출력 또는 더 복잡한 것이 필요한 경우 다시 더 많은 어려움에 직면하게됩니다. 펀치 카드 리더, 프린터 및 용지 단말기는 당시 대기업이었습니다. 1978 년 VT100 텍스트 모드 비디오 터미널은 과학 용 계산기 브레드 보드 컴퓨터보다 훨씬 많은 메모리와 처리 성능을 제공합니다.
가능하지만 복잡성과 크기는 기본 전자 부품이라고하는 것에 달려 있습니다. ALU 및 시퀀서 로직은 약간 복잡하지만 실행 가능합니다. 메모리는 단순하지만 기본 패턴을 매우 많이 반복해야합니다 (1000 회 생각).
하드웨어 외에도 하드웨어에서 실행되는 소프트웨어가 필요합니다. 대략적으로 복잡한 CPU (일반적인 16 비트 명령어 8 비트 데이터 레벨)의 경우 소프트웨어 노력은 하드웨어 노력과 비교할 수 있습니다. (더 단순한 CPU를 위해서는 더 많은 SW 노력이 필요합니다.) 그리고 어떻게 SW를 머신에로드 할 것입니까?
버그 사냥 (및 해결)은 흥미로운 작업이 될 것입니다. VHDL에서 wrting을 시작하고 시뮬레이터에서 실행하는 것이 좋습니다. 이것은 많은 칩과 와이어보다 디버깅하기가 훨씬 쉽습니다.
내 두 학생은 시뮬레이션을 위해 VHDL 및 C 코드로 시작하여 ~ 1 년 안에 일부 기본 소프트웨어 (GCC 백엔드 포트 포함)로 16 비트 CPU를 만들었습니다. ALU는 74181 칩을 사용하고 메모리는 정적 RAM을 사용했으며 atMega를 사용하여 PC와 컴퓨터를 인터페이스했습니다. 컴퓨터는 부분적으로 솔더리스 브레드 보드와 PCB (8 16 비트 레지스터)에있었습니다. (이 두 사람은 보통 학생들 이 아니 었습니다 !)
네 가능합니다. 그러나 수학을하려면 마이크로 컨트롤러가 필요합니다. 이것은 예제 프로젝트입니다. AVR 마이크로 컨트롤러와 16 × 2 LCD 디스플레이를 사용합니다.