검수요청.png검수요청.png

마이크로컴퓨터

해시넷
inseong613 (토론 | 기여)님의 2021년 8월 9일 (월) 17:23 판
이동: 둘러보기, 검색

마이크로컴퓨터마이크로프로세서중앙 처리 장치로 사용하는 컴퓨터를 가리킨다. 물리적으로 메인 프레임과 미니컴퓨터에 견주어 작은 편이다. 수많은 마이크로컴퓨터들 또한 개인용 컴퓨터라고 할 수 있다.[1]

마이크로 컴퓨터

개요

마이크로컴퓨터란 중앙처리장치(CPU)를 1개의 LSI(고밀도 집적회로) 칩에 접전된 마이크로프로세서로 만든 초소형 컴퓨터. 약칭으로 마이 컴이라고도 한다. 마이크로프로세서는 원칩 CPU라고도 하며, 이와 같은 LSI 소자는 대량생산되어 값이 싸므로 가전제품, 승용차, 계측기 등의 기기나 개인용 컴퓨터 워드프로세서, 인텔리전트 단말기 등의 심장부로 많이 사용되고 있다. 마이크로프로세서가 최초로 등장한 것은 1971년 미국의 인텔사가 개발한 4004형 소자이다. 이것은 한 번에 취급되는 데이터의 폭이 겨우 4비트에 불과한 간단한 것이고 1개의 LSI에 집적된 트랜지스터 수는 2700개에 지나지 않았다. 그러나 그 후 집적도가 향상되어 한 번에 8비트의 데이터가 처리되는 Z-80(트랜지스터 수 8400개)이 등장했다. 여기서 주목되는 소자는 원칩 마이 컴이라고 하는 인텔사의 8048(트랜지스터 수 12400개)과 같은 LSI이다. 이런 소자는 간단한 중앙처리장치 외에 프로그램을 넣는 전용 기억장치, 가변 데이터를 넣는 기억 자이, 외부와 데이터를 주고받기 위한 입출력 회로까지 모두 1개의 LSI 내에 들어가게 되어 있다. 현재의 범용 소형컴퓨터 중 8비트 형에서는 Z 80, 16비트 형에서는 인텔사의 8086(트랜지스터 수 29000개), 모트롤 라사의 68000(트랜지스터 수 75000개) 등 그와 동등한 것이 널리 사용되고 있다.[2]

역사

  • 1984년 트랜지스터가 발명된 이래 반도체 집적 기술이 급속히 발전하여 진공관에 비하여 소형 경량이면서 소비전력이 적은 능동소자를 작은 영역인 칩 안에 집적시키는 기술이 비약적으로 증가되는 경향을 보이고 있다.[3]
  • 1960년대 중반부터는 반도체 제작 기술이 발전하여 한 개의 집적회로인 실리콘 칩 사이에 20~100개의 트랜지스터를 집적한 소규모 집적회로가 만들어졌으며, 1000여 개 이상의 트랜지스터를 집적할 수 있는 중간 규모 집적회로와 5MM의 칩 상에 1만 개 이상 트랜지스터를 집적할 수 있는 대규모 집적회로를 만들 수 있는 기술로 발전되었다.[3]
  • 1973년 인텔사의 8080 아키텍처는 8008과 매우 다르지만 새로운 프로세서의 소프트웨어로 8008의 소프트웨어와 호환성이 있으며 이 새로운 마이크로프로세서에는 기존 명령 48개에다 새로운 명령 30개를 추가하여 제2세대 마이크로프로세서가 탄생되었다.[3]
  • 그 후 모토로라에서 개발한 8비트 마이크로프로세서는 프로그램을 할 수 있는 인터페이스를 포함한 디바이스 패밀리가 있고, 프로세서에 쉽게 접속할 수 있을 뿐만 아니라 디바이스 모두가 단일 5V 전원을 사용하는 MC 6800 과 내쇼날 세미컨덕터사의 6809가 개발되어 발표되었으며, 인텔사에서도 8080A를 개량한 8085가 발표되었다 또 8080A의 기능과 완전 호환성이 있으며 단점을 보강하고, 새롭게 명령을 78개나 추가하여 명령어 수가 총 158개인 ZILOG 사의 Z-80이 발표되었다.[3]

개발 시스템

