데이터패스는 ALU, 레지스터 집합, 그리고 이들 간의 데이터 흐름을 허용하는 CPU의 내부 버스들로 이루어진다.[2]
단일 버스를 중심으로 구성된 마이크로아키텍처 데이터패스
CPU의 가장 단순한 설계는 하나의 공통 내부 버스를 사용한다. 효율적인 덧셈을 위해서는 약간 더 복잡한 세 개의 내부 버스 구조가 필요하다.[3]
상대적으로 단순한 많은 CPU는 ALU의 2개 입력과 1개 출력에 연결된 2-읽기, 1-쓰기 레지스터 파일을 가지고 있다.
1990년대 후반에는 재구성 가능 데이터패스—프로그래머블 패브릭을 사용하여 런타임에 용도를 변경할 수 있는 데이터패스—영역에서 연구가 증가했는데, 이러한 설계는 더 효율적인 처리뿐만 아니라 상당한 전력 절감도 가능하게 하기 때문이다.[4]
FSMD는 본질적으로 명령문이 상태로 스케줄링되어 더 복잡한 상태 다이어그램을 초래하는 순차 프로그램이다. 여기서 프로그램은 상태와 아크가 산술 표현식을 포함할 수 있고, 이 표현식은 외부 입력 및 출력뿐만 아니라 변수도 사용할 수 있는 복잡한 상태 다이어그램으로 변환된다. FSMD 추상화 수준은 종종 레지스터 전송 수준이라고 불린다.
FSM은 변수나 산술 연산/조건을 사용하지 않으므로 FSMD는 FSM보다 더 강력하다. FSMD는 표현력 면에서 튜링 기계와 동등하다.
각주
↑ 가나Null, Linda; Lobur, Julia (2006). 《The Essentials of Computer Organization and Architecture》. Jones & Bartlett Learning. 2016쪽. ISBN978-0-7637-3769-6. All computers have a CPU that can be divided into two pieces. The first is the datapath, which is a network of storage units (registers) and arithmetic and logic units... connected by buses... where the timing is controlled by clocks.
↑Zhu, Jianwen; Gajski, Daniel D. (1999년 3월 1일). 〈A unified formal model of ISA and FSMD〉. 《Proceedings of the seventh international workshop on Hardware/Software codesign - CODES '99》. New York, NY, USA: Association for Computing Machinery. 121–125쪽. doi:10.1145/301177.301504. ISBN978-1-58113-132-1. S2CID5426988.