UNIT-SPECIFIC ACTIVE LESSON · 5-1

네 instruction 개별 경로 분류

`slli`, `sw`, `lw`, `beq`의 path를 각각 추적하세요.

학습 목표: slli, sw, lw, beq 각각에 대해 PC 경로, register port, ALU 입력, memory 동작, writeback을 빠짐없이 분리해 표시할 수 있다.
공식 근거 범위: Probeklausur.pdf 시험 p10의 네 instruction과 빈 Eintakt diagram, Probeklausur Musterlösung und Hinweise.pdf 공식 해설 p23–24의 개별 instruction path.

왜 이 소문제를 따로 배우는가

공통 path를 바로 그리면 합집합과 교집합을 섞기 쉽습니다. 네 instruction의 개별 경로를 먼저 완성해야 최종 공통선을 안전하게 얻고 감점 위험을 줄일 수 있습니다.

이 페이지는 Aufgabe 5의 공통 템플릿이 아니라 5-1 네 instruction 개별 경로 분류에 필요한 내용만 담습니다. 챕터 전체 배경이 필요하면 Aufgabe 5 개념 수업을 먼저 읽으세요.

이 소문제에서 실제로 쓰는 용어

정의뿐 아니라 이 문제의 어느 판단에 쓰이는지까지 연결합니다.

data path
instruction 처리 중 값이 component와 wire를 따라 이동하는 경로입니다.이 소문제에서: 네 instruction이 실제로 사용하는 연결을 각각 추적할 때 사용합니다.
Register File
source register를 읽고 필요하면 destination register에 결과를 쓰는 저장 component입니다.이 소문제에서: A1/A2 읽기와 A3/WD3 writeback 사용 여부를 instruction별로 판정할 때 사용합니다.
ALUSrc
ALU의 둘째 입력이 register 값인지 extended immediate인지 고르는 선택입니다.이 소문제에서: slli, sw, lw와 beq가 ALU 입력을 어떻게 다르게 만드는지 구분할 때 사용합니다.
writeback
ALU 결과나 memory read 결과를 destination register에 기록하는 마지막 흐름입니다.이 소문제에서: slli와 lw에는 있지만 sw와 beq에는 없는 register destination 경로를 판정할 때 사용합니다.

이 소문제 전용 규칙과 종이 작업

세 질문으로 instruction 경로를 고정한다

각 instruction마다 다음 PC, 읽는 operand, 최종 destination을 먼저 정하면 필요한 component가 자연스럽게 결정됩니다.

종이에: instruction별로 PC / sources / operation / destination 네 열 표를 작성합니다.

assembly operand 위치를 역할로 다시 읽는다

첫 register가 항상 destination은 아니며 sw의 첫 register는 memory에 쓸 data, 괄호 안 register는 주소 base입니다.

종이에: 각 register 위에 rd, rs1, rs2 또는 store-data/base를 직접 적습니다.

개별 경로에서는 아직 지우지 않는다

교집합 판단은 네 개별 경로가 완성된 뒤에 해야 특정 instruction의 전용선을 실수로 공통선으로 남기지 않습니다.

종이에: 네 경로를 서로 다른 색이나 네 행의 Boolean 표로 먼저 보존합니다.

Aufgabe 전체 흐름은 챕터 흐름도에서 확인할 수 있습니다. 여기서는 현재 판단에 직접 필요한 규칙만 적용합니다.

이 소문제 전용 작은 예제

addi t0,t1,4와 sw t2,8(s0)의 개별 경로를 register 읽기, ALU, memory, writeback 기준으로 비교하세요.

