Department of Computer and Information Science, School of Science, IUPUI - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Department of Computer and Information Science, School of Science, IUPUI

Description:

Device capable of performing computations and making logical decisions ... Ada Real-time distributed systems Ada Augusta Byron & Charles Babbage ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 31
Provided by: dalero
Category:

less

Transcript and Presenter's Notes

Title: Department of Computer and Information Science, School of Science, IUPUI


1
Department of Computer and Information
Science,School of Science, IUPUI
CSCI 230
Computer Architecture
Dale Roberts, Lecturer Computer Science,
IUPUI E-mail droberts_at_cs.iupui.edu
2
What is a Computer?
  • Computer
  • Device capable of performing computations and
    making logical decisions
  • Computers process data under the control of sets
    of instructions called computer programs
  • Personal computers economical enough for
    individual
  • Distributed computing computing distributed over
    networks
  • Client/server computing sharing of information
    across computer networks between file servers and
    clients (personal computers)

Dale Roberts
3
What is a Computer? (cont.)
  • Computer Hardware
  • Various devices comprising a computer
  • Keyboard, screen, mouse, disks, memory, CD-ROM,
    and processing units
  • Hardware Trends every year or two the following
    approximately double (Moores Law)
  • Amount of memory in which to execute programs
  • Amount of secondary storage (such as disk
    storage)
  • Used to hold programs and data over the longer
    term
  • Processor speeds
  • The speeds at which computers execute their
    programs

4
What is a Computer? (cont.)
  • Computer Software
  • Computer Programs that run on a computer,
    including
  • Operation System (OS)
  • Application Software
  • Computer Language

5
Moore's Law
  • Defined by Dr. Gordon Moore during the sixties.
  • Predicts an exponential increase in component
    density over time, with a doubling time of 18
    months.
  • Applicable to microprocessors, DRAMs , DSPs and
    other microelectronics.
  • Monotonic increase in density observed since the
    1960s.

6
Moores Law - Density
7
Moore's Law and Performance
  • The performance of computers is determined by
    architecture and clock speed.
  • Clock speed doubles over a 3 year period due to
    the scaling laws on chip.
  • Processors using identical or similar
    architectures gain performance directly as a
    function of Moore's Law.
  • Improvements in internal architecture can yield
    better gains than predicted by Moore's Law.

8
Moores Law - Clock Speed
9
What is a Computer? (cont.)
  • Internet
  • The Internet enables
  • Quick and easy communication via e-mail
  • International networking of computers
  • Packet switching
  • The transfer of digital data via small packets
  • Allows multiple users to send and receive data
    simultaneously
  • No centralized control
  • If one part of the Internet fails, other parts
    can still operate
  • Bandwidth
  • Information carrying capacity of communications
    lines
  • Ex Internet T2 at IUPUI
  • World Wide Web
  • Locate and view multimedia-based documents on
    almost any subject
  • Makes information instantly and conveniently
    accessible worldwide
  • Possible for individuals and small businesses to
    get worldwide exposure
  • Changing the way business is done

10
Computer Organization
  • A Typical Von-Neumann Architecture
  • Example
  • Input unit
  • Output unit
  • Memory unit
  • Arithmetic and logic unit (ALU)
  • Central processing unit (CPU)
  • Secondary storage unit

11
Computer Organization (cont.)
  • Six logical units in every computer
  • Input unit
  • Obtains information from input devices (keyboard,
    mouse)
  • Output unit
  • Outputs information (to screen, to printer, to
    control other devices)
  • Memory unit
  • Rapid access, low capacity, stores input
    information
  • ROM (Read Only Memory) CMOS, EPROM
  • RAM (Random Access Memory) SRAM, DRAM, SIMM,
    DIMM