하드웨어를 조정하고 소프트웨어를 개발하며 오류를 보정하기 위한 장치. 마이크로컴퓨터의 설계와 개발에 필요한 요구를 충족시킨다. 프로그램들을 구성하며 컴퓨터의 중앙 처리 장치, 기억 장치, 입출력 보조 시스템과 자동 오류 보정 작동을 모방할 수 있다. 또 마이크로컴퓨터 시스템 개발 주기를 매우 빠르게 한다. 하드웨어를 개발할 때 그 기능을 소프트웨어 모방을 통하여 쉽게 설계하고 결함을 수정하도록 고안되었다. 따라서 하드웨어를 개발할 때 이 시스템을 이용하면, 반복해서 하드웨어를 재구성하여 테스트할 필요 없이 사용자는 프로그램을 통해서 그 기능을 쉽게 설계하고 테스트할 수 있기 때문에 개발 시간을 많이 단축할 수 있다.[4]

개발 하드웨어

마이크로컴퓨터 개발 하드웨어는 제품 설계 주기를 단순하게 하기 위하여 설계된 것으로, 내재하는 온라인 하드웨어와 소프트웨어는 오류 수정에 필요한 프로그램을 작성하기 위한 보조 기능은 물론 인터페이스나 관련된 하드웨어의 검사를 위한 기능도 제공한다. 주변 기기 인터페이스는 전신 타자기, 고속 종이테이프 장치, 자기테이프 카세트를 갖춘 직렬 라인 프린터가 있다. 또한 이 시스템의 기판 단위 모듈은 마이크로컴퓨터, 기억 장치, 입출력 모듈로부터 범용 배열에 이르기까지 매우 다양하다.[5]

개발용 소프트웨어

마이크로컴퓨터에서 어떤 일을 처리하려면 미리 그 처리 내용을 정확하게 한 프로그램을 작성하여 읽기용 기억장치(ROM) 또는 프로그램 가능 읽기용 기억 장치(PROM)에 기억시켜야 하는데, 이를 위해 각 메이커가 부여하는 각종 개발용 지원 시스템이나 소프트웨어를 말한다.[6]

타이밍

설계자가 각 명령 스텝을 수행해 주는 계획을 작성하는 데는 비동기 논리와 동기 논리의 두 가지 방식이 있다. 비동기 논리에서는 모든 명령의 각 스텝이 다음의 적당한 스텝을 발생시키는 자체 논리 순서를 가지고 있다. 단 호출 명령 순서는 모든 명령에 공통된다. 비동기 논리는 다음과 같은 두 가지 중요한 제약점이 있다.[7]

  1. CPU 논리를 더욱 복잡하게 한다.[7]
  2. CPU를 외부 논리 모듈에 접했을 때 양쪽이 서로 모순되는 타이밍 요청을 하는 경우 상당한 문제점이 생긴다는 것이다. 동기 회로는 값싸고 설계하기 쉽다. 이것은 클록 신호 각 펄스의 한끝에 동작을 발생시키게 되어 있으며, 각 클록 펄스는 고정된 시간 간격을 가지고 있다.[7]

특징

마이크로컴퓨터에서는 프로그램에 따라서 시스템 전체의 동작을 제어하고 있다. 마이크로컴퓨터는 논리 소자로 구성되어 있으며, 2진수로 동작하기 때문에, 마이크로컴퓨터의 동작을 규정하는 프로그램도 2진수로 줄 필요가 있다. 이 컴퓨터가 이해할 수 있는 2진수의 언어를 기계어라 한다. 그러나, 기계어는 2진수의 나열이며, 인간으로서는 대단히 읽기 어려운 언어이다. 이 때문에 보통 프로그램을 개발하는 경우에는 인간이 이해하기 쉬운 언어로 프로그램을 기술하고, 마이크로컴퓨터에 줄 때에 기계어로 변환하는 방법이 취해지고 있다. 프로그램 언어에는 그 진화의 정도에 따라 크게 나누어, 어셈블리 언어와 고급 언어가 있다.[8]

어셈블리 언어

어셈블리 언어는 니모닉이라고 하는 기계어와 1 대 1에 대응한 코드로 기술되는 언어이다. 기계어로 변환하기 위한 프로그램을 어셈블러라고 한다. 어셈블러에는 생성된 기계어가 메모리의 주소에 절대적으로 할당되는 절대적 어셈블러와 메모리의 임의의 주소에 재배치 가능한 기계어를 출력하는 리로케이터블 어셈블러가 있다.[8]

고급언어

