For project submission and automatic grading, we are running a dedicated server at http://sys.snu.ac.kr. If you want to access the sys server outside of the SNU campus, please send a mail to the instructor.

Project #4: Optimzing Program for a Pipelined Y86-64 Processor

In this project, you will learn how to optimize the performance of a program on a pipelined Y86-64 processor. Our target is the pipelined Y86-64 processor implementation called PIPE-Stall that does not support data forwarding. You need to optimize the bmp_diag() function written in Project #3 so that you can get the most out of the PIPE-Stall processor.

Project #3: Drawing diagonal lines in an image

In this project, you will implement a basic image processing program using the x86-64 assembly language. An image file in the BMP format will be given as an input to your program. This assignment aims at introducing various primitive instructions provided by the x86-64 assembly language. In addition, you will learn the basic structure of the BMP image file.

Project #2: TinyFP (8-bit floating point) Representation

The goal of this project is to get familiar with the floating-point representation by implementing a simplified 8-bit floating-point representation.

Project #1: Converting Fixed-Point to Floating-Point

The purpose of this project is to understand the fixed-point representation. Another goal is to make your Linux development environment ready and to get familiar with our sys server for project submission.