12
Computer Organization (cont.)
  • Six logical units in every computer (cont)
  • Arithmetic and logic unit (ALU) part of CPU
  • Performs arithmetic calculations (addition,
    subtraction...) and logic decisions
  • Control unit (CU) - part of CPU
  • Supervises and coordinates the other sections of
    the computer
  • Secondary storage unit
  • Cheap, long-term, high-capacity storage
  • Stores inactive programs

13
Computer Organization (cont.)
  • Central Processing Unit (CPU),
  • brain of a computer, consisting of
  • Arithmetic and logic unit (ALU) performs
    arithmetic calculations (addition,
    subtraction...) and logic decisions (gt, lt, ,
    ...)
  • Control Unit (CU) decodes each machine
    instruction and sends signal to other components
    for carrying out the instruction.
  • An integrated circuit (IC) that is a full central
    processing unit is called a microprocessor (?p)
    a CPUs current instruction and data values are
    stored temporally inside the CPU in special
    high-speed memory location called registers.
  • CPU speed ? MHz (M Mega 106, Hz1/sec)

14
Computer Organization (cont.)
  • Memory
  • A large collection of circuits, each capable of
    storing bit
  • Cells (words) manageable units typical size is
    8 bits (1 byte), some machines are 16 bits (2
    bytes) and some are 32 bits or 64 bits
  • Byte (8 bits), KB (kilobyte, 103 ? 210 bytes), MB
    (Megabyte, 106 ? 220 bytes), GB (Gigabyte, 109 ?
    230 bytes). Note k ? K because 1000 ? 1024.

15
Computer Organization (cont.)
  • Computer memory is comparable to a collection of
    numbered mailboxes. To identify individual cells
    in a machines main memory, each cell is assigned
    a unique name, called its address
  • The organization of byte-size memory cell

H
e
l
l
o
,
ASCII
...
...
Data
01001000
01100101
01101100
01101111
01101100
00101110
Address
0000 0101
0000 0110
0000 0111
0000 1000
0001 0001
0001 0010
Address Bus
Data Bus
16
Operation System (OS)
  • Responsibilities
  • Communicating with the computer user
  • Managing allocation of memory, of processor
  • time, and of other resources for various tasks
  • I/O handling BIOS vs DOS services (Interrupts)
  • Read/Write data from secondary storage
  • Evolution of Operating Systems
  • Batch processing do only one job or task at a
    time
  • Operating systems manage transitions between
    jobs and Increase throughput (amount of work
    computers process)
  • Multiprogramming Computer resources are shared
    by many jobs or tasks
  • Timesharing Technique used to implement
    multiprogramming where the computer runs a small
    portion of one users job then moves on to
    service the next user

17
Application Software
  • Developed to assist a computer user in
    accomplishing special tasks
  • ex word processing applications MS-word or
    Word-perfect
  • ex Spreadsheet applications Lotus1-2-3, Excel
  • ex Database Oracle, MS-Access
  • Software Development Life Cycle (SDLC)
  • Problem specify the problem requirements
  • Analysis analyze the problem
  • Design design the algorithm to solve the problem
  • Implementation Implement the algorithm
  • Testing test and verify the completed program
  • Maintenance maintain and update the program

18
Programming Languages
  • Machine languages (machine dependent)
  • Native tongue of a particular kind of computer.
    Each instruction is a binary string. The code is
    used to indicate the operations to be performed
    and the memory cells to be addressed. This form
    is easiest form of computers to understand, but
    is most difficult for a person to understand.
  • Strings of numbers giving machine specific
    instructions
  • Example 1300042774
  • 1400593419
  • 1200274027

19
Programming Languages (cont.)
  • Assembly languages (machine dependent)
  • English-like abbreviations representing
    elementary computer operations (translated via
    assemblers)
  • Again specific to only one type of computer. Uses
    descriptive names for operations and data, e.g. ,
    LOAD value, ADD delta, STORE value.
    Assemblers will translate these to machine
    languages. Intermediate level. Somewhat
    descriptive, but basically following the machine
    instructions.
  • Example LOAD BASEPAY
  • ADD OVERPAY
  • STORE GROSSPAY

