---
schema_version: 1
exam_id: "sose26-probeklausur"
aufgabe: 1
unit_id: "1g"
source_group_id: "1g"
official_exam: true
official_solution: true
language: "ko"
---

# 1g — Operand 값과 ALU 시간

> **학습 목표:** 같은 ALU add instruction의 latency가 operand의 수치 크기가 아니라 combinational datapath와 clock period로 정해짐을 판별한다.
>
> **왜 따로 배우는가:** 사람의 손계산에서는 큰 수가 더 오래 걸리는 느낌이 있지만 digital ALU는 고정 폭 bit 회로를 통과시킵니다. 값의 크기, operation 종류, implementation latency를 분리하면 성능 문제에서 잘못된 직관을 제거할 수 있습니다.
>
> **범위:** Aufgabe 1 · 15점 Aufgabe의 최소 학습 단위 · 시험 p3–5 · 공식 해설 p3–6

## 1. 문제 원문 (Deutsch)

이 unit은 공식 Teilaufgabe 또는 표의 한 행·한 access를 학습 가능한 최소 단위로 다시 나눈 것입니다. 아래 전사는 source group `1g`의 공식 독일어 문제 원문이며, 페이지 이미지를 바로 뒤에 함께 두어 코드·표·도식을 대조할 수 있게 했습니다.

~~~text
1g) Befehlslaufzeit in RISC-V

Beantworten Sie die folgenden Fragen im Kontext der RISC-V Architektur:

a) Wird die Addition von zwei kleinen Zahlen (z.B. 1 und 1) schneller ausgeführt als die Addition von zwei großen Zahlen (z. B. 0xFFFFFF und 0xFFFFFF)?

b) Begründen Sie Ihre Antwort in einem Satz.

Lösung:
~~~

![공식 시험 원문 — exam-p05.png](../../assets/exam-p05.png)

*공식 시험 원문: `exam-p05.png` · Probeklausur.pdf · PDF p.5*

### 이 unit에서 풀 항목

작은 두 수의 addition이 큰 두 수보다 빠른지 판정하세요.

## 2. 쉬운 한국어 해석

1g) RISC-V에서의 명령 실행 시간(Befehlslaufzeit)

RISC-V 아키텍처의 맥락에서 다음 질문에 답하시오.

a) 두 작은 수(예: 1과 1)의 덧셈이 두 큰 수(예: 0xFFFFFF와 0xFFFFFF)의 덧셈보다 더 빠르게 실행되는가?

b) 답의 근거를 한 문장으로 설명하시오.

풀이:

### 이 unit에 해당하는 최소 작업

작은 두 수의 addition이 큰 두 수보다 빠른지 판정하세요.

이 문제에서 최종 결과만 맞히는 것보다 중요한 것은 `1g`에 필요한 중간 판단을 답안지에 남기는 것입니다.

## 3. 무엇을 묻는 문제인가

### 공식 문제의 요구사항

- operand 값의 크기가 integer addition의 실행 시간을 바꾸는지 판별한다.
- 판단 근거를 한 문장으로 설명한다.

### 조건과 제약

- b)의 근거는 한 문장이다.
- 강의에서 가정한 일반적인 고정 폭 RISC-V ALU와 clocked processor 구현을 기준으로 답한다.

### 원문 오탈자·도식 관련 주의

- RISC-V ISA 자체는 특정 명령의 절대 실행 시간이나 내부 ALU 회로를 규정하지 않는다. 따라서 ‘RISC-V Architektur’라는 문구만으로는 엄밀히 구현 독립적인 timing 결론을 낼 수 없고, 강의의 processor/ALU 구현 가정이 필요하다.
- 원문에서 첫 예시는 ‘z.B.’, 두 번째 예시는 ‘z. B.’로 띄어쓰기가 일관되지 않으며 그대로 유지했다.

### 도식 시각 확인 상태