고급언어인 C언어, FORTRAN, BASIC 등으로 대표되는 고급언어는 어셈블리 언어와 비교하면, 인간의 말에 가깝기 때문에 프로그램 개발이 쉬우며, 기종의 다른 마이크로컴퓨터에도 이식이 가능하다. 기계어의 변환에 사용하는 컴파일러는 어셈블러와는 다르며, 하나의 소스 스테이트먼트를 여러 개의 기계어로 변환한다. 그 때문에 변환할 때에는 프로그램의 메모리 효율에 장황도가 나온다.[8]

분류

마이크로컴퓨터는 마이크로프로세서, 기억장치 RAM 및 ROM, 입출력 장치가 모여서 이루어진 것이다.[9]

마이크로프로세서

인텔 4004 마이크로프로세서

마이크로프로세서는 2가지 형태로 나뉜다. 하나는 CPU 형 마이크로프로세서 또 다른 하나는 단일 칩 마이크로컴퓨터이다. CPU 형 마이크로프로세서는 CPU 기능 대부분을 칩 하나에 집적하고, CPU 형 마이크로프로세서를 중심으로 ROM, RAM, 입출력장치 등을 추가하여 마이크로컴퓨터를 구성할 수 있다. 단일 칩 마이크로컴퓨터는 마이크로컴퓨터에 들어가는 모든 부품들을 하나의 반도체 칩에 집적한 것이다. 연산용과 제어용으로 분류하며, 제어용 단일 칩 마이크로컴퓨터를 마이크로 컨트롤러라고 하고 8051, AVR, PIC 등이 있다.[10]

인텔의 8051 계열

  • 내부 데이터 RAM 128바이트
  • 내장 특수 기능 레지스터 128바이트
  • 내부 프로그램 메모리 4K 바이트
  • 외부 확장 프로그램 메모리 60K 바이트
  • 외부 프로그램 메모리 4K 바이트[10]

마이크로칩의 PIC 계열

  • RISC 방식의 8비트 마이크로컨트롤러
  • 속도, 내부 메모리 용량, 내장 디바이스 특성에 따라 PIC12, PIC14, PIC16, PIC17, PIC18 계열이 있다.
  • 동작 전원 범위가 넓고, 소비 전류는 수 mA 이하며, 파워 ON Reset과 원 칩 타이머, ROM 등을 내장하고 있어 소형 제품을 만드는데 적합하다.[10]

아트멜의 AVR 계열

  • ATiny, AT90S, ATmega 계열이 있다.
  • 동작 전원 범위가 넓고, 프로그램 코드를 저장할 플래시 메모리와 데이터를 저장할 EEPROM, SRAM 등 다양한 내부 메모리를 제공한다.
  • 모든 계열이 ROM writer와 같은 별도의 장비 없이 PC에서 AVR의 내부 플래시 메모리로 프로그램을 저장하는 ISP 기능을 갖추고 있다.[10]

종류

마이크로컴퓨터의 종류로는 슈퍼 마이크로컴퓨터, 데스크톱 컴퓨터, 랩톱 컴퓨터, 팝탑 컴퓨터가 있다.[11]

슈퍼 마이크로 컴퓨터

구동 시기를 기준으로 일반적인 컴퓨터에 비해 월등한 연산 능력을 보유한 컴퓨터이다. 시기가 중요한 이유는 시대에 따라 컴퓨터의 연산력은 천차만별이기 때문이다. 컴퓨터 분야의 연산량의 증가 속도가 매우 빠른지라 10년 전 세계 최고 수준의 컴퓨터라도 현재에는 ‘슈퍼컴퓨터’라는 칭호를 붙여주기도 아까운 경우가 대부분이다.[12]

데스크톱 컴퓨터

데스크톱 컴퓨터는 책상이나 테이블 등 정해진 위치에서 사용하기 위해 디자인된 컴퓨터이다. 사이즈가 크지만 게임용 PC 등 고사양의 컴퓨터에 필요한 넉넉한 전원을 확보할 수 있는 장점이 있다. 노트북 컴퓨터, PDA와 같은 휴대용 컴퓨터와 구별된다. 데스크톱 컴퓨터들은 또한 마이크로컴퓨터라고도 알려져 있다.[13]

휴대형 랩톱 컴퓨터

랩톱 컴퓨터 또는 노트북 컴퓨터는 개인용 컴퓨터를 휴대할 수 있도록 작은 크기로 제작한 컴퓨터이다. 현재는 15인치 이상의 랩톱도 출시된다.[14]

팜탑 컴퓨터

