Finite State Machine
- 유한 갯수의 상태를 천이하는 디지털 시스템
- 특정한 조건에 따라 그 조건으로 상태가 전환이 되면서 해당되는 상태 처리.
- 유한한 일정한 양의 메모리 만을 가지는 추상기계이며 그 내부 상태는 더 이상의 구조를 갖지 않는다.
특징
* 유한 수의 상태를 가진다.
* 그 자신의 상태를 시험할 수 있다.
* 외부로부터 입력을 받아들인다.
* 이산된 시간의 단계에 그 자신의 상태를 변화시킬 수 있다.
* 그 자신의 상태와 외부로 부터의 입력에 근거한 일단의 규칙에 따라서 그 자신의 상태를 변화시킬 수 있다.
* 유한 수의 상태를 가진다.
* 그 자신의 상태를 시험할 수 있다.
* 외부로부터 입력을 받아들인다.
* 이산된 시간의 단계에 그 자신의 상태를 변화시킬 수 있다.
* 그 자신의 상태와 외부로 부터의 입력에 근거한 일단의 규칙에 따라서 그 자신의 상태를 변화시킬 수 있다.
간단히 FSM은 순차적인 디지털 회로의 상태 변화를 나타내는 방법이다라고 말할 수 있다.
예를 들면,
현재의 상태가 숫자로 표현해서 '0의 상태에 있다고 가정하고 표현할 수 있는 전체 상태(state)가 '0'을 포함해서
4개 - '1','2','3'-가 있다고 해보자.
여기서 상태(state)가 변하는 순서가 순차적으로 '0'->'1'->'3'->'2'라고 하면 상태(state)의 변화자체는
"상태천이(state transiton)"라고 부르고, 4개의 state를 가진 장치(machine)가 존재한다라고 말한다.
4개 - '1','2','3'-가 있다고 해보자.
여기서 상태(state)가 변하는 순서가 순차적으로 '0'->'1'->'3'->'2'라고 하면 상태(state)의 변화자체는
"상태천이(state transiton)"라고 부르고, 4개의 state를 가진 장치(machine)가 존재한다라고 말한다.
FSM에서 앞글자 finite는 '제한적인'이란 뜻이 있듯이 이러한 상태(state)들이 제한된 숫자만큼 있다는 것을 뜻한다.
따라서 이를 종합해 보면 FSM이란 '제한된 상태들의 변화를 순차적으로 나타내는 장치'라고 표현할 수 있다.
따라서 이를 종합해 보면 FSM이란 '제한된 상태들의 변화를 순차적으로 나타내는 장치'라고 표현할 수 있다.
앞서 말했지만, FSM은 디지털 로직에서 회로를 꾸미고자 할 때 중요하게 사용되는 방법중의 하나이다.
왜냐하면 FSM은 주로 마이크로 프로세서 뿐만 아니라
디지털로 꾸밀수 있는 모든 회로들의 주요 콘트롤러 회로를 꾸미는 방법으로 사용되기 때문이다.
디지털로 꾸밀수 있는 모든 회로들의 주요 콘트롤러 회로를 꾸미는 방법으로 사용되기 때문이다.
FSM을 꾸미는 방법으로는 대표적으로 Mealy state machine과 Moore state machine의 두가지 방법이 있다.
Mealy state machine
- 현재 상태와 현재 입력에 의해 출력이 결정되어 지는 것
Moore state machine
- 현재 상태에 의해 출력이 결정되어 지는 것
출저 :
'[ Programing ] > Algorithm' 카테고리의 다른 글
거리 계산 (0) | 2011.01.03 |
---|---|
UTF-8 1~3 Byte 문자 구분 (2) | 2010.07.15 |
C.R.C. 메모리 검증과 그외 검증 기법 (0) | 2010.02.02 |
[ 스코프 ( 곡선 ) ] cos( M_PI * lfPerTime / 2 ); (0) | 2010.02.01 |
[ 흔들림 ] Shake (0) | 2010.02.01 |