기술자료

[스크랩] 임베디드 시스템...

티가세 2005. 12. 28. 06:37

임베디드 시스템은 다음과 같이 정의할 수 있다.

1. 특정한 목적으로 구성된 마이크로 프로세서에 소프트웨어를 내장하여 최적화시킨 시스템

2. 산업 및 군사용 제어기기, 디지털 정보가전기기, 자동 센서장비 등의 기능을 다양화하고 부가가치를 높이는 하드웨어와 소프트웨어

임베디드 시스템은 한마디로 특정 목적으로 구성된 마이크로프로세서 위에 소프트웨어를 내장하여 최적화시킨 시스템이라고 할 수 있다. 임베디드의 어원은 무엇인가가 내장되어 있다라는 뜻이다. 따라서 임베디드 시스템이란 말은 마이크로프로세서나 컨트롤 로직이 내장된 시스템 전체를 가리키는 상당히 넓은 의미로 사용되고 있다.

 

임베디드 시스템의 주요 특성은 다음과 같다.

1. 실시간 처리 지원

2. 고도의 신뢰성

3. 최적화 기술 지원

4. 특정시스템의 실행을 목적으로 S/W 개발

5. 네트워크 및 멀티미디어 처리 기능 지원

임베디드 소프트웨어는 실행되는 시스템의 용도에 따라 실시간 처리를 지원하여야 한다. 실시간 조작되는 컴퓨터는 연산 결과가 곧바로 실제로 발생하고 있는 일에 영향을 미칠 수 있어야 한다. 즉, 주어진 작업을 단지 빨리 처리하는 것이 아니라 정해진 시간을 넘겨서는 안되며 시간 내에 결과를 출력해야 한다는 것이다.

소프트웨어의 오동작 및 작동 중지가 허용되지 않는 임베디드 시스템에서는 고도의 신뢰성이 요구된다. 즉, 소음, 먼지, 열 등의 열악한 환경이나 무정지 시스템에서 고장 및 오류없이 주어진 일을 완벽하게 수행해내야 한다.

임베디드 시스템은 크기, 가격 및 발열 등을 이유로 제한된 하드웨어 자원으로 구성되므로 임베디드 소프트웨어는 경량화, 저전력 지원, 자원의 효율적 관리 등의 하드웨어에 최적화되는 기술을 지원해야 한다.

임베디드 시스템상의 소프트웨어는 범용 데스크톱 또는 서버에서 실행되는 패키지 소프트웨어와 달리 특정 시스템의 특수 임무를 실행할 목적으로 개발되는 소프트웨어라는 차이점을 가지고 있다.

최근 임베디드 시스템의 기능이 다양해지면서 임베디드 시스템은 단독 시스템 뿐만 아니라 유무선 네트워크를 통해 연결되어야 한다. 임베디드 시스템의 기능에 따라 소프트웨어의 기능이 결정되며 임베디드 소프트웨어의 개발은 풍부한 하드웨어 지식과 시스템 소프트웨어의 개발 경험을 요구한다.

 

임베디드 소프트웨어는 제품 안에 내장된 임베디드 시스템에서 하드웨어를 제외한 나머지 부분을 가리킨다. 임베디드 시스템의 하드웨어를 구성하는 세가지 핵심 기술에는 프로세서 기술, IC 기술, 설계 기술이 있다.

기본응용 소프트웨어들은 운영체제 위에서 사용자들이 직접 이용하는 소프트웨어이다. 사용자 입장에서는 프로세서가 어떠한 것인지 운영체제가 어떠한 것인지 상관없이 응용프로그램들을 사용한다.

미들웨어는 각기 분리된 두 개의 프로그램 사이에서 매개 역할을 하거나 연랍시켜주는 프로그램을 지칭하는 용어이다.

임베디드 시스템 소프트웨어는 임베디드 시스템을 사용하기 위해 가장 근본적으로 필요한 소프트웨어이다. 이는 사용자들이 자신이 필요한 업무를 처리하기 위해 사용하는 응용프로그램의 기초가 되며 이것을 기반으로 응용프로그램을 개발하거나 사용할 수 있도록 해준다.