- **도식 의존 여부:** 이 최소 unit의 핵심 판정은 텍스트·수식·코드로 재현할 수 있습니다.
- **공식 페이지 상태:** exam-p05.png, solution-p06.png가 원문 대조용으로 렌더되어 연결되어 있습니다.

### 이 unit의 학습 목표

- **관찰 가능한 목표:** 같은 ALU add instruction의 latency가 operand의 수치 크기가 아니라 combinational datapath와 clock period로 정해짐을 판별한다.
- **출제 의도:** 사람의 손계산에서는 큰 수가 더 오래 걸리는 느낌이 있지만 digital ALU는 고정 폭 bit 회로를 통과시킵니다. 값의 크기, operation 종류, implementation latency를 분리하면 성능 문제에서 잘못된 직관을 제거할 수 있습니다.
- **공식 근거 범위:** SoSe26 Probeklausur 시험 p5 Aufgabe 1g 및 공식 해설 p6의 operand 값과 ALU 실행시간 판정 범위.
- **Aufgabe 공통 선수지식:** 용어를 외우기 전에 ‘무엇을 입력받아 무엇을 출력하는가’, ‘CPU 내부가 겹쳐 일하는가’, ‘memory에서 다음 접근이 얼마나 가까운가’를 묻는 습관을 만듭니다.

## 4. 선수 개념과 핵심 용어

### ALU

- **뜻:** 정수 addition, subtraction, 논리 연산 등을 수행하는 combinational datapath 블록입니다.
- **이 문제에서:** 두 add instruction이 같은 hardware path를 사용하는지 확인합니다.

### combinational delay

- **뜻:** 입력 bit 변화가 회로를 지나 안정된 출력이 되기까지 걸리는 물리적 지연입니다.
- **이 문제에서:** 실행시간을 operand의 십진수 크기 대신 회로 경로로 설명합니다.

### clock period

- **뜻:** 동기식 processor에서 한 cycle에 허용된 시간으로, 선택한 worst-case timing 조건을 만족해야 합니다.
- **이 문제에서:** 같은 add가 보통 같은 cycle 수와 시간을 갖는 근거로 사용합니다.

### critical path

- **뜻:** clock period를 제한하는 가장 긴 combinational 경로입니다.
- **이 문제에서:** processor가 매 operand마다 clock을 바꾸지 않고 worst-case 경로에 맞추는 이유를 설명합니다.

### 이 문제에 적용할 풀이 규칙

### 규칙 1. opcode와 path 우선 규칙

두 연산의 opcode와 선택되는 functional unit/datapath가 같다면 수치의 크기만으로 cycle 수가 달라지지 않습니다.

- **시험지에 남길 것:** 비교 대상마다 `instruction 종류 → hardware path → cycle 수`를 적습니다.

### 규칙 2. 값과 연산 종류 분리

addition과 multiplication이 서로 다른 latency일 수 있는 것은 회로/algorithm이 다르기 때문이지 operand가 커 보이기 때문이 아닙니다.

- **시험지에 남길 것:** `data value`와 `operation/implementation` 두 열로 원인을 분류합니다.

### 규칙 3. worst-case clock 규칙

일반적인 고정 clock processor는 허용된 경로의 worst-case delay를 만족하도록 Takt를 정하므로 각 add의 실제 bit pattern에 맞춰 cycle을 줄이지 않습니다.

- **시험지에 남길 것:** `Tclock ≥ critical path delay` 식을 근거로 남깁니다.

### 공식 문제 전에 푸는 작은 유사 예제

**문제:** 같은 RV32I core에서 `sub t0,t1,t2`를 두 번 실행한다. 첫 입력은 9와 4, 둘째 입력은 `0x7FFFFFFF`와 `0x40000000`이다. 두 instruction의 실행 cycle이 다른지 판정하세요.

**주어진 것**

