Aufgabe 1 · 15 Punkte · 개념 판별
Theorieaufgaben
용어를 외우기 전에 ‘무엇을 입력받아 무엇을 출력하는가’, ‘CPU 내부가 겹쳐 일하는가’, ‘memory에서 다음 접근이 얼마나 가까운가’를 묻는 습관을 만듭니다.
공식 시험지와 공식 Musterlösung을 기준으로 작성했습니다. 그림 문제는 렌더된 원본 페이지도 함께 대조합니다.
BEGINNER CONCEPT LESSON
문제 풀이 전에 개념부터 배우기
용어를 모르는 상태에서 답을 외우지 않도록, 비유·그림·작은 예제·시험용 풀이 알고리즘을 별도 수업으로 만들었습니다.
원본 그림과 공식 해설 그림
diagram 문제는 text만으로 대체하지 말고 아래 원본을 확대해 선·stage·field를 직접 확인하세요.
MICRO WORK UNITS
8개 작업 단위로 학습
각 카드는 요구사항 → zero-base 개념 → 손풀이 단계 → 공식 결론 → 함정 → active recall 순서입니다.
1aWerkzeugkette 4개 역할 매칭
문제가 요구하는 것
Compiler, Assembler, Linker, Loader를 정의에 연결하고 남는 정의를 표시하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
C 코드는 곧바로 CPU에서 실행되지 않습니다. Compiler가 C→Assembly, Assembler가 Assembly→Objektdatei, Linker가 여러 Objektdatei→Executable, Loader가 Executable→Hauptspeicher를 담당합니다.
문장을 생활 언어로 다시 쓰고, 맞는 구조와 틀린 구조를 하나씩 떠올리세요.
답안에는 판정만 쓰지 말고 판단 기준을 한 문장 덧붙이세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- 정의의 입력을 찾습니다.
- 정의의 출력을 찾습니다.
- C → Assembly → Objekt → Executable → Memory 사슬에 놓습니다.
- 남는 ‘기계어를 hardware에서 emulieren’ 정의는 제외합니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
Compiler=Hochsprachencode→Assemblercode, Assembler=Assemblercode→Maschinencode/Objektdatei, Linker=여러 Objektdatei→하나의 ausführbare Datei, Loader=ausführbare Datei→Hauptspeicher. 남는 정의는 ‘Maschinencode direkt auf der Hardware emuliert’이며 Emulator에 해당합니다.
3. 초보자가 자주 빠지는 오답과 이유
Linker와 Loader를 뒤집지 마세요. Linker가 파일을 완성한 뒤 Loader가 실행 상태로 옮깁니다.
4. 정답을 닫고 스스로 설명하기
Assembler의 입력과 출력은 각각 무엇인가요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p3–5 · 공식 해설 p3–6
1bEintakt·Mehrtakt·Pipeline 구분
문제가 요구하는 것
6개 Aussage에 E/M/P를 모두 표시하고 각 행의 근거를 쓰세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
Eintakt는 instruction 하나의 모든 datapath 작업을 한 긴 Takt에 끝냅니다. Mehrtakt는 한 instruction을 여러 짧은 Takt로 나눕니다. Pipeline은 서로 다른 instruction의 stage를 겹쳐 처리하므로 hazard 해결 hardware가 필요합니다. Von-Neumann 판정은 일반적인 모든 설계가 아니라 이 강의의 shared-memory Mehrtakt datapath 전제입니다.
문장을 생활 언어로 다시 쓰고, 맞는 구조와 틀린 구조를 하나씩 떠올리세요.
답안에는 판정만 쓰지 말고 판단 기준을 한 문장 덧붙이세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- ‘한 instruction이 여러 cycle인가?’를 먼저 봅니다.
- ‘여러 instruction이 동시에 겹치는가?’를 봅니다.
- 겹친다면 Data Hazard와 Hazard Unit을 연결합니다.
- Instruction/Data memory를 공유하는 Von-Neumann 특징은 이 강의의 Mehrtakt datapath와 연결합니다.
- 여섯 Aussage를 행별로 최종 판정하고 각 행에 한 줄 근거를 붙입니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
1=P: pipeline register·forwarding/hazard logic까지 필요합니다. 2=P&M: M은 여러 state, P는 한 instruction이 여러 stage/cycle을 지납니다. 3=E&M: 동시에 여러 instruction을 겹치지 않아 inter-instruction Data Hazard가 없습니다. 4=P: Hazard Unit으로 겹친 instruction 충돌을 처리합니다. 5=E: 모든 instruction이 정확히 한 clock cycle을 사용합니다. 6=M: 이 강의의 Mehrtakt는 instruction/data에 shared memory를 쓰는 Von-Neumann 구조입니다.
3. 초보자가 자주 빠지는 오답과 이유
Pipeline의 latency와 throughput을 구분하고, 6번은 이 강의 datapath 전제이지 모든 Mehrtakt processor에 대한 보편 명제가 아님을 적으세요.
4. 정답을 닫고 스스로 설명하기
Data Hazard가 Pipeline에서만 문제가 되는 핵심 이유는 무엇인가요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p3–5 · 공식 해설 p3–6
1cSpeicherhierarchie 정렬
문제가 요구하는 것
Register, Cache, DRAM, SSD/HDD를 빠른 순서로 정렬하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
CPU에 가까울수록 보통 빠르고 작으며 bit당 비용이 높습니다. Register는 CPU의 즉시 작업칸, Cache는 자주 쓸 data의 작은 복사본, DRAM은 Hauptspeicher, SSD/HDD는 영구 저장장치입니다.
문장을 생활 언어로 다시 쓰고, 맞는 구조와 틀린 구조를 하나씩 떠올리세요.
답안에는 판정만 쓰지 말고 판단 기준을 한 문장 덧붙이세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- CPU 내부부터 바깥쪽으로 그립니다.
- Register→Cache→DRAM→SSD/HDD 순서로 놓습니다.
- 문제의 번호 1=가장 빠름을 다시 확인합니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
1 Register, 2 Cache, 3 DRAM, 4 SSD/HDD.
3. 초보자가 자주 빠지는 오답과 이유
용량 순서와 속도 순서를 혼동하지 마세요. 보통 용량은 반대 방향으로 커지고 bit당 비용은 낮아집니다.
4. 정답을 닫고 스스로 설명하기
Cache가 DRAM보다 빠른데도 DRAM이 필요한 이유는 무엇인가요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p3–5 · 공식 해설 p3–6
1d2차원 Array의 Lokalität
문제가 요구하는 것
`arr[j][i]` 접근이 spatial/temporal 중 무엇을 나쁘게 만드는지 설명하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
C의 2차원 array는 row-major라 `arr[0][0], arr[0][1], ...` 순서로 연속 배치됩니다. 안쪽 loop에서 j를 바꾸며 `arr[j][i]`를 읽으면 매번 100개 원소만큼 건너뜁니다.
문장을 생활 언어로 다시 쓰고, 맞는 구조와 틀린 구조를 하나씩 떠올리세요.
답안에는 판정만 쓰지 말고 판단 기준을 한 문장 덧붙이세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- 안쪽 loop에서 실제로 변하는 index를 찾습니다.
- 연속된 두 접근 주소 차이를 계산합니다: 100 × 4 Byte.
- 같은 값을 반복하는 문제가 아니라 이웃 주소를 못 쓰는 문제임을 확인합니다.
- `arr[i][j]`와 비교해 답을 씁니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
나쁜 räumliche Lokalität입니다. `arr[j][i]`는 열 방향으로 접근하여 memory의 연속 원소 대신 100개 원소 간격으로 이동합니다.
3. 초보자가 자주 빠지는 오답과 이유
‘loop가 반복되므로 temporal’이라고 쓰지 마세요. 같은 주소를 곧 다시 쓰는지와 이웃 주소를 쓰는지를 구분합니다.
4. 정답을 닫고 스스로 설명하기
`arr[i][j]`로 바꾸면 왜 Cache line을 더 잘 활용하나요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p3–5 · 공식 해설 p3–6
1eAlignment와 misaligned word
문제가 요구하는 것
4의 배수가 아닌 주소에 32-bit word를 쓸 수 있는지 architecture별로 설명하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
Aligned word는 시작 주소가 word 크기 4 Byte의 배수입니다. 가능 여부는 architecture/implementation에 따라 다릅니다. 공식 해설의 수업 RISC-V 문맥에서는 misaligned word access가 exception을 일으키고, ARM32 예시는 두 aligned block에 나누어 접근할 수 있어 느리고 hardware가 복잡해집니다.
문장을 생활 언어로 다시 쓰고, 맞는 구조와 틀린 구조를 하나씩 떠올리세요.
답안에는 판정만 쓰지 말고 판단 기준을 한 문장 덧붙이세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- word=4 Byte를 적습니다.
- 주소 mod 4가 0인지 확인합니다.
- 일반 답과 이 시험의 RISC-V 가정을 분리합니다.
- 두 block에 걸치는 경우의 추가 비용을 이유로 설명합니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
일반적으로 architecture에 따라 다릅니다. 이 시험의 RISC-V 가정에서는 4-byte aligned가 아닌 word access는 허용되지 않고 exception이 발생합니다. 공식 해설의 ARM32 예시처럼 허용하는 architecture에서는 word가 두 aligned memory block에 걸쳐 두 번의 접근과 추가 hardware logic이 필요해 느려질 수 있습니다. RISC-V에서의 제한은 memory access를 한 aligned block으로 단순화합니다.
3. 초보자가 자주 빠지는 오답과 이유
모든 CPU에 절대 불가능하다고 일반화하지 말고, 공식의 ‘architecture-dependent → 수업 RISC-V 불허 → ARM32 허용 예’ 순서를 유지하세요.
4. 정답을 닫고 스스로 설명하기
주소 0x1002에서 4 Byte를 읽으면 어떤 byte 범위를 건드리나요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p3–5 · 공식 해설 p3–6
1fSigned Immediate의 이유와 비용
문제가 요구하는 것
Store·Branch·Jump immediate를 Zweierkomplement로 표현하는 이유와 단점을 말하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
Signed immediate는 base/PC 기준 앞과 뒤를 모두 가리킬 수 있게 합니다. Zweierkomplement는 음수와 양수의 덧셈을 같은 adder로 처리하기 좋지만, 같은 bit 수의 unsigned보다 최대 양수 범위가 절반가량 작습니다.
문장을 생활 언어로 다시 쓰고, 맞는 구조와 틀린 구조를 하나씩 떠올리세요.
답안에는 판정만 쓰지 말고 판단 기준을 한 문장 덧붙이세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- offset이 어느 기준에 더해지는지 찾습니다.
- 뒤로 가는 loop/jump에 음수가 필요한지 확인합니다.
- 아래 수식에 따라 n-bit signed 범위를 적습니다.
- unsigned 양수 범위와 비교합니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
이유: positive/negative offset 모두 표현하여 앞·뒤 주소 이동이 가능함. 단점: sign bit 때문에 positive maximum이 unsigned보다 작음.
3. 초보자가 자주 빠지는 오답과 이유
Store 자체가 control-flow jump는 아니지만 base address에서 음의 offset으로 앞쪽 memory를 가리킬 수 있습니다.
4. 정답을 닫고 스스로 설명하기
12-bit signed immediate의 범위는 무엇인가요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p3–5 · 공식 해설 p3–6
1gOperand 값과 ALU 시간
문제가 요구하는 것
작은 두 수의 addition이 큰 두 수보다 빠른지 판정하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
이 강의의 고정 지연 synchronous processor model에서 Digital ALU는 operand의 ‘크기감’을 보고 반복 덧셈하지 않습니다. 고정된 combinational circuit가 모든 bit를 처리하며 processor clock은 worst-case path를 만족하도록 정해집니다. 이는 ISA가 모든 구현의 물리 latency를 절대 보장한다는 뜻은 아닙니다.
문장을 생활 언어로 다시 쓰고, 맞는 구조와 틀린 구조를 하나씩 떠올리세요.
답안에는 판정만 쓰지 말고 판단 기준을 한 문장 덧붙이세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- 두 instruction의 opcode/datapath가 같은지 봅니다.
- 둘 다 같은 ALU add path를 쓰는지 확인합니다.
- clock period가 operand 값이 아니라 circuit delay로 정해짐을 씁니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
아니요. 이 강의의 processor 구현 가정에서는 같은 add instruction의 실행시간이 operand 값과 무관하며 clock frequency와 고정 datapath delay에 의해 정해집니다.
3. 초보자가 자주 빠지는 오답과 이유
ISA 자체의 보편적 timing 보장으로 일반화하지 말고 이 강의의 processor model을 명시하세요.
4. 정답을 닫고 스스로 설명하기
왜 multiplication은 addition과 다른 latency일 수 있지만 같은 add 안의 값 크기는 보통 영향을 주지 않나요?
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p3–5 · 공식 해설 p3–6
1hWahr/Falsch 5문장
문제가 요구하는 것
다섯 문장의 참/거짓을 이유와 함께 판정하세요.
이 카드는 빠른 복습용입니다. 처음 학습한다면 아래 독립 페이지에서 용어·비유·수식·작은 예제부터 읽으세요.
0. 이 소문제에 필요한 핵심 개념
문장 전체를 판정합니다. `for`와 `while`은 같은 branch/label 구조로 번역될 수 있고, `nop`은 `addi x0,x0,0`의 pseudo 표기입니다. RV32의 32는 XLEN, 즉 integer-register 폭이며 기본 RV32I instruction encoding의 32 bit 및 5-bit register index와는 별개입니다. Endian 선택 자체가 보편적 성능 우위를 만들지 않습니다.
문장을 생활 언어로 다시 쓰고, 맞는 구조와 틀린 구조를 하나씩 떠올리세요.
답안에는 판정만 쓰지 말고 판단 기준을 한 문장 덧붙이세요.
1. 이번 시험 문제에서 실제로 밟는 단계
- 절대 표현을 표시합니다.
- while/for는 machine-level control flow를 비교합니다.
- nop을 base instruction으로 펼칩니다.
- instruction width, XLEN, register index width를 분리합니다.
- Big/Little endian은 byte order임을 확인합니다.
2. 단계가 도착해야 하는 공식 답지 기준 결론
1 Nein — for와 while 모두 label·조건 branch·back jump로 같은 형태가 될 수 있습니다. 2 Ja — `nop`은 `addi x0,x0,0`의 pseudoinstruction이고 x0 write는 버려집니다. 3 Nein — 기본 RV32I instruction은 32 bit이며 64 bit 저장이나 immediate overflow 방지가 이유가 아닙니다. 4 Nein — Big-Endian 자체가 일반적 성능 우위를 주지 않습니다. 5 Nein — Little-Endian도 주소 표현 때문에 일반적으로 더 빠른 것이 아니며 두 방식은 multi-byte 값의 byte order 차이입니다.
3. 초보자가 자주 빠지는 오답과 이유
각 문장마다 Ja/Nein뿐 아니라 반례 또는 올바른 수정문을 한 줄 붙이세요. Endian은 일반적 성능 등급이 아닙니다.
4. 정답을 닫고 스스로 설명하기
`nop`이 architectural state를 바꾸지 않는 이유를 x0 특성과 함께 말해 보세요.
Source: Probeklausur.pdf / Probeklausur Musterlösung und Hinweise.pdf · 시험 p3–5 · 공식 해설 p3–6






