8비트 컴퓨터를 만들어 보았습니다. 해외에서는 자작으로 8비트 컴퓨터나 16비트 컴퓨터를 만드는 사람들이 꽤 많은데요. 저도 아주 오래전부터 꿈꾸고 있던 목표중 하나였습니다. 컴퓨터를 만드는 것이 쉬운 것이 아닌지라, 남의 작품도 열심히 쳐다보고, 분석도 해보고 제작자에게 문의 메일도 여러번 띄워보고 했습니다. ^^;; 어찌되었든 허접하지만, 개인적으로 자작 1호 컴퓨터가 되는 셈이네요.

 

 

8비트 컴퓨터, 게다가 BASIC 인터프리터를 내장한 컴퓨라고 한다면, 사진에서 보이는 것과 같은 컴퓨터가 제일 먼저 떠오르실겁니다. 이 밖에도 애플 II 시리즈나, MSX, 삼성의 SPC-1000과 같은 컴퓨터들이 먼저 연상됩니다. 그럴수밖에 없는 것이 국내에서 컴퓨터가 시작된 80년대 초반에는 출시되는 컴퓨터가 모두 그랬었기 때문이죠.

 

 

지만 실상은 위의 사진과 같은 터미널이 있어야 합니다. 정확히는 시리얼 터미널입니다. 입출력 장치가 별도로 없기 때문에 출력데이터를 시리얼로 보내면, 위의 터미널에서 표시해주는 방식입니다. 입력 또한 별도의 장치가 없기 때문에 키보드로 입력한 데이터가 터미널에서 전송해서 컴퓨터에서 받아들이는 형식입니다.

 

 

든 것은 이렇게 생겼습니다. 사진에서 왼쪽위에 있는 것이 제가 만든 것이고, 그 아래 있는 것은 시중에서 판매하는 브레드보드형 ATtiny 2313 키트입니다. 물론 키트를 조금 참고했습니다. 실제 사이즈는 옆에 있는 ATtiny2313 키트보다 1/2 정도 작습니다. 사이즈가 얼추 100원짜리보다 조금 크네요.

 

SMD를 사용하면 저 사이즈의 1/2 사이즈까지 줄일수도 있겠습니다만, 자작으로는 아마 한계일것 같습니다. 만드느라 목이 다 뻐근하네요. ^^;;  리셋회로 및 클럭회로, 기타 회로는 칩 하부의 IC 소켓안에 거의 다 집어 넣었서 외부에서는 달랑 ATtiny2313 IC랑 3개의 포트, 전원 LED만 보입니다 ^^;;

 

니터와 키보드는 앞에서 언급한대로 시리얼을 통해서 사용할 수 있습니다. 즉, 예전에 사용하던 더미터 미널이나, 데이터 터미널, 하이텔 단말기등에 연결해서 사용하거나, PC에서 흔히 쓰는 하이퍼터미널 및 기타 비슷한 프로그램들로 모니터와 키보드를 대신합니다.

 

모리 용량이 극히 작기 때문에 제한된 제어나 센싱용도로 사용할 수 있는데, 간단히 라인트레이서나, 날씨를 파악하는 장치, LED를 사용한 프로젝트나, 기타 등등 좀 손쉽고 간단한쪽에 적용하기 편합니다. 어쨌든 두번다시 만들고 싶지는 않네요. 작업상 편의때문에 양면기판을 사용했지만, 단면기판으로도 동일한 크기와 방법으로 만들수 있을것 같습니다 ^^;;

 

 

원도 참 아슬아슬하게 집어넣었네요 ^^;; 사진에서 보이는 검은색 6핀은 AVR의 ISP 핀 헤더입니다. 그 왼쪽의 붉은색 3핀 포트는 시리얼 통신용입니다. 그 아래 백색은 뭐, 전원 연결이 되겠습니다 ^^ 대충의 스펙을 살펴보면,

 

CPU : ATMEL ATtiny 2313 (1~20Mhz, 현재 10Mhz) - ATtiny 2313A 또는 AT90S2313 사용해도 무방

ROM : 2K Byte (Flash Type), 128 Byte (EEPROM) - EEPROM은 프로그램 SAVE용도

RAM : 128 Byte

 

기능 및 특징 :

- 50여개의 예약어로 구성된 BASIC 인터프리터(컴파일러 아님) 내장 - Tiny BASIC 계열

- 터미널 방식의 모니터와 키보드 사용 (시리얼, PC 하이퍼터미널 및 동부류의 프로그램 등)

- 전이중방식(Full Duplex) 시리얼 통신, 6핀 In-System Programming 지원

- 8비트 확장 I/O 및 7비트 확장 I/O 사용가능, 제어 및 센서 연결 가능

- 일반 입출력 제어 및 PWM 제어 가능 (BASIC 수준에서), 5V 전원 사용

