COMPUTER ARCHITECTURE AND ORGANIZATION IN THE MODEL COMPUTER ENGINEERING CURRICULUM

Size: px
Start display at page:

Download "COMPUTER ARCHITECTURE AND ORGANIZATION IN THE MODEL COMPUTER ENGINEERING CURRICULUM"

Transcription

1 COMPUTER ARCHITECTURE AND ORGANIZATION IN THE MODEL COMPUTER ENGINEERING CURRICULUM Victor P. Nelson 1, Mitchell D. Theys 2, and Alan Clements 3 Abstract - In 1998, the Computer Society of the Institute for Electrical and Electronic Engineers and the Association for Computing Machinery established the Joint Task Force on Computing Curricula 2001 (CC2001) to undertake a major review of curriculum guidelines for undergraduate programs in computing. A separate task force was created to focus specifically on Computer Engineering (CPE) and develop a separate CPE volume for the CC2001 report. Computer engineering focuses on the design of computer components and computer-based systems, integrating hardware and software to produce systems that solve realworld problems. With this in mind, the CPE volume includes an outline of the body of knowledge appropriate for undergraduate study in CPE. This paper discusses the Computer Architecture and Organization (CAO) body of knowledge defined in the CPE volume, including a discussion of which CAO topics were selected as "core", i.e. to be included in every CPE program, vs. "elective", to be included or excluded according to individual program objectives. THE COMPUTING CURRICULUM - COMPUTER ENGINEERING (CCCE) REPORT In the fall of 1998, the Computer Society of the Institute for Electrical and Electronic Engineers (IEEE-CS) and the Association for Computing Machinery (ACM) established the Joint Task Force on Computing Curricula 2001 (CC2001) to undertake a major review of curriculum guidelines for undergraduate programs in computing, that will match the latest developments of computing technologies in the past decade and last through the next decade [1]. Whereas "Computing Curriculum 1991" [2] and other previous efforts of the IEEE-CS and ACM did not distinguish computer science and computer engineering programs, for CC2001 the Computing Curriculum - Computer Engineering (CCCE) Task Force was established in 2001 to develop a separate volume of the CC2001 report, focused on computer engineering curricula. The result of the work of the CCCE Task Force has been summarized in a draft report available for review on the web [3]. This report has undergone extensive review, including an NSFsponsored workshop. A significant area within the computer engineering body of knowledge is that of Computer Architecture and Organization (CAO). As defined by the Task Force, Computer Engineering (CPE) focuses on the design of computer components and computer-based systems, integrating hardware and software to produce systems that solve real-world problems. With this emphasis on the design and integration of complete systems, coverage of CAO topics in a computer engineering curriculum should differ from the coverage received in a typical computer science program. This difference is reflected in the CAO body of knowledge developed for the CCCE report, and is the focus of this paper. The CPE Body of Knowledge The most significant effort of the CCCE Task Force has been the identification and organization of the body of knowledge (BOK) pertinent to undergraduate study of computer engineering. Following the pattern of the Computer Science Volume [4], the CPE BOK is organized hierarchically into three levels. The highest level of the hierarchy is the area, which represents a particular disciplinary subfield. Each area is identified by a three-letter abbreviation, such CAO for Computer Architecture and Organization. Table 1 lists the areas in the current draft of the BOK. The knowledge areas are broken down into smaller divisions called units, which represent individual thematic modules within an area. Each unit is identified by adding a numeric suffix to the area name; as an example, CAO3 is a unit on memory system organization and architecture. Each unit is further subdivided into a set of topics, which are the lowest level of the hierarchy. Finally, for each unit a set of learning objectives are presented. Core and Elective Units One of the Task Force goals in proposing curricular recommendations is to keep the required component of the body of knowledge as small as possible to allow for program flexibility. To this end, the Task Force has defined a minimal core comprising those units for which there is broad consensus that the corresponding material is essential 1 Victor P. Nelson, Auburn University, Dept. of Electrical & Computer Engineering, 200 Broun Hall, Auburn, AL 36849, nelson@eng.auburn.edu 2 Mitchell D. Theys, University of Illinois at Chicago, Dept. of Computer Science, 1120 Science and Engineering Offices, 851 South Morgan Street, Chicago, Illinois , mtheys@uic.edu 3 Alan Clements, University of Teesside, School of Computing and Mathematics, Middlesbrough, Cleveland TS1 3BA, UK, a.clements@tees.ac.uk F2F-11