주어진 것

  • addi는 I-type ALU instruction입니다.
  • sw는 base+offset 주소에 register data를 저장합니다.
  • 두 instruction 모두 정상 순차 실행이면 PC+4 후보를 사용합니다.
  1. 각 instruction의 source와 destination을 적습니다.

    Register File의 읽기/쓰기 port 사용을 결정하기 위해서입니다.

    종이 산출물: addi: rs1=t1, rd=t0; sw: rs1=s0(base), rs2=t2(data), rd 없음

  2. ALU 두 입력과 결과 의미를 적습니다.

    둘 다 immediate를 사용하지만 addi 결과는 값이고 sw 결과는 주소입니다.

    종이 산출물: addi ALU=t1+4; sw ALU=s0+8=memory address

  3. 최종 destination과 write enable을 표시합니다.

    register writeback과 Data Memory write를 혼동하지 않기 위해서입니다.

    종이 산출물: addi RegWrite=1, MemWrite=0; sw RegWrite=0, MemWrite=1

예제 답과 독립 검산 보기

addi는 A1→ALU(immediate)→WD3/rd 경로를, sw는 A1/A2→ALU 주소와 WriteData→Data Memory 경로를 사용합니다.

독립 검산: sw에 A3/WD3를 표시하지 않았는지, addi에 Data Memory write를 표시하지 않았는지 확인합니다.

이제 실제 시험 문제를 micro-work로 풀기

공식 시험이 요구하는 것

`slli`, `sw`, `lw`, `beq`의 path를 각각 추적하세요.

공식 답을 보기 전, 내 답 먼저 남기기

완성 문장이 아니어도 좋습니다. 중간값·register·cycle·cache state처럼 채점 가능한 흔적을 먼저 적으세요.

각 작업의 중간 산출물을 직접 적고 완료 조건을 만족한 뒤 체크하세요. 단계별 이유·산출물·오류가 현재 소문제에 맞게 따로 작성되어 있습니다.

PC가 PC+4 또는 branch target 중 무엇인지 표시합니다.

왜 하는가
모든 instruction은 fetch를 하지만 beq만 조건에 따라 branch target을 선택할 수 있어 PC 경로가 달라집니다.
종이 산출물
slli/sw/lw에는 PC+4, beq에는 PC+4와 조건부 BTA 후보를 적습니다.
완료 조건
네 instruction 각각의 next-PC 후보와 조건 여부가 구분됩니다.
막혔을 때 단계 힌트·대표 오류

힌트: 먼저 jump/branch instruction인지 판정하세요.

이 단계의 대표 오류: beq가 목록에 있다는 이유로 branch target 경로를 네 instruction 모두의 개별 경로에 넣습니다.

A1/A2/A3/WD3 사용 여부를 표시합니다.

왜 하는가
source 수와 register destination 유무가 Register File 주변 연결을 결정합니다.
종이 산출물
slli A1/A3/WD3, sw A1/A2, lw A1/A3/WD3, beq A1/A2 표를 만듭니다.
완료 조건
각 port에 실제 operand 역할과 register 이름을 붙일 수 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: sw의 첫 operand는 rd가 아니라 저장할 data입니다.

이 단계의 대표 오류: sw t1,0(t2)의 t1을 A3 destination으로 표시합니다.

ALU의 두 입력 source를 표시합니다.

왜 하는가
ALU가 register 비교를 하는지, base+offset을 하는지, shift immediate를 처리하는지에 따라 MUX 선택이 달라집니다.
종이 산출물
각 instruction에 SrcA와 SrcB가 register/immediate 중 무엇인지 적습니다.
완료 조건
네 instruction 모두의 ALU 계산식을 한 줄씩 쓸 수 있습니다.
막혔을 때 단계 힌트·대표 오류

힌트: 괄호 밖 숫자나 shift amount가 있으면 immediate 경로를 먼저 의심하세요.

이 단계의 대표 오류: beq의 둘째 source를 immediate로 표시해 두 register 비교를 놓칩니다.

Data Memory read/write를 표시합니다.

왜 하는가
lw만 memory read를, sw만 memory write를 수행하고 slli/beq는 Data Memory를 사용하지 않습니다.
종이 산출물
lw: read, sw: write, slli/beq: none인 표와 memory address/data 방향을 적습니다.
완료 조건
MemWrite와 memory read 결과 경로를 instruction별로 구분합니다.
막혔을 때 단계 힌트·대표 오류

힌트: load는 memory→CPU, store는 CPU→memory 방향입니다.

