Today digital technology permeates every corner of our society. There are three big trends that shape our future. The first one is the coming of Artificial Intelligence. The second one is the rise of Automation. The last one the revolution of technology to transfer money. These advancements rely on the power of computing. This class introduces an overview of modern computer system.
The class is divided into three parts. The first one discusses fundamental and performance of the modern processor. The second part discusses multicore processors and Graphic Processing Units. The third part discusses current research in high performance system.
part 1 Basic
part 2 Multicore
part 3 Current topics
...
. . .
26 Aug
2.1) Write a program to read port11 (digital input) with interrupt, use this data to plot a graph. What is the frequency of this wave? Assuming S2 is running at 1MHz and interrupt 0 has period 150 clocks.3) Use logicWork to implement a clock. Input is 50 Hz signal. The output is 7-segment display. Output has 4 digits, 2 digits for hour, 2 digits for second. One blinking display for 1 sec. Please realise the counter as synchronous (all flip-flop has the same clock) because it will lessen any timing error.
9 Sept
4) Begin to study processor simulator in order to write a simulator for 4B. An example of such program is the project processor TX1. Read a bit about it and download its simulator package "tx1-2.zip". Then, study the source code of its simulator in the directory "simtx1". Next week we will discuss how the simulator work.
23 Sept
5) Write "instruction level simulator" for 4B. We will discuss about your simulator in the next class.
7 Oct
6) Write "control level simulation" for 4B
28 Oct
7) Experiment with cache design
Cache design
Perform experiment on Cache design with the given
trace. cache-simulator (C program)
Large trace:
This is a trace of a compiler, Som v. 4.1, compiles itself. See this page
for the detail about the compiler
http://www.cp.eng.chula.ac.th/~piak/project/som/index.htm
The trace file is trx.zip (5 Mbytes). When
unzip it is ~100Mbytes.
each line contains an address xxx {r,w} r is read w is write
data is at 0..371192
instruction is at 400000..410873
total number of instruction executed is 4520058
total number of data access is 1044647.
4 Nov
8) Multi-core -- using dual core s30, write a program to find maxmimum value of an array of integer. This is similar to sum array example. Write it in RZ language and compile it with rz36 compiler, then use s30 tools to assemble and run object file in the simulator.
Computer
Organization and Design: The hardware/software interface (RISC-V edition)
D. Patterson, J. Hennessy, Morgan Kaufman, 2018. link
to Amazon
Kohavi, Switching and finite automata theory, 2009 link to Amazon
Transistor level simulation of an antique CPU. 6502 is used in the iconic Apple II machine.last update 11 Nov 2021