2 to anyone obtaining an undergraduate degree in computer engineering. Units that are taught as part of an undergraduate program, but which fall outside the core, are considered to be elective. The BOK areas marked with asterisks in Table 1 are those for which one or more units have been designated as core. TABLE 1 COMPUTER ENGINEERING BODY OF KNOWLEDGE AREAS *CSE Computer Systems Engineering *CAO Computer Architecture and Organization *ESY Embedded Systems *NWK Computer Networks *CSY Circuits and Systems *ELE Electronics *DIG Digital Logic *PRF Programming Fundamentals *ALG Algorithms and Complexity *DSC Discrete Structures *OPS Operating Systems *SWE Software Engineering *SPR Social and Professional Issues ACP Alternate Computing Paradigms VLS VLSI and ASIC Design TFT Testing and Fault Tolerance DSP Digital Signal Processing DSV Digital System Verification * Area contains "core" topics Several points should be noted. First, the organization of the BOK is not intended to suggest an organization of a curriculum or individual courses, although the report will include a few sample implementations. Second, it is expected that an undergraduate program will cover the minimum core topics plus additional elective units from the body of knowledge. The core units nominally account for about one-fourth of a typical undergraduate computer engineering program. The CCCE report does not specify which elective units should be included; these would be selected to meet individual program objectives. Third, core units are not necessarily limited to introductory courses. Although many of the units defined as core are indeed introductory, there are also some core units that clearly must be covered only after students have developed significant background in the field. The designation core simply means required and says nothing about the level of the course in which it appears. Assessing the Time Required To Cover a Unit To give readers a sense of the time required to cover a particular unit, the CCCE Task Force, consistent with the Computer Science Volume [4] and earlier curriculum reports [2], has chosen to express time in hours, corresponding to the in-class time required to present that material in a traditional lecture-oriented format. The time designated for each unit should be interpreted as the minimum amount of time necessary to enable a student to achieve the learning objectives for that unit. It is often appropriate to spend more time on a unit than the mandated minimum. Even though this metric has its roots in a classical lecture-oriented form, the CCCE Task Force does not seek to endorse the lecture format, believing there to be other styles - particularly given recent improvements in educational technology - that can be at least as effective. It should be noted that the hours specified do not include time spent outside of a class on homework, projects, etc. COMPUTER ARCHITECTURE AND ORGANIZATION IN THE CPE CURRICULUM Background Computer architecture is concerned with all aspects of the design and organization of the central processing unit (CPU) and the integration of the CPU into the computer system itself [5-8]. Architecture extends upward into computer software because a processor s architecture must cooperate with the operating system and system software. It is impossible to design an operating system well without knowledge of the underlying architecture. Moreover, the computer designer has to have an intimate understanding of software in order to implement the optimum architecture. Because the compiler requires an intimate knowledge of the architecture, there is a tighter relationship between the computer architect and the compiler writer than at any time in the past. The term architecture implies structure, and therefore computer architecture tells us something about the way in which the elements of a computer relate to each other. Computer architecture is generally thought of as the programmer s view of a computer; that is, the idealized or abstract view of a computer. The implementation or organization of the computer is hidden from the programmer, although it would be wrong to divorce entirely architecture and implementation because each exerts a powerful influence on the other. The computer architecture curriculum has to achieve multiple objectives. It must provide an overview of computer architecture and teach students the operation of a typical von Neumann machine. It must highlight the important issues facing today s designers and give students the tools they will need to carry out research. Ideally it should reinforce topics that are common to other areas of computer science; for example, teaching register indirect addressing reinforces the concept of pointers in C. As with any engineering program, students must learn to design and build things. Therefore, the computer engineering student should be expected to design and build a F2F-12

3 simple computer or computer system. This will most likely take place in a laboratory environment. The CAO Knowledge Units The Computer Architecture and Organization area has been organized into ten knowledge units, listed in Table 2. Each knowledge area in the CPE BOK includes a one-hour Unit 0 to introduce students to the field and give them a sense of the history and main contributors to the field. Unit CAO is also intended to articulate differences between computer organization and computer architecture, and describe how computer engineering makes use of computer architecture. Unit CAO1, Fundamentals of Computer Architecture, provides students with an understanding of the organization and operation of the traditional von Neumann computer architecture and its main functional blocks. Students should understand how a computer fetches, decodes, and executes instructions. While this necessitates studying instruction coding and operation at the binary machine language level, students should be introduced to assembly language programming as a way to illustrate how a machine performs various tasks. The relationship between assembly language and high-level languages, such as Java and C, should also be understood as a result of studying this unit. TABLE 2 COMPUTER ARCHITECTURE AND ORGANIZATION KNOWLEDGE UNITS CAO0. History and overview of computer architecture CAO1. Fundamentals of computer architecture CAO2. Computer arithmetic CAO3. Memory system organization and architecture CAO4. Interfacing and communication CAO5. Interface subsystems CAO6. Processor systems design CAO7. Organization of the CPU CAO8. Performance CAO9. Performance enhancements CAO10. Multiprocessing The Computer Arithmetic unit (CAO2) provides students with an understanding of the different ways to represent numeric data in digital systems, and algorithms that are used to perform arithmetic on this data. With this understanding, students can appreciate the utility and the limitations of different coding methods, including the type of errors that can result. Units CAO3 through CAO6 provide students with an understanding of how a CPU interacts with memory and input/output devices to create a complete computer system. Unit CAO3, Memory System Organization and Architecture, introduces students to memory technologies, main memory organization, and hierarchical memory architectures, including cache and virtual memory, as well as the principles of memory management. Students should understand the effects of latency and bandwidth on system performance, and the use of memory hierarchy to improve performance. Finally, they should appreciate how errors in memory systems arise and what can be done about them. Units CAO4 (Interfacing and Communication) and CAO5 (Interface Subsystems) address the interaction of the CPU with input/output (I/O) devices. A computer engineer should understand the basic I/O techniques, including programmed I/O, interrupt-driven I/O, and direct memory access. They should be able to explain how interrupts are used to implement I/O control and data transfers, and write small interrupt service routines and I/O drivers using assembly language. Students should also be able to identify various types of buses in a computer system, and to analyze and implement interfaces. Unit CAO5 provides an understanding of the basic nature of human-computer interaction. This unit covers design, operation, and parameters of performance for such common interface subsystems as magnetic and optical disk drives, basic I/O controllers, keyboards, video systems, network interfaces, etc. Unit CAO6, Processor Systems Design, ties the above topics together by providing an appreciation of how a CPU chip is turned into a complete system. Students should be able to specify, design, and understand the operation of simple computer interfaces, such as memory and peripheral chips. Consequently, they should be able to create both hardware and software for a simple stand-alone system. Since CPU operation is critical to the overall performance of a computer system, unit CAO7, Organization of the CPU enables students to compare alternative implementation of datapaths, and discuss the generation of control signals using hardwired or microprogrammed implementations. Given the evolution of instruction sets and CPU designs to improve performance; students should understand basic instruction level parallelism using pipelining, the major hazards that may occur, and approaches to eliminating data hazards and overcoming the effects of branches. When evaluating a computer or making design decisions, a computer engineer must appreciate the different factors that contribute to computer performance, select the most appropriate performance metrics, and understand the limitations of these metrics. This is addressed by the threehour unit on Performance (CAO8). Elective unit CAO9, Performance Enhancements, goes further into topics that address how various architectural enhancements affect system performance, such as superscalar operation, speculative execution, multithreading, etc. Students should be able to discuss how parallel processing approaches can be applied to the design of scalar and superscalar processors, including how vector processing techniques can be applied to enhance instruction sets to be used for multimedia, signal processing, etc. F2F-13

