User Tools

Site Tools


start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
start [2018/08/31 16:51] aboelazestart [2018/08/31 16:59] (current) aboelaze
Line 2: Line 2:
 ====== Computer Architecture  ====== ====== Computer Architecture  ======
  
-===== Description  =====+====== Description  ======
  
-The course lays the conceptual foundation of object-oriented programming. It covers delegation and contractsencapsulation and API programming, aggregation and the collections frameworkinheritance and polymorphismall from the client's perspective.  +This course presents the core concepts of computer architecture and 
 +design ideas embodied in many machines, and emphasises a quantitative 
 +approach to cost/performance tradeoffs. This course concentrates on 
 +uniprocessor systems. A few machines are studied to illustrate how these 
 +concepts are implemented; how various tradeoffs that exist among design 
 +choices are treated; and how good designs make efficient use of 
 +technology. Future trends in computer architecture are also discussed. 
 +Topics covered may include fundamentals of computer design; 
 +performance and cost; instruction set design and measurements of use; 
 +pipeline design techniques; memory-hierarchy design; Input-output 
 +subsystems; 
 + 
 +====== Learning outcomes for the course: ====== 
 + 
 +Upon the completion of this coursethe student should be able to 
 + 
 + 
 +  - Design cachememory hierarchy, and virtual memory using different techniques to improve cost/performance ratio. 
 +  - Demonstrate how dynamic scheduling and speculative execution can improve the system performance and explain how it is implemented in modern processors. 
 +  - Evaluate different design alternatives and make quantitative/qualitative argument for one design over the other. 
 +  - Identity the different types of parallelism (data, instruction, thread, transaction) for a given application. 
 +  - Compare and evaluate different techniques (such as multithreading, multicore, or vector) to improve CPU performance.
  
 ===== Lecture Times ===== ===== Lecture Times =====
start.1535734297.txt.gz · Last modified: 2018/08/31 16:51 by aboelaze