- 두 instruction은 같은 `sub` opcode와 같은 ALU 경로를 사용합니다.
- core의 clock frequency는 실행 중 고정입니다.

### 예제 단계 1. 두 instruction의 operation과 datapath를 비교합니다.

- **왜:** latency 차이는 먼저 다른 functional unit을 쓰는지에서 찾아야 합니다.
- **종이에:** `sub vs sub → same ALU subtract path`

### 예제 단계 2. operand 차이가 bit-width를 바꾸는지 확인합니다.

- **왜:** 둘 다 RV32의 고정된 32-bit operand이므로 큰 십진수라고 bit를 추가 처리하지 않습니다.
- **종이에:** `둘 다 32 bit input`

### 예제 단계 3. 고정 clock과 cycle 수로 결론냅니다.

- **왜:** clock은 critical path 기준이며 각 값마다 별도 반복 횟수를 정하지 않습니다.
- **종이에:** `same path + fixed clock → same execution time`

**예제 정답:** 두 `sub`는 같은 ALU path와 고정 clock을 사용하므로 operand 값 크기 때문에 cycle 수가 달라지지 않습니다.

**독립 검산:** 둘 중 하나를 `mul`로 바꾸면 값이 아니라 operation/functional unit이 달라졌다는 이유로 다시 판단해야 합니다.

## 5. 공식 정답 요약

**공식 결론:** 아니요. 이 강의의 processor 구현 가정에서는 같은 add instruction의 실행시간이 operand 값과 무관하며 clock frequency와 고정 datapath delay에 의해 정해집니다.

### 시험지 문장별 정답 해설

아래는 시험지의 항목 순서를 그대로 유지합니다. 각 항목에서 원문 → 한국어 번역 → 정답 → 판단 근거 → 실제로 쓸 답을 바로 이어서 읽으세요.

### a) 빠른가? · 정답: Nein, die Ausführungszeiten sind gleich.

- **시험지 원문:** Wird die Addition von zwei kleinen Zahlen schneller ausgeführt als die Addition von zwei großen Zahlen?
- **한국어 번역:** 두 작은 수의 덧셈이 두 큰 수의 덧셈보다 더 빠르게 실행되는가?
- **왜 이 답인가:** 두 경우 모두 같은 add instruction과 같은 고정 폭 ALU datapath를 사용합니다. 이 강의의 synchronous processor 모델에서는 operand의 수치 크기에 따라 cycle 수가 바뀌지 않습니다.
- **답안지에 쓸 문장:** a) Nein, die Ausführungszeiten sind gleich.

### b) 한 문장 근거 · 정답: clock frequency가 시간을 정하고 ALU가 모든 bit를 병렬 처리한다

- **시험지 원문:** Begründen Sie Ihre Antwort in einem Satz.
- **한국어 번역:** 답의 근거를 한 문장으로 설명하시오.
- **왜 이 답인가:** ALU는 수의 크기를 보고 반복 횟수를 늘리는 것이 아니라 정해진 bit-width의 combinational circuit로 처리합니다. processor clock은 worst-case delay를 만족하도록 고정되므로 같은 add의 operand 값은 실행 시간을 바꾸지 않습니다.
- **답안지에 쓸 문장:** b) Die Laufzeit wird durch die Taktfrequenz und nicht durch die Operandenwerte bestimmt, da die ALU alle Bits parallel verarbeitet.

### 현재 소문제의 요구·판단·답을 한 흐름으로 연결

### `1g`에서 정확히 답할 대상

- **시험지가 요구하는 답:** 작은 두 수의 addition이 큰 두 수보다 빠른지 판정하세요.
- **이 소문제의 공식 답:** 아니요. 이 강의의 processor 구현 가정에서는 같은 add instruction의 실행시간이 operand 값과 무관하며 clock frequency와 고정 datapath delay에 의해 정해집니다.

### 판단 1. 비교하는 두 instruction의 opcode와 datapath가 같은지 확인합니다.