4 The final unit, Multiprocessing (CAO10) includes 3 hours of core topics to introduce all computer engineering students to the concept of parallel processing beyond the classical von Neumann model, including limitations imposed by interconnections on multiprocessing systems and problems caused by cache coherency. Further elective topics are specified in the ACP (Alternate Computing Paradigms) knowledge area. SUMMARY Study of computer architecture and organization is key to designing and evaluating computing systems, VLSI chips, embedded systems, operating systems, and compilers. As such, most of the topics of the CAO knowledge unit have been identified as core material for undergraduate computer engineering programs. The complete specification of the CAO knowledge unit is included in the appendix. As indicated above, this is not intended to be a course outline, but simply a list of topics that should be included within an undergraduate program in computer engineering. This field has undergone significant changes in recent years, and will likely continue to do so in the future. Consequently, education in computer architecture and organization will evolve with these changes. REFERENCES [1] Computing Curriculum 2001 Web Site: education /cc2001. [2] "Computing Curriculum 1991", Report of the ACM/IEEE-CS Joint Curriculum Task Force, 1991, IEEE Computer Society Press and ACM Press. [3] "Computing Curriculum Computing Curriculum: Computer Engineering", [4] "Computing Curriculum Computing Curriculum: Computer Science", cc2001/final/ index.htm [5] The Principles of Computer Hardware, 3e, Alan Clements, Oxford University Press, [6] Computer Architecture A Quantitative Approach, 3e, J.L. Hennessy, D.A. Patterson, Morgan Kauffman, [7] Computer Organization & Design The Hardware/Software Interface, 2e, D.A. Patterson and J.L. Hennessy, Morgan Kaufmann, [8] Computer Organization & Architecture, 6e, William Stallings, Prentice-Hall, APPPENDIX THE CPE BODY OF KNOWLEDGE (Reproduced from the CCCE Report[3]) CAO0. History and overview of computer architecture Minimum core coverage time: 1 hour Knowledge themes include system organization and architecture, memory, interfacing, microprocessors, system organization Contributors to the subject include Zuse, Atanasoff, von Neumann, Eckert, Mauchly, and Wilkes Contrasts between computer organization and computer architecture Purpose and role of computer architecture in computer engineering 1. Associate the themes involved with computer architecture. 2. Identify contributors to the subject area. 3. Articulate differences between computer organization and computer architecture. 4. Describe how computer engineering could make use of computer architecture. CAO1. Fundamentals of computer architecture Minimum core coverage time: 18 hours 1. Organization of the von Neumann machine 2. Instruction formats 3. The fetch/execute cycle; instruction decoding and execution 4. Registers and register files. 5. Instruction types and addressing modes 6. Subroutine call and return mechanisms 7. Programming in assembly language 8. I/O techniques and interrupts 9. Other design issues. 1. Be able to explain the organization of a von Neumann machine and its major functional units. 2. Be able to explain how an instruction is fetched from memory and executed. 3. Be able to articulate the strengths and weaknesses of the von Neumann architecture. 4. Be able to explain the relationship between the representation of machine level operation at the binary level and their representation by a symbolic assembler. 5. Be able to explain why a designer adopted a given different instruction formats, such as the number of addresses per instruction and variable length vs. fixed length formats. 6. Be able to write small programs and fragments of assembly language code to demonstrate an understanding of machine level operations. 7. Be able to implement some fundamental high-level programming constructs at the machine-language level. 8. Be able to use computer simulation packages to investigate assembly language programming. F2F-14

5 CA2. Computer arithmetic Minimum core coverage time: 3 hours 1. Representation of integers (positive and negative numbers) 2. Algorithms for common arithmetic operations (addition, subtraction, multiplication, division) 3. Significance of range, precision, and accuracy in computer arithmetic 4. Representation of real numbers (standards for floating-point arithmetic) 5. Algorithms for carrying out common floating-point operations 6. Converting between integer and real numbers 7. Multi-precision arithmetic 8. Hardware and software implementation of arithmetic unit. 9. The generation of higher order functions from square roots to transcendentals. 1. Appreciate how numerical values are represented in digital computers 2. Understand the limitations of computer arithmetic and the effects of errors on calculations. 3. Appreciate the effect of a processor s arithmetic unit on its overall performance. CAO3. Memory system organization and architecture Minimum core coverage time: 9 hours 1. Memory systems hierarchy 2. Coding, data compression, and data integrity 3. Electronic, magnetic and optical technologies 4. Main memory organization and its characteristics and performance 5. Latency, cycle time, bandwidth, and interleaving 6. Cache memories (address mapping, line size, replacement and write-back policies) 7. Virtual memory systems 8. Memory technologies (DRAM, EPROM, FLASH,etc.) 9. Reliability of memory systems. Error detecting and error correcting systems. CAO4. Interfacing and communication 1. I/O fundamentals: handshaking, buffering, 2. I/O techniques: programmed I/O, interrupt-driven I/O, DMA 3. Interrupt structures: vectored and prioritized, interrupt overhead, interrupts and reentrant code. 4. Memory system design and interfacing. 5. Buses: bus protocols, local and geographic arbitration 1. Explain how interrupts are used to implement I/O control and data transfers. 2. Write small interrupt service routines and I/O drivers using assembly language. 3. Identify various types of buses in a computer system. 4. Describe data access from a magnetic disk drive. 5. Be able to analyze and implement interfaces. CAO5. Interface subsystems 1. External storage systems; organization and structure of disk drives and optical memory 2. Basic I/O controllers, keyboard, mouse, etc. 3. RAID architectures 4. Video control 5. I/O Performance 6. SMART technology and fault detection 7. Processor to network interfaces 1. Compute the various parameters of performance for standard I/O types. 2. Explain the basic nature human computer interaction devices. 3. Describe data access from magnetic and optical disk drives. CAO6. Processor systems design 1. Identify the main types of memory technology. 2. Explain the effect of memory latency and bandwidth on performance. 3. Explain the use of memory hierarchy to reduce the effective memory latency. 4. Describe the principles of memory management. 5. Appreciate how errors in memory systems arise and what can be done about them. 1. The CPU interface: clock, control, data and address buses 2. Address decoding and memory interfacing 3. Basic parallel and serial interfaces 4. Timers 5. System firmware F2F-15