개발도구는 임베디드 시스템을 구현할 수 있도록 편리한 도움을 주는 여러 장치 및 소프트웨어를 가리킨다. 이러한 개발 도구는 많은 시간을 단축해 주며 또한 많은 투입 인력을 줄여주는 역할을 한다. 시스템 개발이라는 것은 새로운 시스템을 개발하기 위한 일련의 작업 공정을 말하며, 하드웨어, 소프트웨어 또는 방법과 절차 등을 포함하는 시스템 요구 분석, 시스템 설계, 시스템 구현, 시험 및 평가, 문서화 및 품질 보증 등의 공정이 포함된다.

컴퓨터 시스템의 기반이 되는 하드웨어나 소프트웨어를 플랫폼이라고 지칭한다. 컴퓨터는 가장 하위계층인 집적회로 칩 수준의 하드웨어층, 그 다음 층인 펌웨어와 운영체제층, 맨 위층인 응용 프로그램층으로 구성되는 계층화된 장치이며, 이 장치의 맨 아래층만을 흔히 플랫폼이라고 한다. 그러나 응용 프로그램의 설계자들은 하드웨어와 소프트웨어를 모두 플랫폼이라고 하는데, 그 이유는 하드웨어와 소프트웨어가 응용에 대한 지원을 제공하기 때문이다.

프로세서는 명령어와 데이터의 규칙적 나열로 이루어지는 기계어 프로그램을 어떤 순서에 따라 해석하고 수행하는 하드웨어 장치이다. 기본적인 폰 노이만 구조 컴퓨터의 처리기는 주 기억 장치에 저장된 명령어들을 하나씩 해석하여 수행한다. 특정 응용 프로세서에서는 범용 프로세서보다 내부 레지스터의 용량이 줄어들어 프로세서의 가격이 낮아진다. 프로세서 개발시 메모리의 크기는 웨이퍼의 다이 크기를 결정하므로 중요한 요소이다. 그리고 단일 목적 프로세서에서는 프로그램 메모리와 레지스터가 한결 줄어들어 구현 가격이 낮아진다. 프로세서는 문제 해결을 위해 목적에 맞추어 다양하게 제작할 수 있다. 범용 프로세서는 프로그래밍을 통하여 모든 용도에 맞추어 사용할 수 있고, 특정 목적 프로세서는 커스터마이징하여 일부 기능을 전문화한 것이다. 또한, 단일 목적 프로세서는 설계하는 제품의 용도에만 맞춘 사용 가능한 단순한 프로세서이다.

범용 프로세서는 한마디로 어느 응용에든지 사용할 수 있는 프로세서를 말하며, 보통 '마이크로프로세서'라고 한다. 일반적인 특징은 프로그램 메모리를 가지며, 대용량의 레지스터와 범용 ALU를 갖는 데이터 패스가 있다는 것이다. 그러므로 프로그램만을 수정하여 여러 응용에 적용 가능하므로 시장 출하 시간이 짧고 초기개발비 가격이 적게 든다. 또한, 프로그램 방식이므로 매우 탄력적으로 응용에 적용할 수 있다.

단일 목적 프로세서는 하나의 프로그램만 수행하도록 설계된 디지텅 회로로, 코 프로세서나 가속기 혹은 주변 부품들이 해당된다. 특징은 단독 프로그램을 실행하며 어떠한 프로그램 메모리도 필요하지 않다는 것이고, 이점은 빠른 실행과 저전력 소모, 작은 크기이다.