- **왜:** 다른 operation이나 memory path라면 latency 차이가 있을 수 있으므로 값 비교 전에 구조적 조건을 고정해야 합니다.
- **이 판단에서 답안지에 남길 것:** `add / add, same datapath`라고 표시합니다.

### 판단 2. 둘 다 같은 고정 폭 ALU add path를 쓰는지 확인합니다.

- **왜:** ALU는 작은 수에는 적은 bit만, 큰 수에는 더 많은 bit를 순차 처리하는 손계산 방식이 아닙니다.
- **이 판단에서 답안지에 남길 것:** `32-bit combinational adder, same width`를 적습니다.

### 판단 3. clock period가 operand 값이 아니라 circuit의 worst-case delay로 정해짐을 씁니다.

- **왜:** 고정 clock에서는 개별 add의 값에 따라 Takt 길이가 달라지지 않는다는 최종 근거입니다.
- **이 판단에서 답안지에 남길 것:** `Tclock ≥ worst-case path; operand-independent for same add`를 남깁니다.

### 위 판단이 최종 답으로 이어지는 이유

이 강의의 고정 지연 synchronous processor model에서 Digital ALU는 operand의 ‘크기감’을 보고 반복 덧셈하지 않습니다. 고정된 combinational circuit가 모든 bit를 처리하며 processor clock은 worst-case path를 만족하도록 정해집니다. 이는 ISA가 모든 구현의 물리 latency를 절대 보장한다는 뜻은 아닙니다.

### 답안 작성 시 주의

ISA 자체의 보편적 timing 보장으로 일반화하지 말고 이 강의의 processor model을 명시하세요.

![공식 Musterlösung/Hinweise — solution-p06.png](../../assets/solution-p06.png)

*공식 Musterlösung/Hinweise: `solution-p06.png` · Probeklausur Musterlösung und Hinweise.pdf · PDF p.6*

## 6. 풀이 전략

1. 두 instruction의 opcode/datapath가 같은지 봅니다.
2. 둘 다 같은 ALU add path를 쓰는지 확인합니다.
3. clock period가 operand 값이 아니라 circuit delay로 정해짐을 씁니다.

## 7. 단계별 상세 풀이

### 단계 1. 비교하는 두 instruction의 opcode와 datapath가 같은지 확인합니다.

- **이유:** 다른 operation이나 memory path라면 latency 차이가 있을 수 있으므로 값 비교 전에 구조적 조건을 고정해야 합니다.
- **종이에 남길 것:** `add / add, same datapath`라고 표시합니다.
- **완료 기준:** 두 대상이 동일한 add instruction임을 근거로 확인했습니다.
- **막힐 때 힌트:** register 안의 값이 아니라 instruction mnemonic부터 보세요.
- **가장 흔한 첫 오류:** operand의 십진수 자릿수를 먼저 비교하는 것입니다.

### 단계 2. 둘 다 같은 고정 폭 ALU add path를 쓰는지 확인합니다.

- **이유:** ALU는 작은 수에는 적은 bit만, 큰 수에는 더 많은 bit를 순차 처리하는 손계산 방식이 아닙니다.
- **종이에 남길 것:** `32-bit combinational adder, same width`를 적습니다.
- **완료 기준:** 두 입력 모두 같은 수의 bit가 같은 회로를 통과한다고 설명할 수 있습니다.
- **막힐 때 힌트:** 값 1도 register에서는 RV32의 32-bit pattern으로 들어갑니다.
- **가장 흔한 첫 오류:** 값이 작으면 상위 bit 회로가 존재하지 않거나 cycle을 자동으로 생략한다고 가정하는 것입니다.

### 단계 3. clock period가 operand 값이 아니라 circuit의 worst-case delay로 정해짐을 씁니다.

