편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
9번째 줄: | 9번째 줄: | ||
* 신뢰성 | * 신뢰성 | ||
*: 임베디드 시장에서 아직도 8비트기반이 가장 인기있다. 일반적으로 32비트, 64비트에 비해 성능이 부족해 부족해 보이기에 의아할 수도 있다. 하지만 성능과 신뢰성은 비례하지 않는다. 단순히 얘기하면 32, 64비트 기반 프로세서는 한번에 접근 가능한 경우의 수가 2^32~2^64개이다.(비유를 위한 정석적 설명임) 하지만 8비트는 2^8개이다. 어느 쪽이 에러 확률이 높을지는 자명하다. | *: 임베디드 시장에서 아직도 8비트기반이 가장 인기있다. 일반적으로 32비트, 64비트에 비해 성능이 부족해 부족해 보이기에 의아할 수도 있다. 하지만 성능과 신뢰성은 비례하지 않는다. 단순히 얘기하면 32, 64비트 기반 프로세서는 한번에 접근 가능한 경우의 수가 2^32~2^64개이다.(비유를 위한 정석적 설명임) 하지만 8비트는 2^8개이다. 어느 쪽이 에러 확률이 높을지는 자명하다. | ||
* Real-Time | * Real-Time | ||
*: 특히 계측이나 기계제어의 목적일때 굉장히 중요해지는 특성이다. 대부분의 MCU는 다양한 종류의 Interrupt를 지원한다. Interrupt란 일종의 감시병 같은 역할이다. 예를 들어 도둑잡는 경비 임베디드 시스템을 개발한다고 했을 때 프로그램이 감지 센서를 읽고 통신 보내기라는 두 가지 프로세스로 개발했다. 그러나 도둑이 운 좋게 통신중인 시스템 상태에서 침투하면 이 시스템은 뚫리고 만다. 하지만 Interrupt는 main 프로그램 상황에 관계없이 작동하고 Interrupt에 서비스 루틴을 걸면 main이 딴짓 중이라도 Interrupt가 도둑을 감지하면 바로 경보를 울릴 수 있다. 이를 Real-Time이라고 한다. | *: 특히 계측이나 기계제어의 목적일때 굉장히 중요해지는 특성이다. 대부분의 MCU는 다양한 종류의 Interrupt를 지원한다. Interrupt란 일종의 감시병 같은 역할이다. 예를 들어 도둑잡는 경비 임베디드 시스템을 개발한다고 했을 때 프로그램이 감지 센서를 읽고 통신 보내기라는 두 가지 프로세스로 개발했다. 그러나 도둑이 운 좋게 통신중인 시스템 상태에서 침투하면 이 시스템은 뚫리고 만다. 하지만 Interrupt는 main 프로그램 상황에 관계없이 작동하고 Interrupt에 서비스 루틴을 걸면 main이 딴짓 중이라도 Interrupt가 도둑을 감지하면 바로 경보를 울릴 수 있다. 이를 Real-Time이라고 한다. | ||
* 최적화 | * 최적화 | ||
*: 일반 PC용 소프트웨어의 경우 어셈블리로 최적화 하는 경우는 보기 힘들다. 하지만 임베디드 시스템에서는 nano sec단위로 제어한다거나 ATtiny 같이 바이트 단위의 메모리만 있는 경우 C를 쓰긴 하지만 마른 걸레를 쥐어짜듯이 인라인 어셈을 이용하여 개발하는 경우가 굉장히 많다. 특히 [[PIC]] 같이 컴파일러가 시원찮은 경우 프로그래머가 처음부터 끝까지 어셈블리로 짜는 경우도 있다. | *: 일반 PC용 소프트웨어의 경우 어셈블리로 최적화 하는 경우는 보기 힘들다. 하지만 임베디드 시스템에서는 nano sec단위로 제어한다거나 ATtiny 같이 바이트 단위의 메모리만 있는 경우 C를 쓰긴 하지만 마른 걸레를 쥐어짜듯이 인라인 어셈을 이용하여 개발하는 경우가 굉장히 많다. 특히 [[PIC]] 같이 컴파일러가 시원찮은 경우 프로그래머가 처음부터 끝까지 어셈블리로 짜는 경우도 있다. |