6 1. Appreciate how a CPU chip is turned into a complete system. 2. Be able to design an interface to memory 3. Understand how to interface and use peripheral chips 4. Write sufficient EPROM-based system software to create a basic stand-alone system. 5. Be able to specify and design simple computer interfaces. CAO7. Organization of the CPU 1. Implementation of the von Neumann machine 2. Single vs. multiple bus datapaths 3. Instruction set architecture; machine architecture as a framework for encapsulating design decisions. 4. Relationship between the architecture and the compiler 5. Implementing instructions 6. Control unit: hardwired realization vs. microprogrammed realization 7. Arithmetic units, for multiplication and division. 8. Instruction pipelining 9. Trends in computer architecture: CISC, RISC, VLIW 10. Introduction to instruction-level parallelism (ILP) 11. Pipeline hazards: structural, data and control 12. Reducing the effects of hazards 1. Compare alternative implementation of datapaths. 2. Discuss the generation of control signals using hardwired or microprogrammed implementations. 3. Explain basic instruction level parallelism using pipelining and the major hazards that may occur. 4. Explain what has been done to overcome the effect of branches 5. Discuss the way in which instruction sets have evolved to improve performance; for example, predicated execution. CAO8. Performance Minimum core coverage time: 3 hours 1. Metrics for computer performance; clock rate, MIPS, Cycles per instruction, benchmarks 2. Strengths and weaknesses of performance metrics 3. Averaging metrics: arithmetic, geometric and harmonic 4. The role of Amdahl s law in computer performance 1. Appreciate all the factors that contribute to computer performance. 2. Understand the limitations of performance metrics 3. Be able to select the most appropriate performance metric when evaluating a computer. 4. Discuss the impact on control and datapath design for performance enhancements. CAO9. Performance enhancements Minimum core coverage time: none (elective topics) 1. Superscalar architecture 2. Branch prediction 3. Prefetching 4. Speculative execution 5. Multithreading 6. Scalability 7. Short vector instruction sets; Streaming extensions, AltiVec; relationship between computer architecture and multimedia applications. 1. Discuss how various architectural enhancements affect system performance. 2. Discuss how parallel processing approaches can be applied to the design of scalar and superscalar processors. 3. Discuss how vector processing techniques can be applied to enhance instruction sets to be used for multimedia, signal processing, etc. 4. Appreciate how each of the functional parts of a computer system affect its overall performance. Be able to estimate the effect on system performance of changes to functional units. CAO10. Multiprocessing Minimum core coverage time: 3 hours 1. Systolic architectures 2. Interconnection networks (hypercube, shuffleexchange, mesh, crossbar) 3. Shared memory systems 4. Cache coherence 5. Memory models and memory consistency 1. Discuss the concept of parallel processing beyond the classical von Neumann model. 2. Describe the limitations imposed by interconnections on multiprocessing systems. 3. Appreciate the problems caused by cache coherency and understand the ways in which the problem can be overcome. F2F-16

Computer Organization

Computer Organization Computer Organization and Architecture Designing for Performance Ninth Edition William Stallings International Edition contributions by R. Mohan National Institute of Technology, Tiruchirappalli PEARSON

More information

A Lab Course on Computer Architecture

A Lab Course on Computer Architecture A Lab Course on Computer Architecture Pedro López José Duato Depto. de Informática de Sistemas y Computadores Facultad de Informática Universidad Politécnica de Valencia Camino de Vera s/n, 46071 - Valencia,

More information

CHAPTER 4 MARIE: An Introduction to a Simple Computer

CHAPTER 4 MARIE: An Introduction to a Simple Computer CHAPTER 4 MARIE: An Introduction to a Simple Computer 4.1 Introduction 195 4.2 CPU Basics and Organization 195 4.2.1 The Registers 196 4.2.2 The ALU 197 4.2.3 The Control Unit 197 4.3 The Bus 197 4.4 Clocks

More information

Chapter 2 Logic Gates and Introduction to Computer Architecture

Chapter 2 Logic Gates and Introduction to Computer Architecture Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are

More information

EE361: Digital Computer Organization Course Syllabus

EE361: Digital Computer Organization Course Syllabus EE361: Digital Computer Organization Course Syllabus Dr. Mohammad H. Awedh Spring 2014 Course Objectives Simply, a computer is a set of components (Processor, Memory and Storage, Input/Output Devices)

More information

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton MICROPROCESSOR SYSTEMS Mitchell Aaron Thornton, Department of Electrical and Computer Engineering, Mississippi State University, PO Box 9571, Mississippi State, MS, 39762-9571, United States. Keywords:

More information

Architectures and Platforms

Architectures and Platforms Hardware/Software Codesign Arch&Platf. - 1 Architectures and Platforms 1. Architecture Selection: The Basic Trade-Offs 2. General Purpose vs. Application-Specific Processors 3. Processor Specialisation

More information

VHDL DESIGN OF EDUCATIONAL, MODERN AND OPEN- ARCHITECTURE CPU

VHDL DESIGN OF EDUCATIONAL, MODERN AND OPEN- ARCHITECTURE CPU VHDL DESIGN OF EDUCATIONAL, MODERN AND OPEN- ARCHITECTURE CPU Martin Straka Doctoral Degree Programme (1), FIT BUT E-mail: strakam@fit.vutbr.cz Supervised by: Zdeněk Kotásek E-mail: kotasek@fit.vutbr.cz

More information

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2 Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of

More information

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Chapter 2 Basic Structure of Computers Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan Outline Functional Units Basic Operational Concepts Bus Structures Software

More information

Introducción. Diseño de sistemas digitales.1

Introducción. Diseño de sistemas digitales.1 Introducción Adapted from: Mary Jane Irwin ( www.cse.psu.edu/~mji ) www.cse.psu.edu/~cg431 [Original from Computer Organization and Design, Patterson & Hennessy, 2005, UCB] Diseño de sistemas digitales.1

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides

More information

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM

ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM ADVANCED PROCESSOR ARCHITECTURES AND MEMORY ORGANISATION Lesson-12: ARM 1 The ARM architecture processors popular in Mobile phone systems 2 ARM Features ARM has 32-bit architecture but supports 16 bit

More information

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System? Management Challenge Managing Hardware Assets What computer processing and storage capability does our organization need to handle its information and business transactions? What arrangement of computers

More information

İSTANBUL AYDIN UNIVERSITY