- **이유:** 고정 clock에서는 개별 add의 값에 따라 Takt 길이가 달라지지 않는다는 최종 근거입니다.
- **종이에 남길 것:** `Tclock ≥ worst-case path; operand-independent for same add`를 남깁니다.
- **완료 기준:** ‘빠르지 않다’는 결론에 clock frequency와 datapath delay 근거가 모두 있습니다.
- **막힐 때 힌트:** processor는 매 instruction마다 clock frequency를 다시 설정하는지 생각하세요.
- **가장 흔한 첫 오류:** 답만 ‘같다’고 쓰고 왜 그런지 hardware timing 근거를 생략하는 것입니다.

## 8. 문제와 공식 해설의 비교·검증

- **문제가 요구하는 것:** 작은 두 수의 addition이 큰 두 수보다 빠른지 판정하세요.
- **공식 해설이 제시하는 결론:** 아니요. 이 강의의 processor 구현 가정에서는 같은 add instruction의 실행시간이 operand 값과 무관하며 clock frequency와 고정 datapath delay에 의해 정해집니다.
- **결론을 재현하는 핵심 논리:** 이 강의의 고정 지연 synchronous processor model에서 Digital ALU는 operand의 ‘크기감’을 보고 반복 덧셈하지 않습니다. 고정된 combinational circuit가 모든 bit를 처리하며 processor clock은 worst-case path를 만족하도록 정해집니다. 이는 ISA가 모든 구현의 물리 latency를 절대 보장한다는 뜻은 아닙니다.
- **검증 방법:** 위 micro-step의 `종이에 남길 것`을 순서대로 만들고 각 `완료 기준`을 확인합니다. 최종 산출물이 공식 결론과 같은지 대조합니다.
- **전제와 주의 범위:** ISA 자체의 보편적 timing 보장으로 일반화하지 말고 이 강의의 processor model을 명시하세요.
- **채택할 시험 답:** 이 가이드에서는 공식 Musterlösung의 결론을 시험 답으로 유지하며, 일반 ISA 또는 다른 구현과 달라질 수 있는 부분은 위 전제와 주의 범위에서 분리합니다.

## 9. 시험장에서 쓸 최종 답안

아니요. 이 강의의 processor 구현 가정에서는 같은 add instruction의 실행시간이 operand 값과 무관하며 clock frequency와 고정 datapath delay에 의해 정해집니다.

답안지에는 결과만 쓰지 말고, 7절의 중간 산출물 가운데 판정을 증명하는 식·bit field·register 상태·cycle·cache 상태를 함께 남기세요.

## 10. 자주 하는 실수와 검산 체크리스트

### 대표 실수

- ISA 자체의 보편적 timing 보장으로 일반화하지 말고 이 강의의 processor model을 명시하세요.
- operand의 십진수 자릿수를 먼저 비교하는 것입니다.
- 값이 작으면 상위 bit 회로가 존재하지 않거나 cycle을 자동으로 생략한다고 가정하는 것입니다.
- 답만 ‘같다’고 쓰고 왜 그런지 hardware timing 근거를 생략하는 것입니다.

### 빠른 self-check

- **회상 질문:** 왜 multiplication은 addition과 다른 latency일 수 있지만 같은 add 안의 값 크기는 보통 영향을 주지 않나요?
- [ ] 같은 operation의 값 크기 비교와 서로 다른 operation의 latency 비교를 구분할 수 있다.
- [ ] 답을 가리고 `Tclock ≥ critical path delay`를 사용해 같은 add의 시간을 설명할 수 있다.

## 11. 짧은 확인 문제와 전이 연습

### 개념 재구성

**문제:** 고정 clock RV32 core에서 같은 add의 실행시간을 결정하는 요소와 결정하지 않는 요소를 각각 두 개씩 분류하세요.

**힌트:** 회로·clock과 수치의 외형을 분리하세요.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** 결정 요소는 adder/datapath의 combinational delay와 processor clock/cycle 설계입니다. 같은 add 안에서 결정하지 않는 요소는 operand의 십진수 자릿수와 ‘작아 보임/커 보임’입니다.