- 브레드보드에 장착해서 용도에 맞는 회로를 구성하면 다양한 제어 및 동작을 할 수 있음

 

 

리얼 터미널을 통한 동작방법에 이해가 안가시는 분들도 계실겁니다. 위의 사진은 최초의 개인용 컴퓨터인 MITS사의 Altair 8800입니다. 본체는 왼쪽의 청회색 금속 케이스입니다. 키보드와 모니터는 오른쪽의 ADM-3 터미널이구요. 요새 쓰는 IBM-PC도 본체와 키보드 모니터가 분리되어 있으니 비슷하게 생각되시겠지만, 사실은 완전히 다른 방식입니다.

 

가 제작한 AVR 컴퓨터나, Altair 8800은 본체 내부에 모니터를 제어할 수 있는 회로나, 키보드를 입력받는 회로자체가 업습니다. PC는 그래픽 카드를 내장하고, 키보드 인터페이스는 메인보드에 포함되어 있지만, 위의 컴퓨터들은 그런 능력이 전혀 없기에 오직 시리얼통신이라는 방법을 통해서 터미널의 모니터와 키보드를 빌리는 것입니다.

 

미널들도 실제로는 내부에 ROM과 RAM, CPU가 들어있는 하나의 컴퓨터와 같습니다. 단지 펌웨어를 통신 터미널을 위한 코드가 들어있어서, 우리가 흔히 쓰는 BASIC 인터프리터가 뜨지 않습니다. 따라서 터미널도 펌웨어를 고치면, 컴퓨터로 변신도 가능합니다. 어쨌든, 그렇습니다 ^^;;

 

 

가 만든 AVR 컴퓨터나, Altair 8800이나 실행화면은 위의 사진과 비슷합니다. 내부 계산이나 실행은 터미널과는 전혀 무관하게 동작하고, 터미널은 컴퓨터에서 전송되어진 화면만 보여줄 뿐입니다. 키보드는 반대로 입력한 것을 컴퓨터로 전송할 뿐이지요 ^^ 주로 50~70년대 컴퓨터들은 이런 방식을 사용했습니다. 키보드가 합체되고 모니터 출력이 본체내에서 가능한 8비트 컴퓨터의 등장은 70년대 중후반부터 등장하게 되었죠.

 

ATtiny 2313 AVR 컴퓨터는 RAM의 용량이 128 바이트밖에 되지 않기 때문에, 아주 간단한 프로그램밖에 만들지 못합니다. 그래서 실행문들도 함축되어 있습니다. 예를 들어 PRINT 문은 "?" 로 표시를 한다던가 그런 방식이죠. 다른 명령어들도 그러한 식으로 축약한게 많습니다. 이것도 만든지 벌써 한 2년 되는 것 같습니다. 만들어 놓고, 테스트만 한 후에 관심을 끊었었다는... ㅠㅠ

 

제 다시 꺼내서 슬슬 이것저것 테스트도 해보고, 회로 구성해서 모터제어나 간단한 LED 제어 등과 같은 것을 하는데 한번씩 써봐야겠습니다. 단순히 교육용 차원일뿐 실제로 적용하기 위해서는 RAM용량이 좀 더 큰 녀석으로 모니터 출력 인터페이스와 키보드 입력 인터페이스를 첨가해서 진짜 8비트 컴퓨터처럼 만들어볼 생각입니다. 사실 이것도 진행하던 것이 있었는데, 올해는 좀 일이 있어서 중도에 포기, 또는 홀드상태인게 정말 많군요. ㅠㅠ

 

 

 

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by zecca371

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2012.11.23 15:16 신고
    댓글 주소 수정/삭제 댓글
    귀엽지만, 구색은 전부 갖추고 있군요!
    멋진 작품 잘 감상했습니다.


BLOG main image
zecca의 ante-workspace
zecca의 넋두리 공간입니다... 주로 어떤 작업, 구상을 웹에 올리기 전 정리하는 공간(ante-workspace)이죠... 넋두리도 있을테고, 컴퓨터에 관련된 여러정보나, 제품에 대한 수리방법, 팁 등 다양한 정보가 올라오니 많이많이 들러주세요. 아참, 퍼가실때는 반드시 출처를 명기해 주시기 바랍니다. 네이버 오픈캐스트의 경우 어차피 링크 형식이니 그냥 퍼가셔도 됩니다 ^^ by zecca371

공지사항

카테고리

분류 전체보기 (192)
게임기/콘솔 (41)
8비트 컴퓨터 (13)
80's 이전 컴퓨터들 (7)
16/32Bit/웍스테이션 (8)
개조/수리/제작 관련 (30)
게임/애니/음악/영화 (38)
전자회로/설계/MCU (13)
취미/관심분야 (17)
넋두리/주절주절 (17)
비공개 자료들 (8)

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

글 보관함

달력

«   2017/06   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
Total : 668,738
Today : 128 Yesterday : 234