Computer Systems

Main block

Detail Computer System Elective Course Description


CPEN 606 System Testability

The digital system testability course examines fault models and testing techniques, errors, failures, reliability and availability techniques in digital systems. Topics include designing techniques for reliable systems, redundancy management, fault modeling, fault detection, fault location and reconfiguration, testing, design for testability, self-checking circuit, fail-safe circuit, system-level fault diagnosis, fault-tolerant communication, fault tolerant multiprocessor systems, reliable software design, low-overhead high-availability techniques, and evaluation methods.

Reference books and materials [1] M. Abramovici, M. Breur, and A. Friedman, Digital Systems Testing and Digital Design, Wiley Press, 1994 [2] Koren, I., and Mani Krishna, C., Fault Tolerant Systems, Morgan Kaufmann, 2007 [3] Isermann, R., Fault Diagnosis Systems: An Introduction from Fault Detection to Fault Tolerance, Springer, 2006 [4] Patton, R., and Frank, P. M., Issues of Fault Diagnosis for Dynamic Systems, Springer, 2000


CPEN 607 VLSI Systems Design

The VLSI systems design course examines the concepts behind the development of digital systems and their testing techniques. Topics include hardware description languages such as VHDL,Verilog, and ABEL, trends in VLSI development, CMOS and MOS digital devices and modeling techniques, design of CMOS combinational and sequential circuits, design of arithmetic building blocks and memory structures, interconnect and timing issues, testing and verification, programmable ASICs and design methodologies, architecture and programming technologies for ASICs, routing techniques, fault analysis and design for testability.

Reference books and materials [1] Baker, R. J., CMOS Mixed Signal Circuit Design, 2nd Ed., Wiley-IEEE Press, 2009 [2] Weste, N. H.E., and Harris, D., Principles of CMOS VLSI Design, 3rd Ed., Wesley 2004 [3] Grabinski, H., Interconnects in VLSI Design, Springer, 2000 [4] Plummer, J. D., Deal, N., and Griffin, P.D., Silicon VLSI Technology: Fundamentals, Practice and Modelling, Prentice Hall, 2000


CPEN 608 Microprocessor Systems Design

The microprocessor systems design course explores the architectures for microprocessors and the supporting components for application. Topics include microprocessor components, design and analysis of microprocessor architecture, comparison of design paradigms for architectures such as CISC, RISC, and DSP, bus timing analysis, design considerations for high-performance systems, execution problems, memory architecture, benchmarking and optimization, parallel processing, microprocessor production, power dissipation, support software, and simulation tools.

Reference books and materials [1] Oklobdzija, V. G., and Krishnamurthy, R. K., High Performance Energy-Efficient Microprocessor Architecture: A Quantitative Approach, Springer, 2006 [2] Hwang, E.O., Digital Logic and Microprocessor Design with VHDL, CL-Engineering, 2005 [3] Shriver, B., and Smith, B., Anatomy of High Performance Microprocessor: A Systems Perspective, Wiley-IEEE Computer Society, 1998 [4] McFarland, G., Microprocessor Design: A Practical Guide from Design Planning to Manufacturing, McGraw Hill, 2006


CPEN 609 Computer Systems Performance

The computer systems performance course examines the metrics for comprehensive analysis and evaluation performance of computer systems. Topics include queuing theory, stochastic processes and Markov chains, separable queuing networks, priority queuing systems, quantitative models of performance analysis, performance evaluation metrics, optimization of resource allocation, analysis of control mechanism and algorithms, interpretation of results, simulation modeling.

Reference books and materials [1] Fortier, P.J., and Michel, H. W., Computer System Performance Evaluation and Prediction, Elsevier, 2003 [2] Jain, R., The Art of Computer System Performance Analysis, Wiley India, 2008 [3] Lilja, D.J., Measuring Computer Performance: Practitioner’s Guide, Cambridge University Press, 2005 [4] John, L. K., and Eeckhout, L., Performance Evaluation and benchmarking, CRC Press, 2006


CPEN 611 Parallel Computing Systems

The parallel computing system course examines modern parallel and distributed systems design, engineering and evaluation. Topics include parallel systems design concepts, architectural evolution of parallel systems, technological driving forces of parallel systems, programming algorithms and models, communication primitives, programming and compilation techniques, multiprogramming workloads and methodology, latency avoidance techniques, cache-coherency, protocols, directories, and memory consistency models, message passing protocols, storage management, and deadlock, network interface, protection, events, active messages, latency tolerance techniques, pre-fetching, multithreading, dynamic instruction scheduling, and software techniques, network design and synchronization.

Reference books and materials [1] Culler, D., and Singh, J.P., Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kaufmann, 1998 [2] Kirk, D. B., and Hwu, W. W., Programming Massively Parallel Processors, Morgan Kaufmann, 2010 [3] Grama, A., Karypis, G., Kumar, V., and Gupta, A., Introduction to Parallel Computing, 2nd Ed., Addison Wesley, 2003


CPEN 612 Reconfigurable Systems

The reconfigurable systems course examines modern trends in computing systems. Topics include introduction to fundamental adaptive and reconfigurable computing, FPGA technology and architectures, spatial computing architectures, systolic and bit serial architectures, adaptive network architectures, bus-based and static dynamic re-arrangeable interconnection architectures, reconfigurable computing architectures for processors, pipeline, and caches, hardware/software co-design, reconfigurable computing operating systems, and recent developments in the field of reconfigurable computing and applications.

Reference books and materials [1] Platzner, M., Teich,J., and When,N., Dynamically Reconfigurable Systems: Architectures, Design Methods and Applications, Springer, 2010 [2] Voros, N., and Masselos,K., System level Design of Reconfigurable Systems On-Chip, Springer, 2005 [3] Pao-Ann Hsiung, Santambrogio, M. D., and Chun-Hsian Huang, Reconfigurable System Design and Verification, CRC Press, 2009