팜탑 컴퓨터는 소형인 PDA나 컴퓨터 기종 중 키보드와 디스플레이를 탑재한 것을 이르는 말이다. 데스크톱이 책상 위에 놓을 수 있는 폼팩터의 컴퓨터이고, 랩톱이 무릎 위에 놓을 수 있는 수준이라면 팜탑은 손바닥 위에 올려놓을 수 있는 컴퓨터이다.[15]

구성

마이크로 컴퓨터의 구성

마이크로컴퓨터를 구성하는 여러 가지 부품. 마이크로컴퓨터는 몇 개의 대규모 집적 회로 칩으로 된 작은 디지털 컴퓨터이다. 중앙 처리 장치(CPU)는 하나 또는 여러 개의 LSI 소자로 되어 있으며, 그 밖에 프로그램과 자료를 위한 읽기용 기억 장치(ROM), 클럭 회로, 입출력 접속 장치, 선별 레지스터, 제어 회로 등이 필요하다.[16] 마이크로컴퓨터는 연산이나 조건 판단을 마이크로프로세서, 데이터나 프로그램을 기억하는 메모리, 센서나 스위치 입력이나 모터 구동을 담당하는 입출력 장치 등으로 구성된다. 우리가 흔히 쓰는 PC도 입출력장치가 다양할 뿐 기본적인 구조는 동일하다.[17]



구조

마이크로 컴퓨터의 구조

마이크로컴퓨터 구조는 한번 실행에 처리할 수 있는 데이터 슬라이스의 크기와 데이터가 저장될 수 있는 메모리 셀의 개수를 나타내는 비트 수 (8비트, 16비트, 32비트 등)로 나누어진다. 마이크로컴퓨터 구조는 정의된 비트 수가 많을수록 전체 명령을 수행하는 속도가 빠르다. 일반적으로 마이크로컴퓨터 구조에는 사용 가능한 레지스터의 개수, 사용방법, 하드웨어 인터럽트 구조, 기억 장치로의 자료 통로, 중앙 처리 장치로의 자료 통로 등이 포함되어 있다. 대부분의 구조는 중앙 처리 장치 위주, 기억 장치 위주, 비트 슬라이스 등으로 구분된다.[18] 마이크로프로세서는 외부와 어드레스, 데이터, 컨트롤 버스와 의 소소 통을 한다. 또한 마이크로프로세서 내부와 마이크로컴퓨터의 전체 동작을 동기화 시키기 위해 시간 기준이 필요한데 수정 발진자 등으로 기준 클록을 넣어준다. 마이크로프로세서 내부에는 명령을 해독하는 부분, 수치 연산을 행하는 부분, 버스를 제어하는 부분 등이 있다.[17]

각주

  1. 마이크로컴퓨터〉, 《위키백과》
  2. 마이크로컴퓨터〉, 《사이언스올》
  3. 3.0 3.1 3.2 3.3 마이크로컴퓨터에대하여〉, 《교보문고》
  4. 마이크로컴퓨터 개발 시스템〉, 《네이버 지식백과》
  5. 마이크로컴퓨터 개발 하드웨어〉, 《네이버 지식백과》
  6. 마이크로컴퓨터 개발 소프트웨어〉, 《네이버 지식백과》
  7. 7.0 7.1 7.2 마이크로컴퓨터 타이밍〉, 《네이버 지식백과》
  8. 8.0 8.1 8.2 안그래여, 〈마이크로컴퓨터란?〉, 《네이버 블로그》, 2004-04-03
  9. 현경, 〈마이크로컴퓨터 종류 정의 응용제어〉, 《티스토리》, 2019-04-24
  10. 10.0 10.1 10.2 10.3 Oo, 〈마이크로프로세서의 개요〉, 《네이버 블로그》, 2016-09-08
  11. newind2000, 〈마이크로 컴퓨터와 ADC & DAC〉, 《티스토리》, 2015-02-02
  12. 슈퍼컴퓨터〉, 《나무위키》
  13. 데스크톱 컴퓨터〉, 《위키백과》
  14. 랩톱 컴퓨터〉, 《위키백과》
  15. 팜톱 컴퓨터〉, 《위키백과》
  16. 마이크로컴퓨터 구성요소〉, 《네이버 지식백과》
  17. 17.0 17.1 CUE, 〈마이크로 컴퓨터의 구조 & 8051〉, 《이글루》, 2011-10-23
  18. 마이크로컴퓨터 구조〉, 《네이버 지식백과》

참고자료

같이보기

  검수요청.png검수요청.png 이 마이크로컴퓨터 문서는 컴퓨터에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.