«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
250x250
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

leehyeon-dv 님의 블로그

4.1 Introduction 본문

컴퓨터구조 및 설계/4장. The Processor

4.1 Introduction

leehyeon-dv 2024. 11. 20. 17:47

🔑Table of Contents

  1. Introduction
  2. Introduction Execution
  3. 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(순차적진행)

📌 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