İSTANBUL AYDIN UNIVERSITY İSTANBUL AYDIN UNIVERSITY FACULTY OF ENGİNEERİNG SOFTWARE ENGINEERING THE PROJECT OF THE INSTRUCTION SET COMPUTER ORGANIZATION GÖZDE ARAS B1205.090015 Instructor: Prof. Dr. HASAN HÜSEYİN BALIK DECEMBER

More information

Computer Systems Design and Architecture by V. Heuring and H. Jordan

Computer Systems Design and Architecture by V. Heuring and H. Jordan 1-1 Chapter 1 - The General Purpose Machine Computer Systems Design and Architecture Vincent P. Heuring and Harry F. Jordan Department of Electrical and Computer Engineering University of Colorado - Boulder

More information

Computer Architecture Syllabus of Qualifying Examination

Computer Architecture Syllabus of Qualifying Examination Computer Architecture Syllabus of Qualifying Examination PhD in Engineering with a focus in Computer Science Reference course: CS 5200 Computer Architecture, College of EAS, UCCS Created by Prof. Xiaobo

More information

Central Processing Unit

Central Processing Unit Chapter 4 Central Processing Unit 1. CPU organization and operation flowchart 1.1. General concepts The primary function of the Central Processing Unit is to execute sequences of instructions representing

More information

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. COURSE CURRICULUM COURSE TITLE: COMPUTER ORGANIZATION AND ARCHITECTURE (Code: 3340705)

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. COURSE CURRICULUM COURSE TITLE: COMPUTER ORGANIZATION AND ARCHITECTURE (Code: 3340705) GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT COURSE CURRICULUM COURSE TITLE: COMPUTER ORGANIZATION AND ARCHITECTURE (Code: 3340705) Diploma Programmes in which this course is offered Computer Engineering

More information

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip.

Lecture 11: Multi-Core and GPU. Multithreading. Integration of multiple processor cores on a single chip. Lecture 11: Multi-Core and GPU Multi-core computers Multithreading GPUs General Purpose GPUs Zebo Peng, IDA, LiTH 1 Multi-Core System Integration of multiple processor cores on a single chip. To provide

More information

Operating Systems Overview

Operating Systems Overview Operating Systems Overview No single definition, but many perspectives: Role in an overall system: Intermediary between computer hardware and everything else User view: Provides an environment, preferably

More information

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 pvonk@skidmore.edu ABSTRACT This paper

More information

Computer Organization & Architecture Lecture #19

Computer Organization & Architecture Lecture #19 Computer Organization & Architecture Lecture #19 Input/Output The computer system s I/O architecture is its interface to the outside world. This architecture is designed to provide a systematic means of

More information

CISC, RISC, and DSP Microprocessors

CISC, RISC, and DSP Microprocessors CISC, RISC, and DSP Microprocessors Douglas L. Jones ECE 497 Spring 2000 4/6/00 CISC, RISC, and DSP D.L. Jones 1 Outline Microprocessors circa 1984 RISC vs. CISC Microprocessors circa 1999 Perspective:

More information

MICROPROCESSOR AND MICROCOMPUTER BASICS

MICROPROCESSOR AND MICROCOMPUTER BASICS Introduction MICROPROCESSOR AND MICROCOMPUTER BASICS At present there are many types and sizes of computers available. These computers are designed and constructed based on digital and Integrated Circuit

More information

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture?

This Unit: Putting It All Together. CIS 501 Computer Architecture. Sources. What is Computer Architecture? This Unit: Putting It All Together CIS 501 Computer Architecture Unit 11: Putting It All Together: Anatomy of the XBox 360 Game Console Slides originally developed by Amir Roth with contributions by Milo

More information

COURSE DESCRIPTION FOR THE COMPUTER INFORMATION SYSTEMS CURRICULUM

COURSE DESCRIPTION FOR THE COMPUTER INFORMATION SYSTEMS CURRICULUM COURSE DESCRIPTION FOR THE COMPUTER INFORMATION SYSTEMS CURRICULUM Course Code 2505100 Computing Fundamentals Pass/ Fail Prerequisite None This course includes an introduction to the use of the computer

More information

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer

Computers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer Computers CMPT 125: Lecture 1: Understanding the Computer Tamara Smyth, tamaras@cs.sfu.ca School of Computing Science, Simon Fraser University January 3, 2009 A computer performs 2 basic functions: 1.

More information

Processor Architectures

Processor Architectures ECPE 170 Jeff Shafer University of the Pacific Processor Architectures 2 Schedule Exam 3 Tuesday, December 6 th Caches Virtual Memory Input / Output OperaKng Systems Compilers & Assemblers Processor Architecture

More information

DATA ITEM DESCRIPTION

DATA ITEM DESCRIPTION DD Form 1664, APR 89 Previous editions are obsolete Page 1 of 4 Pages 135/123 DATA ITEM DESCRIPTION Form Approved OMB NO.0704-0188 Public reporting burden for collection of this information is estimated

More information

COMPUTER SCIENCE AND ENGINEERING - Basic Functions and Operational Units - Kevin Skadron, BASIC FUNCTIONS AND OPERATIONAL UNITS

COMPUTER SCIENCE AND ENGINEERING - Basic Functions and Operational Units - Kevin Skadron, BASIC FUNCTIONS AND OPERATIONAL UNITS BASIC FUNCTIONS AND OPERATIONAL UNITS Kevin Skadron Department of Computer Science, University of Virginia, USA Keywords: Computers, computer systems, components, hierarchy, memory, mass storage, peripherals,

More information

Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin

Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin BUS ARCHITECTURES Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin Keywords: Bus standards, PCI bus, ISA bus, Bus protocols, Serial Buses, USB, IEEE 1394

More information

Study Plan Masters of Science in Computer Engineering and Networks (Thesis Track)

Study Plan Masters of Science in Computer Engineering and Networks (Thesis Track) Plan Number 2009 Study Plan Masters of Science in Computer Engineering and Networks (Thesis Track) I. General Rules and Conditions 1. This plan conforms to the regulations of the general frame of programs

More information

Chapter 5 Instructor's Manual

Chapter 5 Instructor's Manual The Essentials of Computer Organization and Architecture Linda Null and Julia Lobur Jones and Bartlett Publishers, 2003 Chapter 5 Instructor's Manual Chapter Objectives Chapter 5, A Closer Look at Instruction

More information

Pentium vs. Power PC Computer Architecture and PCI Bus Interface

Pentium vs. Power PC Computer Architecture and PCI Bus Interface Pentium vs. Power PC Computer Architecture and PCI Bus Interface CSE 3322 1 Pentium vs. Power PC Computer Architecture and PCI Bus Interface Nowadays, there are two major types of microprocessors in the

More information

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008

An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 Computer Science the study of algorithms, including Their formal and mathematical properties Their hardware realizations

More information

EE482: Advanced Computer Organization Lecture #11 Processor Architecture Stanford University Wednesday, 31 May 2000. ILP Execution

EE482: Advanced Computer Organization Lecture #11 Processor Architecture Stanford University Wednesday, 31 May 2000. ILP Execution EE482: Advanced Computer Organization Lecture #11 Processor Architecture Stanford University Wednesday, 31 May 2000 Lecture #11: Wednesday, 3 May 2000 Lecturer: Ben Serebrin Scribe: Dean Liu ILP Execution

More information

LSN 2 Computer Processors

LSN 2 Computer Processors LSN 2 Computer Processors Department of Engineering Technology LSN 2 Computer Processors Microprocessors Design Instruction set Processor organization Processor performance Bandwidth Clock speed LSN 2

More information

TEACHING COMPUTER ARCHITECTURE THROUGH SIMULATION (A BRIEF EVALUATION OF CPU SIMULATORS) *

TEACHING COMPUTER ARCHITECTURE THROUGH SIMULATION (A BRIEF EVALUATION OF CPU SIMULATORS) * TEACHING COMPUTER ARCHITECTURE THROUGH SIMULATION (A BRIEF EVALUATION OF CPU SIMULATORS) * Timothy Stanley, PhD Computer and Network Sciences, Utah Valley University, Orem, Utah 84058, 801 863-8978, TStanley@uvu.edu

More information

OC By Arsene Fansi T. POLIMI 2008 1

OC By Arsene Fansi T. POLIMI 2008 1 IBM POWER 6 MICROPROCESSOR OC By Arsene Fansi T. POLIMI 2008 1 WHAT S IBM POWER 6 MICROPOCESSOR The IBM POWER6 microprocessor powers the new IBM i-series* and p-series* systems. It s based on IBM POWER5

More information

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design Learning Outcomes Simple CPU Operation and Buses Dr Eddie Edwards eddie.edwards@imperial.ac.uk At the end of this lecture you will Understand how a CPU might be put together Be able to name the basic components

More information

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1

MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1 MICROPROCESSOR A microprocessor incorporates the functions of a computer s central processing unit (CPU) on a single Integrated (IC), or at most a few integrated circuit. It is a multipurpose, programmable

More information

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored?

what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the

More information

I/O. Input/Output. Types of devices. Interface. Computer hardware

I/O. Input/Output. Types of devices. Interface. Computer hardware I/O Input/Output One of the functions of the OS, controlling the I/O devices Wide range in type and speed The OS is concerned with how the interface between the hardware and the user is made The goal in

More information

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit.

Logical Operations. Control Unit. Contents. Arithmetic Operations. Objectives. The Central Processing Unit: Arithmetic / Logic Unit. Objectives The Central Processing Unit: What Goes on Inside the Computer Chapter 4 Identify the components of the central processing unit and how they work together and interact with memory Describe how

More information

CPU Organisation and Operation

CPU Organisation and Operation CPU Organisation and Operation The Fetch-Execute Cycle The operation of the CPU 1 is usually described in terms of the Fetch-Execute cycle. 2 Fetch-Execute Cycle Fetch the Instruction Increment the Program

More information

Computer Organization and Components

Computer Organization and Components Computer Organization and Components IS5, fall 25 Lecture : Pipelined Processors ssociate Professor, KTH Royal Institute of Technology ssistant Research ngineer, University of California, Berkeley Slides

More information

What is a System on a Chip?

What is a System on a Chip? What is a System on a Chip? Integration of a complete system, that until recently consisted of multiple ICs, onto a single IC. CPU PCI DSP SRAM ROM MPEG SoC DRAM System Chips Why? Characteristics: Complex

More information

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines

Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada ken@unb.ca Micaela Serra

More information

Computer System Design. System-on-Chip

Computer System Design. System-on-Chip Brochure More information from http://www.researchandmarkets.com/reports/2171000/ Computer System Design. System-on-Chip Description: The next generation of computer system designers will be less concerned

More information

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals

THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals THREE YEAR DEGREE (HONS.) COURSE BACHELOR OF COMPUTER APPLICATION (BCA) First Year Paper I Computer Fundamentals Full Marks 100 (Theory 75, Practical 25) Introduction to Computers :- What is Computer?

More information

Department of Computer Science

Department of Computer Science 82 Advanced Biochemistry Lab II. (2-8) The second of two laboratory courses providing instruction in the modern techniques of biochemistry. Experiments are performed on the isolation, manipulation and

More information

Computer Systems Structure Input/Output

Computer Systems Structure Input/Output Computer Systems Structure Input/Output Peripherals Computer Central Processing Unit Main Memory Computer Systems Interconnection Communication lines Input Output Ward 1 Ward 2 Examples of I/O Devices

More information

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING

DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING DEGREE PLAN INSTRUCTIONS FOR COMPUTER ENGINEERING Fall 2000 The instructions contained in this packet are to be used as a guide in preparing the Departmental Computer Science Degree Plan Form for the Bachelor's

More information

How To Understand The Design Of A Microprocessor

How To Understand The Design Of A Microprocessor Computer Architecture R. Poss 1 What is computer architecture? 2 Your ideas and expectations What is part of computer architecture, what is not? Who are computer architects, what is their job? What is

More information

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level System: User s View System Components: High Level View Input Output 1 System: Motherboard Level 2 Components: Interconnection I/O MEMORY 3 4 Organization Registers ALU CU 5 6 1 Input/Output I/O MEMORY

More information

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008 Professional Organization Checklist for the Computer Science Curriculum Updates Association of Computing Machinery Computing Curricula 2008 The curriculum guidelines can be found in Appendix C of the report

