CS421: Computer Peripherals and Interfaces
Instructor: Dr A Sahu
Course Structure:
- Intro to 8/16/32 bit microP and its programming. (2 Prog Assignments - one in 8085 and other in 8086 simulator) (6 Lectures)
- Interfacing devices such as : displays Kbd, DAC/ADC. (4 Lectures)
- Using programmable chips like : I/O ports, timer/counter, kbd/display cont., DMA cont., Interrupt cont. etc. (10 Lectures)
Mid Semester Exam
- Familiarization with MDS other Bus standards: IEEE 488, VME, MULTIBUS, SCSI, ISA/EISA, PCI. (4 Lectures)
- Selected peripheral devices and their characteristics: Dolby Stereo, HD Cinema, Gigabit Ethernet
Device and driver for HD Audio, Nvidia Graphics card, Linux device driver (2 Programming Assignment) (16 Lectures)
Lecture Slides
Thanks to Prof Anshul Kumar (IIT Delhi), Allan Cruse (USF CA) for providing slide of their courses.
- 29th July 2010 : Introduction and Motivation to Computer Peripheral Interfacing PPTX Slides
- 03rd Aug 2010 : Review of Computer Architecture PPTX Slides
- 04th Aug 2010 : 8085 Architecture and its programming PPTX Slides
- 05th Aug 2010 : 8085 Architecture and its programming contd.. PPTX Slides
- 10th Aug 2010 : 8086 Architecture and its programming (MASM) PPTX Slides
- 11th Aug 2010 : Architecture x86 and 32 bit architecture with MASM programming. PPTX Slides
- 12th Aug 2010 : Device interfacing methodology and characteristics PPTX Slides
- 17th Aug 2010 : DAC/ADC interfacing to MPU without Peripheral Controller PPTX Slides
- 18th Aug 2010 : Display interfacing to MPU without Peripheral Controller PPTX Slides
- 19th Aug 2010 : Keyboard interfacing to MPU without Peripheral Controller PPTX Slides
- 24th Aug 2010 : Peripheral Interface and Timer (Programmable) (8155 I/O+Timer) PPTX Slides
- 25th Aug 2010 : Peripheral Interface and Timer (Programmable) (8155 I/O+Timer )Cntd.PPTX Slides
- 26th Aug 2010 : Dedicated Peripheral Interface (8255 I/O :with out timer) PPTX Slides
- 31th Aug 2010 : Periphrral Interface (8255 I/O) Cntd.. PPTX Slides
- 1st Sep 2010 : Programmable Interrupt Controller (8259A ) PPTX Slides 8259 Spec from Intel or Appendix of Gaonkar Book
- 2st Sep 2010 : Interrupt Controller (8259A Programming and Intro to DMA) PPTX Slides
- 7nd Sep 2010 : DMA Controller (8237) and its programming PPTX Slides 8237 data sheet fft.tgz
- 8th Sep 2010 : DMA Controller (8237) and its programming Cntd ..
- 9th Sep 2010 : Introduction to serial communication and USART Controller (8251A) PPTX Slides
- 14th Sep 2010 : Architecture and Programming of USART Controller (8251A) PPTX Slides
- 15th Sep 2010 : 8253/8254 Programmable Timer and interval counter PPTX Slides
- 16th Sep 2010 : Summary of course material taught as of now PPTX_Slides
=============================================================================
Mid Semester Exam (20 Sept 2010, Room: 2202/2204, Time: 10.00AM-12.00Noon)
Mid Sem Question PPTX
=============================================================================
- Introduction to Advance Device Interfacing (OS, Kernel and Drivers) PPTX Slides
- Introduction to LDD, CMOS Clock and Device Driver Types PPTX Slides
- Character Device Driver and Delay SR using CMOS examples PPTX Slides
- Solution to Mid Sem Examination and Advance topics PPTX Slides
- Prerequisite for Device Drivers (Multitasking and Races) and listing thread/process PPTX Slides
- Peripheral of Advance Desktop Board and its Linux programming PPTX Slides
- Video/Graphics of Modern Desktop Board and its Linux programming PPTX Slides
- GPU Architecture and its programming PPTX Slides
- GPU Memory Model, Architecture Model, Programming model and GPGPU with CUDA PPTX Slides
- UART/Modem of modern Desktop PC and its Linux programming PPTX Slides
- User Space UART Loop-back program (IO-Address with $cat /proc/ioports)UARTLB
- Network Interface Card and its Linux programming PPTX Slides
- Network Device Driver for NIC PPTX Slides
- NIC, Kernel Timer and Block Driver PPTX Slides
- Block Device Driver PPTX Slides
- USB Basic and Driver model PPTX Slides
- USB Drivers and Linux Device Model PPTX Slides
- Summarisation Before End Sem, Question pattern, Feedback PPTX Slides
Assignments
- 8085 Simulator (2.5 marks)
Statement:Write and execute 8085 assembly language program to find value of Nth Fibonacci number (Recursive version: using recursive subroutine call), 16 bit can support up to 65356 which is greater than F24.
Deadline: 12th Aug 2010, 11.55 PM (before Mid night)
After deadline grading: Maximum 5 marks out of 10 marks scale
Send TXT version of program with file name RollNo.txt to asahu AT iitg DOT ernet.in with Assignment one as subject of email
Don’t submit copied one: will get Negative marks
- 8086 Simulator (2.5 marks) (Use MASM simulator or TASM or Microsoft Visual C++ _asm option or NASM linux)
Statement:Write and execute 8086 assembly language program to find value of SUM of square of first N number (for N=10, S=12+22+32+42+..102)
Deadline: 21st Aug 2010, 11.55 PM (before Mid night)
After deadline grading: Maximum 5 marks out of 10 marks scale
Send TXT version of program with file name RollNo.txt to asahu AT iitg DOT ernet.in with Assignment two as subject of email
Don’t submit copied one: will get Negative marks
- Write a kernel module to display NIC statistics counter registers values (5 marks)
Statement: Write a kernel module to display NIC statistics counter registers values.
- Conquer your nic card vendor id and device id of your system
- Write get_info() function
- display at network statistics at /proc/nic_stats
- create a proc_data_entry nic_stat to display at /proc/nic_stat
- Demo program nic_get_info nic_get_info
Deadline: 13th Nov 2010, 11.55 PM (before Mid night)
You have to show/demo your program on your system otherwise you will not get any mark.
Submitting through email merely get any marks but can be used for deadline of submission.
Send TXT version of program with file name RollNo.txt to asahu AT iitg DOT ernet.in with Assignment three as subject of email
Don’t submit copied one
Books : Text:
- R S Gaonkar, “Microprocessor Architecture, Programming and Application with the 8085”, 5th edition, Penram India
- J. Corbet, A Rubini, “Linux Device Driver” 3rd Edition,O’relly publisher References PDF
- LKM , “Linux Kernel Module” 3rd Edition,O’relly publisher References PDF
- M Bach, “The Design of Unix OS ” PHI 2007
References:
- D V Hall, Microprocessors and Interfacing, TMH, 1995
- Brey. Barry B, The Intel Microprocessors 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium, and Pentium Pro Processor Architecture, Programming, and Interfacing, Prentice Hall India, 2005
- M B Cook and H White Neil, Computer Peripherals, 3/e. London: Edward Arnold, 1995.
- L F Doyle, Computer Peripherals, Prentice Hall, 1996
- George Pajari, Writing UNIX Device Drivers, Pearson son education India
Class timing, Venue and Rules
- Venue: 1201 / Seminar Room (CSE)
- Timing : slot a { Monday 8 am – 9 am (skipping), Tuesday (9 am - 10 am), Wednesday (10 am - 11am), Thursday (11am -12 am) }
- Rules :
- 75% attendance mandatory
- 10% Assignment + 40% mid term+ 50% end term
- Copy cases lead to negative marks (-ve Max mark)
- For AA Grade: marks in all parts should be positive (greater then 0)