본문 바로가기
임베디드 개발/8051

8051 MCU의 1T, 6T, 12T의 의미

by eteo 2026. 7. 23.
반응형

 

 

8051 MCU 데이터시트 첫장에 가장 먼저 등장하는 1T, 6T, 12T라는 표현의 의미에 대해 알아보자.

 

 

 

 

8051에서 T(T-state)는 클럭(Clock Cycle)을 의미한다. 8051은 여러 개의 T-state를 묶어 CPU가 명령어를 실행하기 위한 최소 시간 단위인 Machine Cycle(머신 사이클)을 구성하는데, 이 머신 사이클을 구성하는 클럭 수가 몇 개냐에 따라 12T, 6T, 1T CPU가 구분된다.

 

 

  • 12T Core : Machine Cycle = 12 Clock
  • 6T Core : Machine Cycle = 6 Clock
  • 1T Core : Machine Cycle = 1 Clock

 

 

 

오리지널 8051의 12T 구조

 

오리지널 8051은 12T 구조를 사용했다. 오실레이터 클럭을 2분주하여 1개의 State(2클럭)를 만들고, 이 State 6개(S1~S6)가 모여 하나의 머신 사이클(Machine Cycle)을 이룬다. 즉, 1 머신 사이클당 총 12개의 클럭(12T)이 소요되는 구조다.

 

명령어마다 필요한 머신 사이클 수는 서로 다르며, 대부분 8051의 명령어는 1~4개의 머신 사이클 내에서 실행된다.

 

예를 들어 12T 코어 기준 명령어 실행 시간은 다음과 같다.

  • NOP, INC 같은 짧은 명령어: 12클럭 (1 머신 사이클)
  • MOVX 같이 외부 메모리에 접근하는 명령어: 24클럭 (2 머신 사이클)
  • MUL, DIV처럼 무거운 연산: 48클럭 (4 머신 사이클)

 

결과적으로 12MHz 오실레이터를 사용하더라도, 실제 명령어 처리 속도는 1 MIPS 미만에 그치게 된다.

 

 

 

 

 

6T, 4T, 1T의 등장

 

이후 기술이 발전하면서 Silicon Labs나 Atmel(현 Microchip) 등에서 만든 고성능 8051 호환 칩들은 내부 아키텍처를 대폭 개선해서 6T, 4T, 1T 코어가 등장했다.

 

핵심 비결은 현대 CPU에서 사용하는 파이프라이닝(Pipelining) 기법이다. 과거처럼 명령어를 하나씩 순차 처리하는 방식에서 벗어나, 현재 명령어를 실행하는 동시에 다음 명령어를 미리 가져와(Fetch) 병렬로 처리한다. 덕분에 낭비되는 클럭이 사라지면서 1머신 사이클 = 1클럭이라는 고효율을 달성할 수 있게 된 것이다.

 

 

 

 

MCU 변경으로 코드 이식 시 주의점

 

따라서 같은 8051 MCU라고 해서 무조건 코드가 동일하게 동작할 것이라 예상하면 안 된다. 예를 들어, 12T MCU용으로 작성한 펌웨어를 1T MCU로 포팅하는 경우 다음과 같은 Delay 루프는 지연 시간이 약 1/12 수준으로 줄어들어 오동작을 할 수 있다.

 

for(i = 0; i < 1000; i++);

 

즉, T-State가 다른 8051 MCU로 코드를 이식할 때는 CPU 실행 시간을 기준으로 작성된 코드들은 전부 다시 검토해야 한다.

 

 

 

 

참고로, 최신 MCU들은 1T가 당연한 기본값이기 때문에 구세대 8051 호환칩이 아닌 경우 이런 용어는 더이상 사용하지 않는다.

 

대신 최신 MCU에서 성능을 평가할 때는 DMIPS(Dhrystone MIPS)나 CoreMark 같은 성능 지표를 보거나 클럭 속도가 얼마나 빠른지를 본다.

반응형

'임베디드 개발 > 8051' 카테고리의 다른 글

8051 메모리 구조  (0) 2026.07.30