More information

CPU Organization and Assembly Language

CPU Organization and Assembly Language COS 140 Foundations of Computer Science School of Computing and Information Science University of Maine October 2, 2015 Outline 1 2 3 4 5 6 7 8 Homework and announcements Reading: Chapter 12 Homework:

More information

The Central Processing Unit:

The Central Processing Unit: The Central Processing Unit: What Goes on Inside the Computer Chapter 4 Objectives Identify the components of the central processing unit and how they work together and interact with memory Describe how

More information

ECE 3803: Microprocessor System Design D Term 2011 Course Syllabus Department of Electrical and Computer Engineering Worcester Polytechnic Institute

ECE 3803: Microprocessor System Design D Term 2011 Course Syllabus Department of Electrical and Computer Engineering Worcester Polytechnic Institute ECE 3803: Microprocessor System Design D Term 2011 Course Department of Electrical and Computer Engineering Worcester Polytechnic Institute Instructor: Gene Bogdanov, AK020, gene@wpi.edu, 508-831-6640

More information

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions

CS101 Lecture 26: Low Level Programming. John Magee 30 July 2013 Some material copyright Jones and Bartlett. Overview/Questions CS101 Lecture 26: Low Level Programming John Magee 30 July 2013 Some material copyright Jones and Bartlett 1 Overview/Questions What did we do last time? How can we control the computer s circuits? How

More information

Administrative Issues

Administrative Issues CSC 3210 Computer Organization and Programming Introduction and Overview Dr. Anu Bourgeois (modified by Yuan Long) Administrative Issues Required Prerequisites CSc 2010 Intro to CSc CSc 2310 Java Programming

More information

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX

Overview. CISC Developments. RISC Designs. CISC Designs. VAX: Addressing Modes. Digital VAX Overview CISC Developments Over Twenty Years Classic CISC design: Digital VAX VAXÕs RISC successor: PRISM/Alpha IntelÕs ubiquitous 80x86 architecture Ð 8086 through the Pentium Pro (P6) RJS 2/3/97 Philosophy

More information

ELEC 5260/6260/6266 Embedded Computing Systems

ELEC 5260/6260/6266 Embedded Computing Systems ELEC 5260/6260/6266 Embedded Computing Systems Spring 2016 Victor P. Nelson Text: Computers as Components, 3 rd Edition Prof. Marilyn Wolf (Georgia Tech) Course Topics Embedded system design & modeling

More information

Advanced Computer Architecture

Advanced Computer Architecture Advanced Computer Architecture Instructor: Andreas Moshovos moshovos@eecg.toronto.edu Fall 2005 Some material is based on slides developed by profs. Mark Hill, David Wood, Guri Sohi and Jim Smith at the

More information

ADVANCED COMPUTER ARCHITECTURE: Parallelism, Scalability, Programmability

ADVANCED COMPUTER ARCHITECTURE: Parallelism, Scalability, Programmability ADVANCED COMPUTER ARCHITECTURE: Parallelism, Scalability, Programmability * Technische Hochschule Darmstadt FACHBEREiCH INTORMATIK Kai Hwang Professor of Electrical Engineering and Computer Science University

More information

Introduction to RISC Processor. ni logic Pvt. Ltd., Pune

Introduction to RISC Processor. ni logic Pvt. Ltd., Pune Introduction to RISC Processor ni logic Pvt. Ltd., Pune AGENDA What is RISC & its History What is meant by RISC Architecture of MIPS-R4000 Processor Difference Between RISC and CISC Pros and Cons of RISC

More information

Spacecraft Computer Systems. Colonel John E. Keesee

Spacecraft Computer Systems. Colonel John E. Keesee Spacecraft Computer Systems Colonel John E. Keesee Overview Spacecraft data processing requires microcomputers and interfaces that are functionally similar to desktop systems However, space systems require:

More information

CHAPTER 7: The CPU and Memory

CHAPTER 7: The CPU and Memory CHAPTER 7: The CPU and Memory The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint slides

More information

Computer Science. Master of Science

Computer Science. Master of Science Computer Science Master of Science The Master of Science in Computer Science program at UALR reflects current trends in the computer science discipline and provides students with a solid theoretical and

More information

IA-64 Application Developer s Architecture Guide

IA-64 Application Developer s Architecture Guide IA-64 Application Developer s Architecture Guide The IA-64 architecture was designed to overcome the performance limitations of today s architectures and provide maximum headroom for the future. To achieve

More information

1. Computer System Structure and Components

1. Computer System Structure and Components 1 Computer System Structure and Components Computer System Layers Various Computer Programs OS System Calls (eg, fork, execv, write, etc) KERNEL/Behavior or CPU Device Drivers Device Controllers Devices

More information

AC 2007-2027: A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION

AC 2007-2027: A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION AC 2007-2027: A PROCESSOR DESIGN PROJECT FOR A FIRST COURSE IN COMPUTER ORGANIZATION Michael Black, American University Manoj Franklin, University of Maryland-College Park American Society for Engineering

More information

Exploring Computer Science A Freshman Orientation and Exploratory Course

Exploring Computer Science A Freshman Orientation and Exploratory Course Exploring Computer Science A Freshman Orientation and Exploratory Course Stephen U. Egarievwe and Vivian J. Fielder Center for Internet Based Education and Research Department of Mathematics and Computer

More information

Architecture of Hitachi SR-8000

Architecture of Hitachi SR-8000 Architecture of Hitachi SR-8000 University of Stuttgart High-Performance Computing-Center Stuttgart (HLRS) www.hlrs.de Slide 1 Most of the slides from Hitachi Slide 2 the problem modern computer are data

More information

2010-2011 Assessment for Master s Degree Program Fall 2010 - Spring 2011 Computer Science Dept. Texas A&M University - Commerce

2010-2011 Assessment for Master s Degree Program Fall 2010 - Spring 2011 Computer Science Dept. Texas A&M University - Commerce 2010-2011 Assessment for Master s Degree Program Fall 2010 - Spring 2011 Computer Science Dept. Texas A&M University - Commerce Program Objective #1 (PO1):Students will be able to demonstrate a broad knowledge

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 The Universal Machine n A computer -- a machine that stores and manipulates information under the control of a