이 단계의 대표 오류: lw와 sw 모두 memory를 쓰므로 둘 다 같은 read/write 방향이라고 표시합니다.

register writeback 여부를 표시합니다.

왜 하는가
slli는 ALUResult를, lw는 ReadData를 rd에 쓰지만 sw와 beq는 일반 register destination이 없습니다.
종이 산출물
slli WD3=ALUResult, lw WD3=ReadData, sw/beq RegWrite=0을 적습니다.
완료 조건
ResultSrc와 RegWrite가 필요한 두 instruction을 정확히 가려냅니다.
막혔을 때 단계 힌트·대표 오류

힌트: assembly 결과가 첫 register에 저장되는 instruction인지 보세요.

이 단계의 대표 오류: beq의 비교 결과를 일반 register에 writeback한다고 표시합니다.

공식 답을 열기 전 마지막 회상

lw와 sw가 공통으로 쓰지만 slli와 beq는 쓰지 않는 block은 무엇인가요?

내 풀이 후 공식 결론·이유·대표 함정 확인

공식 결론

공식 해설 p23–24의 네 개별 diagram을 먼저 완성한 뒤 p25에서 교집합을 확인합니다.

왜 이 답이 되는가

slli는 register→ALU→register, sw는 base/data register→ALU/Data Memory, lw는 base→ALU→Data Memory→register, beq는 두 register 비교와 조건부 PC 선택을 씁니다.

대표 함정

문제는 합집합이 아니라 모든 네 instruction이 공통으로 쓰는 교집합입니다.

명령어와 식을 줄 단위로 읽기

본문 속 code를 한 줄씩 분리했습니다. 각 줄에서 source, operation, destination을 표시하세요.

slli
sw
lw
beq

새 문제로 전이하기

세 문항은 앞 문장의 반복이 아닙니다. 직접 답을 입력하면 rubric의 필수 기준을 하나씩 검사하고, 첫 누락 기준을 알려 줍니다.

1. 개념 재구성

instruction 하나의 Eintakt data path를 추적할 때 쓰는 다섯 확인 항목을 기억에서 재구성하세요.

제출 후 모델 답 보기

next PC, Register File port, ALU 입력/연산, Data Memory read/write, register writeback을 확인합니다.

2. 변형 문제

addi a0,a1,12, sb t0,3(s1), lh t2,2(s2), bne t3,t4,L의 source 수, memory 방향, register write 여부를 표로 만드세요.

제출 후 모델 답 보기

addi: source1+imm, memory 없음, register write. sb: base+data source2개, memory write, register write 없음. lh: base+imm, memory read, register write. bne: source2개 비교, memory 없음, register write 없음.

3. 오류 진단

학생이 sw t1,0(t2)를 'A1=t1, A3=t2, WD3=memory'로 그렸습니다. 첫 오류부터 고치세요.

제출 후 모델 답 보기

t2가 주소 base이므로 A1=t2이고 t1은 저장 data이므로 A2=t1입니다. sw는 일반 register destination과 WD3 writeback이 없습니다.

이 소문제를 끝냈다고 말할 수 있는 기준

이 소문제의 정확한 공식 페이지와 대조하기

왼쪽은 문제를 읽을 때, 오른쪽은 자신의 풀이를 끝낸 뒤에 확인하세요. 해설 이미지를 먼저 보면 중간 과정을 스스로 만드는 연습이 사라집니다.

5-1 관련 공식 시험 또는 해설 페이지
exam-p10.png · 클릭해 원본 크기로 확인
5-1 관련 공식 시험 또는 해설 페이지
solution-p23.png · 클릭해 원본 크기로 확인
5-1 관련 공식 시험 또는 해설 페이지
solution-p24.png · 클릭해 원본 크기로 확인

Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p10–11 · 공식 해설 p23–36 · Probeklausur.pdf 시험 p10의 네 instruction과 빈 Eintakt diagram, Probeklausur Musterlösung und Hinweise.pdf 공식 해설 p23–24의 개별 instruction path.