KR19990065663A - 단일칩 마이크로 컨트롤러 유닛 - Google Patents

단일칩 마이크로 컨트롤러 유닛 Download PDF

Info

Publication number
KR19990065663A
KR19990065663A KR1019980001050A KR19980001050A KR19990065663A KR 19990065663 A KR19990065663 A KR 19990065663A KR 1019980001050 A KR1019980001050 A KR 1019980001050A KR 19980001050 A KR19980001050 A KR 19980001050A KR 19990065663 A KR19990065663 A KR 19990065663A
Authority
KR
South Korea
Prior art keywords
bus
fpga
unit
central processing
processing unit
Prior art date
Application number
KR1019980001050A
Other languages
English (en)
Other versions
KR100268903B1 (ko
Inventor
이대희
Original Assignee
구본준
엘지반도체 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구본준, 엘지반도체 주식회사 filed Critical 구본준
Priority to KR1019980001050A priority Critical patent/KR100268903B1/ko
Publication of KR19990065663A publication Critical patent/KR19990065663A/ko
Application granted granted Critical
Publication of KR100268903B1 publication Critical patent/KR100268903B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Microcomputers (AREA)

Abstract

본 발명은 내부에 FPGA를 구성하여 고정된 로직(Fixed Logic)외에도 프로그래머블 로직의 구현이 가능하도록한 단일칩 마이크로 컨트롤러 유닛에 관한 것으로, 시스템 전체 블록들을 제어하는 중앙 처리 장치와,상기 중앙 처리 장치의 제어에 의한 데이터 처리에 따른 여러 정보를 저장 출력하고 시스템 프로그램을 저장하는 메모리들과,사용자가 시스템의 환경에 따라 주변 장치들을 제어하고 데이터를 처리할 수 있도록 프로그램이 가능한 FPGA와,상기 FPGA를 이용한 시스템 환경에 따른 부가 기능을 구현하기 위한 제어를 하는 FPGA 컨트롤 로직부와,각 모듈간의 정보를 교환할 수 있는 통로로 사용되는 버스 라인과,상기 버스 라인들에 연결되어 중앙 처리 장치 또는 FPGA의 프로그램에 의해 제어되는 주변 장치들을 포함하여 구성된다.

Description

단일칩 마이크로 컨트롤러 유닛
본 발명은 마이크로 컨트롤러 유닛(MCU)에 관한 것으로, 특히 내부에 FPGA를 구성하여 고정된 로직(Fixed Logic)외에도 프로그래머블 로직의 구현이 가능하도록한 단일칩 마이크로 컨트롤러 유닛에 관한 것이다.
이하, 첨부된 도면을 참고하여 종래 기술의 마이크로 컨트롤러 유닛에 관하여 설명하면 다음과 같다.
도 1은 종래 기술의 MCU의 구성 블록도이다.
종래 기술의 마이크로 컨트롤러 유닛은 단일칩상에 MCU의 핵심 제어 기능을 수행하는 CPU(1)와 메모리들 그리고 인터럽트 컨트롤러,타이머,직렬 입출력 수단,병렬 입출력 수단 등의 주변 장치들로 크게 구성된다.
그 상세 구성은 다음과 같다.
먼저, 시스템 전체 블록들을 제어하는 CPU(Central Processing Unit)(1)와, 상기 CPU(1)의 제어에 의한 데이터 처리에 따른 여러 정보를 저장 출력하고 시스템 프로그램을 저장하는 ROM(2),RAM(3)과, 각 모듈간의 정보를 교환할 수 있는 통로로 사용되는 시스템 버스(4),주변 버스(5)와, 상기 시스템 버스(4)를 통하여 제어되어 버스에 대한 명령 신호(command signal), 제어 신호를 발생하는 버스 컨트롤러(6),시스템의 복제 동작을 하기 위한 에뮬레이터 인터페이스(8), 오실레이터(7),DMAC(9),칩 테스트 포트(10)들을 포함하는 주변 장치들, 상기 주변 버스(5)를 통한 CPU(1)의 제어에 의해 데이터의 병렬 입출력 포트로 사용되는 병렬 입출력부(11),시스템의 인터럽트 기능을 수행하는 인터럽트부(12),WDT(Watch Dog Timer)(13),타이머/카운터부(14),데이터의 직렬 입출력 포트로 사용되는 직렬입출력부(15),A/D 변환부(16) 등을 포함하는 주변 장치들로 구성된다.
시스템 버스(4)를 통한 주변 장치의 제어,데이터 처리는 주로 고속으로 이루어지고, 주변 버스(Peripheral Bus)(5)를 통한 주변 장치의 제어,데이터 처리는 주로 저속으로 이루어진다.
상기 DMAC(Direct Memory Access Controller)(9)는 CPU시스템에서 주변 장치가 CPU를 멈추게하여 버스의 점유권을 획득하고, CPU의 소프트웨어적 동작에 의하지 않고 데이터 전송을 실행하는 블록이다.
그리고 칩 테스트 포트(10)는 칩 내부의 구성 및 동작의 테스트 동작에서 테스트 포트로 사용되는 것이다.
이와 같은 종래 기술의 원칩 마이크로 컨트롤러는 CPU(1)의 제어에 의해 데이터 처리가 이루어지는 것으로 CPU(1)가 내부의 ROM(2),RAM(3) 등의 메모리에서 처리해야할 명령어를 읽어오고(Fectch) 이를 해석하며(Decode) 그 명령을 실행(Execution)하는 동작을 한다.
명령어를 읽어오는 페치 동작은 CPU(1)의 작동에서 메모리상에서 데이터를 판독하여 이 판독한 데이터가 어떠한 명령인가를 해석하기 위하여 제어 부분에 데이터를 보낼때까지를 말한다.
그리고 CPU(1)가 명령을 실행하는 순서는 다음과 같다.
먼저, CPU(1)는 ROM(2),RAM(3)의 메모리에 대하여 어느곳의 번지를 판독하는가를 지정하기 위하여 CPU(1)측에서 번지를 지정해 준다.
번지의 확정에 따라 메모리는 데이터를 출력하고 CPU(1)는 이것을 받아서 다시 데이터를 받아서 데이터를 해석하는 부분에 전송한다.
데이터를 해석하는 부분에서는 이것이 명령인가 명령에 부수되는 데이터인가를 조사한다.
CPU(1)는 해석한 명령에 대응하는 실제의 동작 즉, 실행을 하게된다.
그러나 이와 같은 종래 기술의 MCU에서는 제공되는 주변 장치들이 생산자가 그 기능을 사전에 정의하여 H/W 설계자에 제공하는 것이기 때문에 시스템마다 변화하는 환경에 따라 적용하여 사용하기가 어려워 H/W 설계자가 시스템 환경에 MCU를 맞추기 위해서는 다음과 같은 방법을 이용한다.
첫째, 시스템 환경에 맞는 로직을 갖는 칩으로 바꾸어 사용하거나, 별도의 FPGA를 사용한다.
둘째, H/W 설계자가 전용 칩을 설계하여 생산자에게 의뢰하거나 H/W 설계자가 구성한 시스템 자체를 생산자에게 의뢰한다.
그러나 이와 같은 방법들에 있어서는 그 과정이 복잡하고 MCU 형태의 고가 전용칩을 설계하는 것은 비용 상승폭이 커서 비효율적이다.
본 발명은 이와 같은 종래 기술의 MCU가 갖는 문제점을 해결하기 위하여 안출한 것으로, 내부에 FPGA를 구성하여 고정된 로직(Fixed Logic)외에도 프로그래머블 로직의 구현이 가능하도록한 단일칩 마이크로 컨트롤러 유닛을 제공하는데 그 목적이 있다.
도 1은 종래 기술의 MCU의 구성 블록도
도 2는 본 발명에 따른 MCU의 구성 블록도
도면의 주요부분에 대한 부호의 설명
21. CPU 22. FPGA
23. ROM 24. RAM
25. 시스템 버스 26. 에뮬레이터 인터페이스
27. 오실레이터 28. 버스 컨트롤러
29. DMAC 30. 칩 테스트 포트
31. FPGA 컨트롤 로직부 32. 주변 버스
33. 병렬 입출력부 34. 인터럽트부
35. WDT 36. 타이머/카운터 유닛
37. 직렬 입출력부 38. ADC
내부에 FPGA를 구성하여 고정된 로직(Fixed Logic)외에도 프로그래머블 로직의 구현이 가능하도록한 단일칩 마이크로 컨트롤러 유닛은 시스템 전체 블록들을 제어하는 중앙 처리 장치와,상기 중앙 처리 장치의 제어에 의한 데이터 처리에 따른 여러 정보를 저장 출력하고 시스템 프로그램을 저장하는 메모리들과,사용자가 시스템의 환경에 따라 주변 장치들을 제어하고 데이터를 처리할 수 있도록 프로그램이 가능한 FPGA와,상기 FPGA를 이용한 시스템 환경에 따른 부가 기능을 구현하기 위한 제어를 하는 FPGA 컨트롤 로직부와,각 모듈간의 정보를 교환할 수 있는 통로로 사용되는 버스 라인과,상기 버스 라인들에 연결되어 중앙 처리 장치 또는 FPGA의 프로그램에 의해 제어되는 주변 장치들을 포함하여 이루어지는 것을 특징으로 한다.
이하, 첨부된 도면을 참고하여 본 발명의 MCU에 관하여 상세히 설명하면 다음과 같다.
도 2는 본 발명에 따른 MCU의 구성 블록도이다.
본 발명에 따른 마이크로 컨트롤러 유닛은 단일 칩 상에 MCU의 핵심 제어 기능을 수행하는 CPU와 메모리들 그리고 인터럽트 컨트롤러,타이머,직렬 입출력 수단,병렬 입출력 수단 등의 주변 장치들 그리고 FPGA로 크게 구성된다.
그 상세 구성은 다음과 같다.
먼저, 시스템 전체 블록들을 제어하는 CPU(Central Processing Unit)(21)와, 상기 CPU(21)의 제어에 의한 데이터 처리에 따른 여러 정보를 저장 출력하고 시스템 프로그램을 저장하는 ROM(23),RAM(24)과, H/W 설계자가 별도의 로직 사용이나 전용 칩의 사용없이 시스템의 환경에 따라 주변 장치들을 제어하고 데이터를 처리할 수 있도록하는 FPGA(Field Programmable Gate Array)(22)와, 상기 FPGA(22)를 이용한 시스템 환경에 따른 부가 기능을 구현하기 위한 제어를 하는 FPGA 컨트롤 로직부(31)와,각 모듈간의 정보를 교환할 수 있는 통로로 사용되는 시스템 버스(25),주변 버스(32)와, 상기 시스템 버스(25)를 통하여 제어되어 버스에 대한 명령 신호(command signal), 제어 신호를 발생하는 버스 컨트롤러(28),시스템의 복제 동작을 하기 위한 에뮬레이터 인터페이스(26), 오실레이터(27),DMAC(29),칩 테스트 포트(30)들을 포함하는 주변 장치들, 상기 주변 버스(32)를 통한 CPU(21)의 제어에 의해 데이터의 병렬 입출력 포트로 사용되는 병렬 입출력부(33),시스템의 인터럽트 기능을 수행하는 인터럽트부(34),WDT(Watch Dog Timer)(35),타이머/카운터 유닛(36),데이터의 직렬 입출력 포트로 사용되는 직렬 입출력부(37),ADC (38) 등을 포함하는 주변 장치들로 구성된다.
시스템 버스(25)를 통한 주변 장치의 제어,데이터 처리는 주로 고속으로 이루어지고, 주변 버스(Peripheral Bus)(32)를 통한 주변 장치의 제어,데이터 처리는 주로 저속으로 이루어진다.
상기 DMAC(Direct Memory Access Controller)(29)는 CPU 시스템에서 주변 장치가 CPU를 멈추게하여 버스의 점유권을 획득하고, CPU의 소프트웨어적 동작에 의하지 않고 데이터 전송을 실행하는 블록이다.
그리고 칩 테스트 포트(30)는 칩 내부의 구성 및 동작의 테스트 동작에서 테스트 포트로 사용되는 것이다.
이와 같은 본 발명의 MCU는 내부에 사용자가 설계하고자 하는 시스템의 환경에 따라 FPGA(22)를 이용하여 별도의 로직없이 설계할 수 있다.
이는 시스템의 환경에 따른 MCU 칩의 변경 및 별도의 로직 구성 등을 거치지 않고 H/W 설계자가 직접 FPGA(22)를 이용하여 주변 여러 기능을 제어하게 할 수 있게한 것이다.
이와 같은 본 발명의 MCU는 FPGA를 내부에 구성하고 있어 다음과 같은 효과를 갖는다.
첫째, 생산자에게 의뢰하여 구현 기눙했던 전용칩을 사용자가 FPGA를 이용하여 직접 저가에 개발할 수 있다.
둘째, FPGA를 이용한 보호 프로그램 등을 만들 수 있어 타인의 시스템 복제를 원천적으로 막을 수 있는 효과가 있다.
셋째, 시스템 환경의 차이가 발생하여도 FPGA를 내장하고 있는 동일 종류의 MCU를 공통으로 사용할 수 있으므로 이를 채택한 스시템의 적용성을 높이는 효과가 있다.
넷째, 생산자는 사용자의 시스템 환경에 따라 요구되는 여러 종류의 MCU를 생산하는 것이 아니라 한종류의 FPGA 내장형 MCU 한 종류만을 전문적으로 생산할 수 있으므로 생산성을 높이는 효과가 있다.

Claims (5)

  1. 시스템 전체 블록들을 제어하는 중앙 처리 장치와,
    상기 중앙 처리 장치의 제어에 의한 데이터 처리에 따른 여러 정보를 저장 출력하고 시스템 프로그램을 저장하는 메모리들과,
    사용자가 시스템의 환경에 따라 주변 장치들을 제어하고 데이터를 처리할 수 있도록 프로그램이 가능한 FPGA와,
    상기 FPGA를 이용한 시스템 환경에 따른 부가 기능을 구현하기 위한 제어를 하는 FPGA 컨트롤 로직부와,
    각 모듈간의 정보를 교환할 수 있는 통로로 사용되는 버스 라인과,
    상기 버스 라인들에 연결되어 중앙 처리 장치 또는 FPGA의 프로그램에 의해 제어되는 주변 장치들을 포함하여 구성되는 것을 특징으로 하는 단일칩 마이크로 컨트롤러 유닛.
  2. 제 1 항에 있어서, 버스 라인들은 고속의 데이터처리를 위한 시스템 버스와 저속의 데이터처리를 위한 페리페럴 버스로 구성되는 것을 특징으로 하는 단일칩 마이크로 컨트롤러 유닛.
  3. 제 1 항 또는 제 2 항에 있어서, 시스템 버스를 통하여 제어되는 주변 장치들은 버스 라인에 대한 명령 신호,제어 신호를 발생하는 버스 컨트롤러와,
    시스템의 복제 동작을 하기 위한 에뮬레이터 인터페이스와,
    오실레이터,DMAC 그리고 칩 테스트 포트들을 포함하는 것을 특징으로 하는 단일칩 마이크로 컨트롤러 유닛.
  4. 제 1 항 또는 제 2 항에 있어서, 페리페럴 버스를 통해 제어되는 주변 장치들은 CPU의 제어에 의해 데이터의 병렬 입출력 포트로 사용되는 병렬 입출력부와,
    시스템의 인터럽트 기능을 수행하는 인터럽트부와,
    WDT 그리고 타이머/카운터 유닛,데이터의 직렬 입출력 포트로 사용되는 직렬 입출력부,ADC 등을 포함하는 것을 특징으로 하는 단일칩 마이크로 컨트롤러 유닛.
  5. 제 3 항에 있어서, DMAC는 중앙 처리 장치를 갖는 시스템에서 주변 장치가 중앙 처리 장치를 멈추게하여 버스의 점유권을 획득하고, 중앙 처리 장치의 소프트웨어적 동작에 의하지 않고 데이터 전송을 실행하는 블록인 것을 특징으로 하는 단일칩 마이크로 컨트롤러 유닛.
KR1019980001050A 1998-01-15 1998-01-15 단일칩 마이크로 컨트롤러 유닛 KR100268903B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980001050A KR100268903B1 (ko) 1998-01-15 1998-01-15 단일칩 마이크로 컨트롤러 유닛

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980001050A KR100268903B1 (ko) 1998-01-15 1998-01-15 단일칩 마이크로 컨트롤러 유닛

Publications (2)

Publication Number Publication Date
KR19990065663A true KR19990065663A (ko) 1999-08-05
KR100268903B1 KR100268903B1 (ko) 2000-10-16

Family

ID=19531549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980001050A KR100268903B1 (ko) 1998-01-15 1998-01-15 단일칩 마이크로 컨트롤러 유닛

Country Status (1)

Country Link
KR (1) KR100268903B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445636B1 (ko) * 2002-06-17 2004-08-25 삼성전자주식회사 에프피지에이와 다수개의 프로그램 가능한 메모리모듈들을 이용한 컴퓨터 시스템 테스트 장치 및 그 테스트방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445636B1 (ko) * 2002-06-17 2004-08-25 삼성전자주식회사 에프피지에이와 다수개의 프로그램 가능한 메모리모듈들을 이용한 컴퓨터 시스템 테스트 장치 및 그 테스트방법

Also Published As

Publication number Publication date
KR100268903B1 (ko) 2000-10-16

Similar Documents

Publication Publication Date Title
KR900006549B1 (ko) 데이타 처리 시스템
KR930008771B1 (ko) 프로세서와 메모리를 내장하는 집적회로
US4250547A (en) Information processing apparatus capable of effecting parallel processings by using a divided common bus
JPS59142611A (ja) ストア−ド・プログラム式制御装置
US4627025A (en) Memory programmable controller with word and bit processors
KR880000253B1 (ko) 데이터 처리시스템의 데이터 교환방식
KR100268903B1 (ko) 단일칩 마이크로 컨트롤러 유닛
KR20030056567A (ko) 다중 프로세서와 주변 블록을 갖는 시스템 칩을 위한 버스구조
EP0268342A1 (en) Coordination of processing elements in a multiprocessor computer
Jerraya et al. SYCO—a silicon compiler for VLSI ASICs specified by algorithms
JP3547012B2 (ja) マイクロコンピュータ
EP0473278B1 (en) Logic apparatus for use with a computing device
JPH0934748A (ja) エミュレーション用マイクロコンピュータ
KR100240658B1 (ko) 상위수준 합성을 위한 계층구조의 제어기 및 인터럽트 처리회로
JP2003296130A (ja) マイクロコンピュータ
Kessels et al. Designing an asynchronous bus interface
KR100271663B1 (ko) 영상처리장치
KR100225873B1 (ko) 로봇제어기의 프로세서 사이의 동기통신방법 및 장치
JPH0282377A (ja) 半導体集積回路
JPH05334234A (ja) 高速dma転送装置
JP3596730B2 (ja) メモリ制御装置およびメモリ制御方法
JPS6054009A (ja) バス接続型プログラマブルコントロ−ラ
JPS62251829A (ja) シンボリツク処理システムおよび方法
JP2004234065A (ja) 複数専用命令を有する専用プロセッサ装置
JPH04125740A (ja) マイクロコンピュータ及びエミュレータ

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050620

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee