■ 파이프라인 구조의 Intel 8051 호환 마이크로 컨트롤러를 가정한 머신 사이클 작용 방식 논의 짧은요약
CISC 형태의 대표적인 Intel 8051 마이크로 컨트롤러와 명령어 수준에서 호환되면서 파이프라인 구조를 지닌 마이크로 컨트롤러를 가정하고, 프로그램 명령어를 CPU에서 처리할 때 머신 사이클이 어떻게 작용하는지 논의한 레포트입니다. 8051의 구성과 111개 명령어 세트를 소개하고, 1머신 사이클의 배수로 실행되는 기존 구조의 문제를 짚은 뒤 인출, 해독, 실행, 저장 단계별 동작과 분기 예측, 데이터 의존성 처리를 설명합니다.
■ 파이프라인 구조의 Intel 8051 호환 마이크로 컨트롤러를 가정한 머신 사이클 작용 방식 논의 상품별 장점만 정리.
3) 실행(Excute) : EX 스테이지는 제어 신호 및 오퍼랜드를 수신하고, 제어 신호에 따라 연산을 수행하고, 그 결과를 어큐뮬레이터에 저장하고, 저장해야 할 주소 및 데이터를 다음의 스테이지로 넘기는 역할을 담당한다. 각 블록들의 기능을 상세하게 설명하면 다음과 같다. bit_exe 블록은 비트 단위로 계산을 수행해야 하는 명령어를 처리하기 위한 블록이다. 각 명령어에 알맞게 비트 단위의 계산을 수행하고, 다음 스테이지로 데이터를 넘긴다. xch_decide 블록은 데이터를 교환하는 명령어에 해당하는 경우, 여기에서 데이터를 교환하기 위한 준비 작업을 담당한다. 이러한 데이터를 ALU로 보내, 계산을 수행하지 않고 곧바로 파이프라인 레지스터로 넘김으로써 수행은 완료된다. forwarding 블록은 데이터 해저드를 처리하는 블록에 속하는데, 현재의 명령어가 실행 중에 앞의 명령어가 모두 실행 된 다음 데이터를 필요로 하게 될 시, 이 때 필요한 데이터를 실행되기 이전에 보유하고 있다가, 현재의 명령어에 제공하는 역할을 담당한다. ALU는 산술 연산 및 논리 연산을 모두 다 실행하는 곳으로, 캐리를 처리하는 블록이 존재하며 8비트 단위로 한 번의 계산이 가능하게 된다. 이어서 conditional branch 블록은 조건 분기에 해당되는 명령어를 실행하는 곳이다. 이 곳에 또 하나의 덧셈기가 있어, 조건 분기 이외에 덧셈의 계산을 담당하는 곳이기도 하다. mul_div는 곱셈 및 나눗셈을 계산하며 계산 후의 결과를 파이프레지스터에 전달하게 된다. djnz_wbdt 블록은 한 가지의 데이터를 1만큼 감소시키며, 점프의 여부를 결정할 때 이를 연산하는 곳이다.
4) 저장(Store) : 저장 스테이지는 쓰기 스테이지(WB)로 분류될 수 있으며, 이는 전 스테이지에서 연산된 결과를 메모리로 저장하는 블록이다. OF 스테이지와 마찬가지로 WB스테이지 역시 intel 8051 명령어는 직접 주소 지정의 방식과 간접 주소 지정의 방식이 존재한다. 따라서 이와 같은 두 가지 주소 지정 방식을 실행해 낼 수 있는 스테이지를 필요로 한다. WB스테이지는 OF 스테이지와 마찬가지로, 직접 및 간접 주소 지정 방식을 체크함으로써, 각각의 명령어에 맞는 메모리에 데이터를 저장하도록 한다.
오늘의 추천자료! 빠르고 간편하게 해보세요! ⚡
파이프라인 구조의 Intel 8051 호환 마이크로 컨트롤러를 가정한 머신 사이클 작용 방식 논의
■ 파이프라인 구조의 Intel 8051 호환 마이크로 컨트롤러를 가정한 머신 사이클 작용 방식 논의 핵심디테일
8051에 파이프라인을 입히면 무엇이 달라질까
기존 8051은 명령어가 1머신 사이클의 배수로 실행되고 동기화를 위한 리던던시 상태가 생깁니다. 이 레포트는 명령어 호환성을 유지한 5단 파이프라인 구조를 가정해 이를 개선하는 방식을 논의합니다.
레포트 구성
- 고성능·저전력 마이크로컨트롤러 설계의 필요성
- 1980년 Intel이 개발한 8051의 CPU, 메모리, I/O 구성
- 111개 명령어 세트와 어드레싱 모드
- 인출(Fetch) 단계의 명령어 길이와 분기 예측
- 해독(Decode) 단계의 제어신호와 데이터 의존성 처리
- 실행(Execute)과 저장(Store) 단계의 동작
파이프라인 단계별 동작
| 단계 | 역할 |
|---|---|
| 인출 | 1·2·3바이트 명령어를 가져오고 분기를 예측 |
| 해독 | opcode로 제어신호를 만들고 데이터 의존성을 확인 |
| 실행 | 제어 신호에 따라 연산하고 어큐뮬레이터에 저장 |
| 저장 | 연산 결과를 메모리에 기록(WB) |
Intel 8051 호환 파이프라인 마이크로 컨트롤러의 머신 사이클을 단계별로 분석한 레포트
- 머신 사이클의 작용을 파이프라인 단계별로 나누어 설명해 컴퓨터구조 과제에 바로 참고할 수 있습니다.
- 분기 페널티와 데이터 의존성 등 파이프라인 설계의 쟁점을 짚습니다.
- 8비트 마이크로 컨트롤러 설계 관련 학위논문 등 참고문헌 세 편을 제시합니다.
■ 파이프라인 구조의 Intel 8051 호환 마이크로 컨트롤러를 가정한 머신 사이클 작용 방식 논의 참고문헌
1. 김휘원, 다중연산장치 Processor의 명령문을 위한 pipeline의 구조적 난점 해결 방안에 관한 연구, 경북전문대학교 학위논문, 2006 2. 한상영 외, 다중 연산 장치 프로세스의 개선된 명령문 다중 발진 논리, 정보과학회논문지 제19권 3 pp.314-326, 1992 3. 남승석, 효율적인 성능을 갖는 8비트 마이크로 컨트롤러의 설계에 대한 연구, 인하대학교 대학원 석사학위논문, 2006