Presentation is loading. Please wait.

Presentation is loading. Please wait.

Subroutines and Parameters Call and return Parameter passing Return values Leaf subroutines Combining C and assembly modules.

Similar presentations


Presentation on theme: "Subroutines and Parameters Call and return Parameter passing Return values Leaf subroutines Combining C and assembly modules."— Presentation transcript:

1

2 Subroutines and Parameters Call and return Parameter passing Return values Leaf subroutines Combining C and assembly modules

3 Separate Assembly Separate Assembly Language Modules –Command line parameters are passed like any others External Data

4 Example include(macro_defs.m) ! Some symbolic constants for readability. define(argc, i0) define(argv, i1) local_vars var(sum, 4) fmt:.asciz "sum is %d\n" ! Read-only string ! for printf...

5 .align 4 begin st %g0, [%fp + sum] ! sum = 0; b test ! while test nop ! Delay slot loop: add %fp, sum, %o0 ! &sum call summer ld [%argv], %o1 ! ptr to 1st num test: subcc %argc, 1, %argc ! argc--; bg,a loop add %argv, 4, %argv ! argv++;...

6 set fmt, %o0 call printf ! printf(fmt, sum); ld [%fp + sum], %o1 ! Delay slot end_fn

7

8 7. Instruction Encoding All instructions 32 bits long Three “formats”

9 Format 1 The call instruction 01displacement 30

10 Format 2 Branch and sethi 00immediate 22op2rd00displacement 22op2conda

11 Format 3 Arithmetic, Logical, Load, Store, etc. xxasiop3rdrs1rs20xxop3rdrs1immediate 131

12

13 Computer Architecture A Quantitative Approach (Based on Hennessy and Patterson, 3 rd Ed.)

14 Fundamentals of Computer Design Improvement in computer performance comes from two areas: –Technological improvements –Architectural improvements Since the 1980’s development of new architectures has been encouraged by: –High-level languages –Standardised operating systems

15 Background Since 1985 new architectures have led to startling performance improvements –Fig 1.1 (p. 3) Microprocessors rule! –Workstations and PC’s –Minicomputers –Mainframes –Supercomputers

16 Computing Markets Desktop machines –Price/performance is critical –Use newest technology Servers –Availability, scalability, throughput Embedded computers –Fastest growing market segment –Huge range of price/performance –Real-time requirements –Memory and power are limited

17 The Task of a Computer Designer Instruction Set Architecture Organisation Hardware } Architecture Must meet functional requirements: Intended application area Compatibility with existing software Support required for operating system(s) Standards (IEEE floating point, busses, networks, programming languages, etc.)

18 Task of a Designer (cont.) Strive to minimise complexity and cost/performance ratio Track future trends

19 Technology Trends Processors: –transistor counts increase +/–55% each year RAM: –rapid increase in density (but not speed) Disks: –density increases at 100+% each year Networks: –bandwidth increasing rapidly

20 Technology Trends (cont.) Life span of a processor +/–5 years –Must plan for changes in technologies –May design for future technology! Trends are continuous, but sometimes observed as discrete leaps –E.g. transistor density → on-chip caches

21 Power A major headache! Packing more transistors closer together greatly increases power consumption –1970’s microprocessors: a few tenths of a watt –2GHz P4: 100W

22 Cost/Price Trends Critical for desktop and embedded markets Time –“Learning curve” decreases price Volume Commodification –Competition in high volume markets decreases price

23 Cost Issues Complex and rapidly changing area Cost of integrated circuits –Significant impact on cost differentiation Overall (desktop PC): –Cabinet: 6% –Processor and motherboard: 37% Processor: 22% –I/O Devices: 37% –Software: 20%

24 Balancing Cost/Performance No one answer Supercomputers –Cost is of little concern Some embedded areas (e.g. cell phones) –Cost is critical Workstations and servers –Cost and performance must be balanced

25


Download ppt "Subroutines and Parameters Call and return Parameter passing Return values Leaf subroutines Combining C and assembly modules."

Similar presentations


Ads by Google