특정 응용 분야를 목적으로 하는 프로세서를 application-specific processor라고 한다. 이 프로세서는 특정분야를 위하여 최적화된 프로그래머블 프로세서이다. 역시 특정 분야에서 동일한 목저을 갖는 여러가지 응용에 사용 가능하다. 즉, 범용 프로세서와 단일 목적 프로세서 간의 절충점에서 나타나게 된 프로세서이다. 이러한 프로세서가 갖는 일반적인 특징에는 프로그래머블 메모리, 최적화된 데이터 패스, 특수 기능 유닛 등이 있다. 이 프로세서를 쓸 때의 이점은 탄력적이며, 크기나 전력 소모 면에서 우수한 기능을 발휘한다는 것이다. 이 분야의 대표적인 프로세서에는 마이크로 컨트롤러와 DSP가 있다.

집적회로 위에 디지털을 구현하는 방법이 IC 기술이다. 물론 프로세서는 IC 기술에 대해 종속적인 면을 가지고 있다. IC 기술은 순전히 집적도와 관련된 것으로, 이 집적도에 따라 구현할 수 있는 특정한 기능의 등급이 정해진다. IC 기술은 반도체 기술을 말하기도 하는데 광학, 화학, 기계 전자 등의 여러 기술이 융화되어 만들어지는 기술이다. IC 기술에는 세가지 종류가 있다.

1. 모든 회로 설계를 주문자 방식으로 제조하는 것을 Full-custom/VLSI 라고 한다.

2. 우리가 에이직이라고 부르는 게이트 어레이나 표준 셀을 이용한 Semi-custom ASIC이 있다.

3. 그리고 PLD라고 하는 프로그래머블 로직 디바이스라고 하는 소자가 있다.

풀-커스텀 방식으로 임베디드 시스템을 구현하게 되면 여러 이점을 얻을 수가 있다. 우선 모든 계층들이 최적화되기 때문에 트랜지스터의 집적과 크기, 결선 등이 매우 좁은 공간에서 이루어지므로 소형화와 저전력을 실현할 수 있다. 또한 성능이 매우 향상된다. 그러나 높은 NRE 비용을 요구하며, 시장 출시를 위한 기간이 매우 길어진다는 단점이 있다. 대규모의 생산과 엄청난 양의 수요를 예상한다면 이 방법을 선택하는 것이 좋다.

세미-커스텀방식은 하부 계층에서 일부나 전부를 주문자 방식으로 설계를 하고 나머지는 상용의 IC를 이용하는 방식이다. 이 방식의 이점은 괜찮은 성능과 크기, 비교적 적은 NRE 비용을 들여서 설계가 가능하다는 것이다. 하지만 개발하기까지 수 주에서 수 개월이 걸린다는 단점이 있다.

가장 간단하게 사용자의 특별한 기능을 구현할 수 있는 것이 PLD를 이용하는 것이다. 설계자는 구매를 하여 프로그램만 개발해서 칩에 써 넣고 연결만 하면 된다. 적은 NRE 가격과 바로 원하는 기능을 구현할 수 있는 것이 장점이다. 그러나 크기가 크고, 대량 생산할 경우 가격이 비싸며, 소비전력이 매우 많은 것이 치명적인 결점이다. 완전주문자 방식이나 반주문자 방식보다 느리다.

디자인 기술 즉, 설계 기술은 구현하고자 하는 시스템의 기능에 대한 개념을 어떻게 실현하느냐에 대한 기법을 다루는 분야이다. 디자이너가 어떠한 기술을 선택하느냐에 따라 개발 기간을 단축할 수 있으며, 설계 기술을 개선할수록 생산성이 향상된다. 대표적인 설계방법으로 하향 설계기술과 상향 설계기술이 있으며 대부분 이 설계 방법에 따라 하드웨어와 소프트웨어를 설계한다. 최근에는 합성기술의 성숙에 힘입어 하드웨어와 소프트웨어의 통일된 관점에서 설계가 가능하게 되었다. 그래서 성능, 가격, 전력, 호환성 등의 설계요소를 절충하여 하드웨어와 소프트웨어의 공동설계가 가능하게 되었다.


 
출처 : 블로그 > 논문자료실 | 글쓴이 : 블루모닝 [원문보기]