syllabus instructor: dr. wesam ashour office: b231 email: washour@iugaza

Post on 31-Dec-2015

25 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Syllabus Instructor: Dr. Wesam Ashour Office: B231 Email: Washour@iugaza.edu Office Hours: Saturday 11:00  12:00. Sunday 11:00  12:00. Monday 11:00  12:00. Wednesday 11:00  12:00. Syllabus - PowerPoint PPT Presentation

TRANSCRIPT

1

Syllabus

Instructor: Dr. Wesam Ashour

Office: B231

Email: Washour@iugaza.edu

Office Hours: Saturday 11:00 12:00. Sunday 11:00 12:00.

Monday 11:00 12:00. Wednesday 11:00 12:00.

2

3

Syllabus

Course: ECOM 3310 – Computer Architecture

Contents: 1- Ch.1: Introduction.

2- Ch.2: Instructions: Language of the Computer.

3- Ch.3: Arithmetic for Computers.

4- Ch.4: Assessing and Understanding Performance.

5- Ch.5: The Processor: Datapath and Control.

6- Ch.6: Enhancing Performance with Pipelining.

7- Ch.7: Large and Fast: Exploiting Memory Hierarchy

8- Ch.8: Input/Output Systems

We will cover as much as we can!

4

Syllabus

Description: This course explores the design of computer systems and their architectures. Topics include central processing unit architecture, pipelining, system interconnections, memory systems, input/output systems, interrupt handling. Goals of the Course:Basic understanding of computer organization: roles of processors, main memory, and input/output devices. Understanding the concept of programs as sequences of machine instructions. Understanding the relationship between assembly language and machine language; development of skill in assembly language programming; understanding the relationship between high-level compiled languages and assembly language. Understanding arithmetic and logical operations with integer operands. Understanding floating-point number systems and operations. Understanding simple data path and control designs for processors. Understanding memory organization, including cache structures and virtual memory schemes. The course include basic machine architecture and design, digital logic circuits, digital components, central processing unit, machine representation of instructions and data, addressing techniques, memory organization, and execution of instructions at machine level. 

Course Outcomes:• By the end of this course, students should be able to:• Write a simple program in assembler language to implement a high level program

segment• Design simple assembly language programs that make appropriate use of a registers

and memory. • Understand how the architecture affects program performance• Understand the basics of computer hardware and how software interacts with

computer hardware.• Understanding how to implement the instruction set architecture ISA• Understanding the levels and organizations of Hierarchies in Memories and cashes.• Assemble a simple computer with hardware design including data format, instruction

format, instruction set, addressing modes, bus structure, input/output, memory, Arithmetic/Logic unit, control unit, and data, instruction and address flow.

5

Syllabus

6

Syllabus Grades: 20% Quizzes + HWs + Teaching Assistant control.

10% Project. 20% Midterm Exam. 50% Final Exam.

Midterm Exam: Sunday, 10th November 2013, 11:00am-12:30pmFinal Exam: Monday, 6th January 2014, 11:30am-14:30pm

Important Notice:

Sometimes (& Suddenly) I will test you by giving Quizzes at the beginning of the lecture! - To solve it easily and to get the highest mark, you should always read the last two lectures before attending the class – Good Luck.

Important Advice:

From first day in the semester you should work very hard and you must activate your mind to think!

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

Chapter 2

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

lw $t0, 1200($t1)

add $t0, $s2, $t0

sw $t0, 1200($t1)

What is the MIPS machine language code for these three instructions?

1200 (in base 10) = 0000 0100 1011 0000 (binary)

$t0 register is number 8

$t1 register is number 9

$s2 register is number 18

Opcode -> lw is 35 (100011), sw is 43 (101011), R-type (000000) add func is 32 (100000)

45

lw $t0, 1200($t1)

add $t0, $s2, $t0

sw $t0, 1200($t1)

What is the MIPS machine language code for these three instructions?

1200 (in base 10) = 0000 0100 1011 0000 (binary)

$t0 register is number 8

$t1 register is number 9

$s2 register is number 18

Opcode -> lw is 35 (100011), sw is 43 (101011), R-type (000000) add func is 32 (100000)

100011 01001 01000 0000010010110000

000000 10010 01000 01000 00000 100000

101011 01001 01000 0000010010110000

46

or $t0, $t1, $t2

ori $t0, $t1, 255

sll $t0, $t1, 4

and $t0, $t1, $t2

47

48

49

50

51

if (save[i] >= k)

Code;

Assume save[i] is stored in $t1 and k is stored in $t2

52

slt $t0, $t1, $t2

bne $t0, $zero, Exit

Code

Exit:

if (save[i] >= k)

Code;

Assume save[i] is stored in $t1 and k is stored in $t2

53

if (save[i] < k)

Code;

Assume save[i] is stored in $t1 and k is stored in $t2

54

slt $t0, $t1, $t2

beq $t0, $zero, Exit

Code

Exit:

if (save[i] < k)

Code;

Assume save[i] is stored in $t1 and k is stored in $t2

55

if (save[i] > k)

Code;

Assume save[i] is stored in $t1 and k is stored in $t2

56

slt $t0, $t1, $t2

bne $t0, $zero, Exit

beq $t1, $t2, Exit

Code

Exit:

if (save[i] > k)

Code;

Assume save[i] is stored in $t1 and k is stored in $t2

57

if (save[i] <= k)

Code;

Assume save[i] is stored in $t1 and k is stored in $t2

Try it by yourself

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

top related