leehyeon-dv 님의 블로그
4.1 Introduction 본문
🔑Table of Contents
- Introduction
- Introduction Execution
- CPU Overview
📌 Introduction
- CPU 성능의 요소
- 명령어 개수 → ISA와 컴파일러에 의해 결정
- CPI(명령어당 사이클 수) 와 CT(클럭사이클 시간) → 프로세서 구현방법에 따 결정
- MIPS 구현방식을 두가지 형태로 배워볼것
- 간소화 버전
- 그보다는 좀 더 현실적인 pipeline화된 버전
- 구현에 실제 MIPS의 모든 명령어를 사용하진 않고 일부분을 사용할것임
- 메모리참조 : lw, sw
- 산술/논리 : add, sub,and, or, slt
- 제어이동 : beg , j
📌 Introduction Execution
- 프로그램에 메모리에 로드되면 명령어들은 명령어 메모리에 순서대로 주소를 가지며 위치함
- PC를 프로그램이 저장되어 있는 메모리에보내서 메모리로부터 명령어를 가져온
- 레지스터 번호 ↔ 레지스터 뭉치
- 명령어에서 레지스터 번호($s0, $t0..)를 통해 레지스터에 접근해 값을 읽어오는 것을 read register
- 명령어 종류에 따라
- 계산에 ALU를 사용하기도 함
- 산술계산
- load/store를 위한 메모리 주소 계산
- branch 대상 주소 계산(offset)
- 메모리에 접근해 데이터를 load/store하는 명령어
- PC ← 대상주소(점프류) / PC += 4(순차적진행)
- 계산에 ALU를 사용하기도 함
📌 CPU Overview
→ 실제로 이들 데이터 선을 단순히 그냥 연결할 수 없다
그러므로 다수의 근원지 중에서 하나를 선택해 그것만을 목적지로 보내는 구성요소를 추가해야한다
따라서, 멀티플렉서(Multiplexer)을 써서 그 중 하나의 신호를 선택한다
- 제어값에 따라 여러 입력 중에서 하나를 선택하는 소자이다
- Control
- 데이터패스에 주요기능 유닛을 위한 멀티플렉서 3개를 추가함
- 각각의 하드웨어 모듈(레지스터, 메모리)이 어떻게 동작하는지를 제어해주는 컨트롤을 만들어주는 회로
- 명령어를 읽어서 해당하는 제어 신호를 만들어냄
- control unit은 명령어를 입력으로 받아서 기능 유닛과 두 멀티플렉서의 제어선 값을 결정
- 세번째 멀티플렉서는 PC+4와 분기 목적지 주소 중 어느 것을 PC에 써야할지 결정(ALU의 Zero출력으로 제어됨)
728x90
'컴퓨터구조 및 설계 > 4장. The Processor' 카테고리의 다른 글
4.6 Pipelined Datapath and Control (0) | 2024.12.11 |
---|---|
4.5 An Overview of Pipelining (0) | 2024.12.11 |
4.4 A Simple Implementation Scheme (0) | 2024.12.10 |
4.3 Building a Datapath (0) | 2024.11.21 |
4.2 Logic Design Conventions (0) | 2024.11.21 |