3. 강의목표
This course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation
4. 강의선수/수강필수사항
CSED 273 : Digital System (prefered)
Effective Programming Skills in C and UNIX
7. 참고문헌 및 자료
"Computer Systems: A Programmer's Perspective" (3rd edition) by Randal Bryant and David O'Hallaron.
8. 강의진도계획
Week 1: Introduction, Integer representation
Week 2: Integer, Floating-point representation
Week 3: Floating-point, Machine-level Basic (history, ISA concept)
Week 4: Machine-level Basic (registers, instruction mov, addressing mode)
Week 5: Arithmetic & Control instructions, Procedure Realization
Week 6: Procedure realization, Structured Data realization (Array, Structure, Union...)
Week 7: Advanced Topics (Memory Layout, Buffer Overflow)
Week 8: Mid-term Exam, Memory Hierarchy
Week 9: Cache Memories, Linking
Week 10: Exceptions & Processes, Non-loacl Jump
Week 11: I/O Sub-device control
Week 12: Virtual Memory
Week 13: Virtual Memory (cont.), Dynamic MA
Week 14: Dynamic MA (cont.), Networking
Week 15: Program optimization, Thread-level Parallelism
Week 16: Final exam
11. 장애학생에 대한 학습지원 사항
- 수강 관련: 문자 통역(청각), 교과목 보조(발달), 노트필기(전 유형) 등
- 시험 관련: 시험시간 연장(필요시 전 유형), 시험지 확대 복사(시각) 등
- 기타 추가 요청사항 발생 시 장애학생지원센터(279-2434)로 요청