20
Programming Languages (cont.)
  • High-level languages (machine independent)
  • Codes similar to everyday English
  • High-level languages Write program instructions
    called statement that resemble a limited version
    of English. e.g., the statement value value
    delta. Portable, meaning it can be used on
    different types of computers without
    modifications. Compilers translate them to
    machine languages. Examples are FORTRAN, PASCAL,
    COBOL, C, C, BASIC etc.
  • Use mathematical notations (translated via
    compilers)
  • Example
  • grossPay basePay overTimePay
  • Example
  • Statement a a b

21
Programming Languages (cont.)
  • Structured programming
  • Disciplined approach to writing programs
  • Clear, easy to test and debug and easy to modify
  • Multitasking
  • Specifying that many
  • activities run in parallel (still timesliced)

22
Semantic Gap
  • A semantic gap exists between the amount of
    information conveyed in assembly language v high
    level languages. Consider the following C single
    statement x x 3
  • This single statement may require many assembly
    language statements (operations) Load memory
    location 24 into accumulator Add a constant 3
    to the accumulator Store accumulator in
    memory location 24
  • The number of executable statement expands
    greatly during the translation process from a
    high level language into assembly language.

23
C Programming Language
  • C
  • High-level general-purpose language developed in
    1972 at ATT Bell Lab. By Dennis Ritchie from two
    previous programming BCPL and B
  • Originally developed to write the UNIX operating
    system
  • Hardware independent (portable)
  • By late 1970's C had evolved to "Traditional C"
  • Today, virtually all new operating systems are
    written in C or C.
  • The current standard in C is ANSI C.
  • C is a more advanced version of C,
    incorporating among other things, the
    object-oriented constructs
  • Standardization
  • Many slight variations of C existed, and were
    incompatible
  • Committee formed to create a "unambiguous,
    machine-independent" definition
  • Standard created in 1989, updated in 1999
  • C has become a popular language industry due its
    power and flexibility

24
The C Standard Library
  • C programs consist of pieces/modules called
    functions
  • A programmer can create his own functions
  • Advantage the programmer knows exactly how it
    works
  • Disadvantage time consuming
  • Programmers will often use the C library
    functions
  • Use these as building blocks
  • Avoid re-inventing the wheel
  • If a pre-made function exists, generally best to
    use it rather than write your own
  • Library functions carefully written, efficient,
    and portable

25
The C Standard Library (cont.)
  • The Key Software Trend Objects in C and JAVA
  • Reusable software components that model items in
    the real world
  • Meaningful software units ex Date objects, time
    objects, audio objects, video objects, file
    objects, record objectsany noun can be
    represented as an object
  • More understandable, better organized, and easier
    to maintain than procedural programming
  • Favor modularity

26
The C Standard Library
  • include ltstdio.hgt
  • main()
  • int i
  • for (i 0 i i lt 10)
  • printf ("Hello World!\n")

27
A Typical C Program Development Environment
  • 1. Edit
  • 2. Preprocess
  • 3. Compile
  • 4. Link
  • 5. Load
  • 6. Execute

28
A Typical C Program Development Environment
(cont.)
  • Procedure to Prepare a C Program for Execution

29
Constructs in C Language
  • Type Declarations ex int, float,
  • I/O ex printf(), scanf()
  • Arithmetic and Logical Operations ex
    ,-,,/,,gt,lt,,
  • Arrays, Pointers, Structures, Unions,
  • Functions
  • Arguments return values
  • Recursion
  • Control Mechanisms ex if, else, while, for,
  • Characters Strings ex strcat(), strcpy(),
  • File Processing ex fopen(), fclose(),
  • Pre-processor ex define
  • Misc.
  • bit operations, ...

30
Acknowledgements
  • Moores Law Kopp, Carlo. Monash University.
    Melbourne, Australia. 2000.
Write a Comment
User Comments (0)
About PowerShow.com