More information

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX

CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX Multiple Choice: 1. Processing information involves: A. accepting information from the outside world. B. communication with another computer. C. performing arithmetic

More information

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to:

Computer Performance. Topic 3. Contents. Prerequisite knowledge Before studying this topic you should be able to: 55 Topic 3 Computer Performance Contents 3.1 Introduction...................................... 56 3.2 Measuring performance............................... 56 3.2.1 Clock Speed.................................

More information

List of courses MEngg (Computer Systems)

List of courses MEngg (Computer Systems) List of courses MEngg (Computer Systems) Course No. Course Title Non-Credit Courses CS-401 CS-402 CS-403 CS-404 CS-405 CS-406 Introduction to Programming Systems Design System Design using Microprocessors

More information

High Performance Computing. Course Notes 2007-2008. HPC Fundamentals

High Performance Computing. Course Notes 2007-2008. HPC Fundamentals High Performance Computing Course Notes 2007-2008 2008 HPC Fundamentals Introduction What is High Performance Computing (HPC)? Difficult to define - it s a moving target. Later 1980s, a supercomputer performs

More information

18-447 Computer Architecture Lecture 3: ISA Tradeoffs. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/18/2013

18-447 Computer Architecture Lecture 3: ISA Tradeoffs. Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/18/2013 18-447 Computer Architecture Lecture 3: ISA Tradeoffs Prof. Onur Mutlu Carnegie Mellon University Spring 2013, 1/18/2013 Reminder: Homeworks for Next Two Weeks Homework 0 Due next Wednesday (Jan 23), right

More information

Undergraduate Major in Computer Science and Engineering

Undergraduate Major in Computer Science and Engineering University of California, Irvine 2015-2016 1 Undergraduate Major in Computer Science and Engineering On This Page: Overview Admissions Requirements for the B.S. in Computer Science and Engineering Sample

More information

Microprocessor or Microcontroller?

Microprocessor or Microcontroller? Microprocessor or Microcontroller? A little History What is a computer? [Merriam-Webster Dictionary] one that computes; specifically : programmable electronic device that can store, retrieve, and process

More information

Operating system Dr. Shroouq J.

Operating system Dr. Shroouq J. 3 OPERATING SYSTEM STRUCTURES An operating system provides the environment within which programs are executed. The design of a new operating system is a major task. The goals of the system must be well

More information

More on Pipelining and Pipelines in Real Machines CS 333 Fall 2006 Main Ideas Data Hazards RAW WAR WAW More pipeline stall reduction techniques Branch prediction» static» dynamic bimodal branch prediction

More information

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai 2007. Jens Onno Krah (DSF) Soft Core Prozessor NIOS II Stand Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de jens_onno.krah@fh-koeln.de NIOS II 1 1 What is Nios II? Altera s Second Generation

More information

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC6504 - Microprocessor & Microcontroller Year/Sem : II/IV UNIT I THE 8086 MICROPROCESSOR 1. What is the purpose of segment registers

More information

Let s put together a Manual Processor

Let s put together a Manual Processor Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce

More information

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1 Monitors Monitor: A tool used to observe the activities on a system. Usage: A system programmer may use a monitor to improve software performance. Find frequently used segments of the software. A systems

More information

VLIW Processors. VLIW Processors

VLIW Processors. VLIW Processors 1 VLIW Processors VLIW ( very long instruction word ) processors instructions are scheduled by the compiler a fixed number of operations are formatted as one big instruction (called a bundle) usually LIW

More information

Stage III courses COMPSCI 314

Stage III courses COMPSCI 314 Stage III courses To major in Computer Science, you have to take four Stage III COMPSCI courses, plus one other Stage III course chosen from the BSc Schedule. This may be another Stage III COMPSCI course.

More information

OpenSPARC T1 Processor

OpenSPARC T1 Processor OpenSPARC T1 Processor The OpenSPARC T1 processor is the first chip multiprocessor that fully implements the Sun Throughput Computing Initiative. Each of the eight SPARC processor cores has full hardware

More information

Instruction Set Design

Instruction Set Design Instruction Set Design Instruction Set Architecture: to what purpose? ISA provides the level of abstraction between the software and the hardware One of the most important abstraction in CS It s narrow,

More information

(Refer Slide Time: 00:01:16 min)

(Refer Slide Time: 00:01:16 min) Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control

More information

RUNAHEAD EXECUTION: AN EFFECTIVE ALTERNATIVE TO LARGE INSTRUCTION WINDOWS

RUNAHEAD EXECUTION: AN EFFECTIVE ALTERNATIVE TO LARGE INSTRUCTION WINDOWS RUNAHEAD EXECUTION: AN EFFECTIVE ALTERNATIVE TO LARGE INSTRUCTION WINDOWS AN INSTRUCTION WINDOW THAT CAN TOLERATE LATENCIES TO DRAM MEMORY IS PROHIBITIVELY COMPLEX AND POWER HUNGRY. TO AVOID HAVING TO

More information

TECHNOLOGY BRIEF. Compaq RAID on a Chip Technology EXECUTIVE SUMMARY CONTENTS

TECHNOLOGY BRIEF. Compaq RAID on a Chip Technology EXECUTIVE SUMMARY CONTENTS TECHNOLOGY BRIEF August 1999 Compaq Computer Corporation Prepared by ISSD Technology Communications CONTENTS Executive Summary 1 Introduction 3 Subsystem Technology 3 Processor 3 SCSI Chip4 PCI Bridge

More information

Using Graphics and Animation to Visualize Instruction Pipelining and its Hazards

Using Graphics and Animation to Visualize Instruction Pipelining and its Hazards Using Graphics and Animation to Visualize Instruction Pipelining and its Hazards Per Stenström, Håkan Nilsson, and Jonas Skeppstedt Department of Computer Engineering, Lund University P.O. Box 118, S-221

More information

Exception and Interrupt Handling in ARM

Exception and Interrupt Handling in ARM Exception and Interrupt Handling in ARM Architectures and Design Methods for Embedded Systems Summer Semester 2006 Author: Ahmed Fathy Mohammed Abdelrazek Advisor: Dominik Lücke Abstract We discuss exceptions

More information