**채점 기준**
  - datapath|adder|회로
  - delay|지연
  - clock|takt
  - operand
  - 값 크기|자릿수|numeric size

</details>

### 변형 문제

**문제:** 같은 core에서 `add x5,x6,x7`의 입력이 `(0,0)`인 경우와 `(-1,1)`인 경우를 비교하세요. 이어서 `mul x5,x6,x7`과 latency가 다를 수 있는 이유도 한 문장으로 쓰세요.

**힌트:** 첫 비교는 값만, 둘째 비교는 operation과 hardware가 바뀝니다.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** 두 add는 같은 고정 폭 adder를 사용하므로 값 때문에 latency가 달라지지 않습니다. mul은 multiplier의 회로 또는 multi-cycle 구현이 adder와 달라 latency가 다를 수 있습니다.

**채점 기준**
  - 같은 latency|same latency|달라지지
  - adder
  - mul|multiplier
  - 회로|implementation|multi-cycle

</details>

### 오답 진단

**문제:** 학생이 ‘`1+1`은 carry가 거의 없으니 한 cycle의 절반만 쓰고, `0xFFFFFFFF+1`은 32 bit carry 때문에 두 cycle이 필요하다’고 답했습니다. 고정 clock processor 가정에서 첫 오류와 수정 설명을 쓰세요.

**힌트:** cycle을 부분적으로 완료했다는 것이 architectural timing에 보이는지 생각하세요.

<details>
<summary>정답과 채점 기준 보기</summary>

**모범 답:** 첫 오류는 input-dependent 내부 전파 시간을 architectural cycle 수로 바꾼 것입니다. 같은 add는 같은 32-bit adder와 고정된 clock period를 사용하며 clock은 worst-case timing을 만족하도록 잡히므로 두 경우 모두 같은 정해진 cycle 수입니다.

**채점 기준**
  - input-dependent|입력 값
  - architectural cycle|cycle 수
  - 32-bit adder|32 bit adder
  - fixed clock|고정된 clock period
  - worst-case|critical path

</details>

## 12. 근거 자료

- `[문제 출처] current:Probeklausur.pdf` — 시험 p3–5 · 공식 해설 p3–6
- `[공식 해설] current:Probeklausur Musterlösung und Hinweise.pdf` — 시험 p3–5 · 공식 해설 p3–6
- `[정확한 원문 group] 1g` — 시험 p.5 · 공식 해설 p.6
- `[소문항 범위] SoSe26 Probeklausur 시험 p5 Aufgabe 1g 및 공식 해설 p6의 operand 값과 ALU 실행시간 판정 범위.`
- `[개념 근거 · file-level] current:Vorlesung/Rechnerorganisation - Teil 1.pdf` — toolchain, processor architecture, RISC-V
- `[개념 근거 · file-level] current:Vorlesung/Rechnerorganisation - Teil 2.pdf` — Eintakt, Mehrtakt, Pipeline와 고정 datapath timing
- `[개념 근거 · file-level] current:Vorlesung/Rechnerorganisation - Teil 3.pdf` — Speicherhierarchie와 Lokalität
- `[개념 근거 · file-level] current:Uebung/Übung C Musterlösung.pdf` — C memory layout와 row-major array
- `[개념 근거 · file-level] current:Uebung/Übung 0 Musterlösung.pdf` — Zweierkomplement와 수 표현

### 이 파일에서 직접 대조한 공식 이미지

- `exam-p05.png` — Probeklausur.pdf · PDF p.5
- `solution-p06.png` — Probeklausur Musterlösung und Hinweise.pdf · PDF p.6

정확한 강의 슬라이드 한 페이지를 확정하지 못한 개념 자료는 `file-level`로 표시했습니다. 페이지 번호를 추측해서 만들지 않았습니다.
