Lecturers: | Dr. James McLean | Dr. Yvan Petillot |
Contact Details: | Room 2.24 | Room 3.20 |
email: J.McLean@hw.ac.uk | email: Y.R.Petillot@hw.ac.uk |
Aim of Course: | To introduce concepts of computer architecture and modern networking including TCP/IP and OSI standards |
Course Policy: | If you don't understand something during the lectures or think we are assuming too much (or too little) prior knowledge, then please feel free to interrupt and ask a question. Alternatively, come to see us in our offices or email your query - contact details above. |
Outline Description: | Weeks 1-5, Dr. James McClean Performance: MIPs,MFLOPs,progs to evaluate performance, Benchmarks,benchmark suits,comparison figures,Amdahl's law Computer Design: Best price/perf for given functional requirement,Moore's law, IC costs,wafer yield,test costs. Memory Hierarchy: Technologies,evolution of DRAM tech, speed calculations,interleaved memories. | Weeks 6-10, Dr. Yvan Petillot Networks: Introduction to layered communication, ISO reference model, overview of levels 1-7; Physical layer: stop and wait, alternating bit and sliding window protocols; commercial examples; Network Layer: routing and congestion control, virtual circuits and datagrammes; Transport Layer: levels of service. |
Mondays, 9.15 -10.15am Room EM 1.82 | Tuesdays, Room EM 3.06 1.15-2.15pm | Fridays 12.15pm Fridays Room EM 3.06 | Estimate 10 lectures and 5 tutorials the last 2 being revision in weeks 5 and 10. |
Performance | |
Performance metrics, benchmark suites, Amdahl's law, performance improvements, [8.10/14.10], part lecture/part tutorial [11.10] | |
Computer Design | |
Computer design, price/performance, Moore's law, SIA roadmap, IC costs, fabrication, testing, packaging, cost & price breakdown of a product, [15.10/21.10], part lecture/part tutorial [18.10] | |
Memory Management | |
Memory hierarchy, attribute table for high-end PCs or workstations, memory speed calculations, conventional DRAM, enhancements, FPM, EDO, SDRAM, DDRAM, RDRAM, interleaved memory, multiword-width memory, performance comparison, [22.10/28.10/29.10], part lecture/part tutorial [25.10/1.11] Cache memories architectural/structural level overview, Speed/performance issues. [4.11/2.11/4.11], revision tutorials [8.11/13.12] | |
Introduction to Computer Networks | |
General introduction | |
Requirements of networks | |
Encapsulation | |
Network models and topologies | |
The physical layer | |
Theoretical basis for data communications | |
Transmission Media: wires and fibers | |
The telephone system | |
Narrowband ISDN | |
The Data link Layer | |
What are the services provides | |
DLL protocols | |
Error detection and correction | |
The sliding window protocol | |
Protocol verification | |
TCP/IP (Network and Transport Layers) | |
Introduction to internet protocols and sockets | |
Data structures and data handling | |
Systems calls | |
Client server examples | |
Datagram sockets |
The Program of work is as follows:
tar xfv DLL_protocols.tar. This will untar the files (x = extract, v = verbose, f = file)
make. This will compile the code and generate the executables
gui.tcl. This will launch the graphical interface.
You are ready to try some protocols and analyse them
IN ANY CASE, READ THE README FILE!
Week 9: Theory of TCP/IP. First lab
You will have to download the following files:
Lab0.pdf. This is a general description of TCP/IP
and how to use it to program client server applications.
Sockets.pdf. This is a general description of TCP/IP
sockets, TCP/IP and how to use it to program client server
applications. This is much more in-depth than the Lab material and can
be used to support you during the labs.
UNIX_C.pdf. This is an introduction to C programming
in Unix. Very short and limited but should get you going.
UNIX_OS.pdf. This is
an introduction to Unix. Very short and limited but should get you
going.
tcp_client.c. This is the client part of the client
server code using tcp/ip protocol. The code is the same as in
Lab0.ppt.
tcp_server.c. This is the server part of the client
server code using tcp/ip protocol. The code is the same as in
Lab0.ppt.
client.c. This is the client part of the client
server code using tcp/ip protocol. The code is more elaborated and
uses a better functional approach.
server.c. This is the server part of the client
server code using tcp/ip protocol. The code allows for multiple clients
f_tcp.c. This is a required 'library' code to
compile the two previous files.
f_tcp.h. This is a required 'library' code to
compile the two previous files.
Makefile. This is the makefile required to generate
the executables.
Week 10: Lab 1 presentation. TCP/UDP/IP programming example
You will have to download the following files:
Lab1.pdf. This is a general description of TCP/UDP/IP
and how to use it to program UDP applications.
Sockets.pdf. This is a general description of TCP/IP
sockets, TCP/IP and how to use it to program client server
applications. This is much more in-depth than the Lab material and can
be used to support you during the labs.
UNIX_C.pdf. This is an introduction to C programming
in Unix. Very short and limited but should get you going.
UNIX_OS.pdf. This is
an introduction to Unix. Very short and limited but should get you
going.
tcp_client.c. This is the client part of the client
server code using tcp/ip protocol. The code is the same as in
Lab0.ppt.
tcp_server.c. This is the server part of the client
server code using tcp/ip protocol. The code is the same as in
Lab0.ppt.
f_tcp.c. This is a required 'library' code to
compile the two previous files.
f_tcp.h. This is a required 'library' code to
compile the two previous files.
udpListen.c. This is an example of UDP listener
udpTalk.c. This is an example of UDP talker
udpChat.c. This is an example of UDP Chat, similar to Messenger but for a subnet.
Makefile. This is the makefile required to generate
the executables.
NOTE: Clipart from http://www.signgray.demon.co.uk/clipart/
Recommended
Text
Most architecture and networks book including:
Andrew S. Tannenbaum
On line Ressources
Designing for Performance, 6th Edition,
William Stallings, Prentice Hall, (2002)
(strongly suggested you buy)
ISBN: 0-13-049307-4
Price £33.99 Amazon UK
or Blackwells, Campus shop or South Bridge
http://williamstallings.com/COA6e.html/
http://williamstallings.com/COA5e.html/
This text provides a clear, comprehensive presentation of the
organization and architecture of modern-day computers, emphasizing
both fundamental principles and the critical role of performance in
driving computer design. The text conveys concepts through a wealth of
concrete examples highlighting modern CISC and RISC systems
http://www.ecst.csuchico.edu/~beej/guide/net/html/
Written Examination, April 2003.
The 3 hour paper is synoptic comprising 2 Sections, Computer Architecture &
Networks (B34LA1) and Multiprocessor Computers and Networks (B34DJ2).
The rubric (not yet agreed) is likely to be :Attempt FOUR questions, TWO from
three in each Section. Past papers with similar architecture coverage to mine in
part were classified under 22.4DH1 but these did not have the networks section.
If you have any queries please
send email to me at Y.R.Petillot@hw.ac.uk