ZERO-BASE LESSON · AUFGABE 5

Eintakt 데이터패스의 공통 경로를 교집합으로 찾기

그림에 아는 선을 모두 긋는 문제가 아닙니다. 네 instruction 각각의 경로를 투명 종이에 그린 뒤 겹치는 선만 남기는 교집합 문제입니다.

학습 목표: 공식 시험 시험 p10–11 · 공식 해설 p23–36를 풀기 전에 필요한 개념을 처음부터 만듭니다. 이 페이지를 읽은 뒤 소문제 카드에서 실제 시험 풀이 순서를 연습하세요.

교재처럼 순서대로 읽는 본문

이 글은 요약 카드가 아닙니다. 처음 보는 용어의 뜻부터 시작해, 왜 그런 규칙이 생겼는지와 문제에서 어떻게 사용하는지를 한 흐름으로 설명합니다.

이 장을 공부하는 이유

그림에 아는 선을 모두 긋는 문제가 아닙니다. 네 instruction 각각의 경로를 투명 종이에 그린 뒤 겹치는 선만 남기는 교집합 문제입니다.

읽고 나면 할 수 있어야 하는 것

먼저 비유로 머릿속 구조 만들기

네 사람이 지하철을 타고 서로 다른 목적지로 갑니다. 모두가 이용하는 구간은 집 앞 역에서 공통 환승역까지뿐입니다. 한 사람만 타는 지선까지 그리면 감점입니다.

데이터패스 교집합 찾기다섯 단계의 왼쪽에서 오른쪽으로 진행하는 개념 흐름도데이터패스 교집합 찾기 4개 명령 각 경로 별도 trace Fetch PC→Instruction Memory Decode field·register 읽기 교집합 네 색이 겹치는 선 검산 명령 4개 모두 말하기

그림은 왼쪽에서 오른쪽으로 읽습니다. 각 화살표는 앞 단계의 결과가 다음 단계의 입력이 된다는 뜻입니다. 흐름도만 크게 열기

용어를 평범한 문장으로 바꾸기

독일어와 영어 용어를 소리만 외우지 말고, 아래 설명을 자신의 말로 다시 말해 보세요.

Datapath
값이 component와 wire를 따라 이동하는 전체 길
Control signal
mux 선택, write enable처럼 길을 선택하는 신호
intersection / 교집합
모든 instruction이 실제로 사용하는 경로
writeback
ALU/memory 결과를 register file의 rd에 쓰는 단계
PCSrc
다음 PC 후보 중 실제 값을 선택하는 mux 제어

개념을 처음부터 연결하기

1. 먼저 행동 표 만들기

slli는 register read→ALU→register write, sw는 register read→address ALU→memory write, lw는 address ALU→memory read→register write, beq는 두 register 비교→조건부 PC update입니다.

2. 공통 시작

모두 PC로 instruction address를 내고 instruction memory에서 instruction을 읽습니다. 다음 PC 후보를 만들기 위한 PC+4 경로도 모든 instruction에 필요합니다.

3. 빨리 제외할 전용 경로

Data memory는 lw/sw만, register writeback은 slli/lw만, branch comparator/target은 beq만 사용합니다. 이런 선은 교집합에서 제외합니다.

이 챕터에서 계속 사용할 손풀이 표

아래 표는 정답표가 아니라 작업 기억을 외부에 꺼내 놓는 worksheet입니다. 소문제를 풀 때마다 빈 칸을 직접 채우세요.

Eintakt datapath 교집합 worksheet
Instruction읽기/계산최종 destination
sllirs1 + immediate shiftrd
swbase + offset, store dataData Memory
lwbase + offset, memory readrd
beqrs1과 rs2 비교조건부 PC

수식은 위아래 구조로 읽기

평문으로 제곱과 분수를 이어 쓰면 구조를 놓치기 쉽습니다. 아래 수식은 브라우저의 MathML로 렌더되며, 지수·아래첨자·분수를 실제 수학 표기처럼 보여 줍니다.

문제가 요구하는 공통 경로

CommonPath=PathslliPathswPathlwPathbeq

한 명령에서만 쓰는 선을 하나라도 포함하면 교집합이 아닙니다.

기본 next PC

PCnext=PC+4

branch가 실제로 선택되지 않는 경우의 기본 다음 instruction 주소입니다.

작은 숫자로 한 번 직접 해보기

두 instruction만 비교해도 원리가 보입니다. `add`와 `sw`는 instruction fetch와 register read, ALU 입력 일부는 공유하지만, add의 rd writeback과 sw의 memory write는 서로 공통이 아닙니다.

이 예제에서 중요한 것은 숫자 자체가 아니라, 어떤 값을 먼저 구하고 그 결과를 다음 계산에 넣는지입니다. 종이에 중간값을 생략하지 않고 적어 보세요.

초보자가 자주 멈추는 지점

ALU를 모두 쓰니 ALU의 모든 선이 공통인가요?

아닙니다. ALU를 쓰더라도 입력 mux 선택과 결과의 목적지가 다를 수 있습니다. component 이름이 아니라 실제 wire segment 단위로 교집합을 구합니다.

PC+4와 branch target 중 무엇을 그리나요?

모든 instruction이 기본 next PC 후보로 PC+4를 사용합니다. branch target 전용 계산은 beq에만 필요하므로 네 명령 공통 교집합에서는 분리해 판단합니다.

Register File 경로는 전부 공통인가요?

네 instruction 모두 decode 과정은 거치지만 필요한 read port 수와 write port 사용은 다릅니다. writeback은 sw와 beq에는 없으므로 공통이 아닙니다.

시험지에서 손으로 쓰는 순서

  1. 각 instruction마다 PC next, 읽는 register 수, ALU 입력, memory, destination을 표로 씁니다.
  2. 그림에서 한 instruction씩 다른 색으로 경로를 trace합니다.
  3. 네 색이 모두 겹치는 segment만 표시합니다.
  4. 조건부 path 포함 지시를 다시 읽습니다.
  5. 선 하나마다 ‘네 instruction 이름을 모두 말할 수 있는가?’로 검산합니다.

이 순서를 외우는 목적은 답을 암기하는 것이 아닙니다. 중간 과정을 답안지에 남겨 부분점수를 얻고, 어디에서 잘못됐는지 스스로 찾기 위한 체크포인트입니다.

3개 소문제로 개념 적용하기

각 소문제에는 이 장의 설명을 다시 포함한 독립 수업 페이지가 있습니다. 따라서 링크로 바로 들어가도 선행지식 없이 읽을 수 있습니다.

  1. 5-1
    네 instruction 개별 경로 분류

    `slli`, `sw`, `lw`, `beq`의 path를 각각 추적하세요. · 5 micro-work

    독립 수업 열기 →
  2. 5-2
    공통 path 교집합

    네 instruction 모두가 쓰는 선만 남기세요. · 5 micro-work

    독립 수업 열기 →
  3. 5-3
    Register File 연결 규칙

    A1/A2/A3/WD3가 어떤 instruction에서 쓰이는지 정리하세요. · 4 micro-work

    독립 수업 열기 →

출처

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p10–11 · 공식 해설 p23–36. 공식 답의 숫자와 course-specific datapath/FSM 가정은 변경하지 않았습니다.