Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI206 - Computer Organization & Programming

Similar presentations


Presentation on theme: "CSCI206 - Computer Organization & Programming"— Presentation transcript:

1 CSCI206 - Computer Organization & Programming
Computer Abstractions and Technology zyBook: 1.4, 1.5, 1.6, 1.7, 1.8 PH: 1.1, 1.2, 1.3, 1.4, 1.5 Based on materials from MKP, and Prof. Mary Jane Irvin (PSU)

2 Outline Recap last lecture Today we will discuss Course logistics
C vs Python Today we will discuss Abstraction Hardware and software ISA

3 What’s in a computer You see a monitor (screen) of some kind
You see a keyboard of some kind You know there is memory units, CPU, power units, and others But what makes all these units possible?

4 The Transistor Source:

5 Integrated circuits By The original uploader was Zephyris at English Wikipedia - Transferred from en.wikipedia to Commons by TenIslands using CommonsHelper., CC BY-SA 3.0,

6 Moore’s Law “The number of transistors on a chip will double about every two years.” (18 months) Source:

7 Where computers are

8 Good news, all of these computers need software!
Where computers are Good news, all of these computers need software!

9 Personal Computers General purpose
Run a wide variety of (3rd party) software Strong cost/performance tradeoffs

10 Server / Cloud Computing
Google Datacenter in Mayes County, Oklahoma Network based High performance, memory capacity, and reliability Range from small racks to warehouse size

11 Embedded Computers Hidden in other systems Runs one program forever
often not changeable by the user Stringent power/performance/cost constraints Largest class of computers (by number)!

12 Personal Mobile Devices
Battery operated power constrained Wireless connectivity User can add new “apps”

13 Byte / Kilobyte / Kibibyte
Decimal prefixes (SI) - typically used for physical quantities, speeds, volume, length, area, etc. Binary prefixes (CS) - used by computer scientists to measure amounts of binary data.

14 Concept ABSTRACTION a technique for dealing with complex systems; hide the lower-level details and expose what is meaningful for the high-level functionality.

15 Abstractions

16 Abstractions CS315 / CS205 CS206 / CS320 ECEG240 ECEG350 / PHYS235

17 Software abstraction? From your reading of the textbook, can you outline software abstraction?

18 Abstractions Applications software: Systems software: Operating System
web browser, PDF, music player... Systems software: libraries, compiler, assembler, linker... Operating System task scheduling, memory management, IO... Hardware processor, memory, bus, IO (network, disk, etc)...

19 Concept Instruction Set Architecture (ISA)
the interface between hardware and low-level software; registers, instruction set, addressing modes, etc.: everything that one needs to know to build a working machine language program.

20 ISA The interface between software and hardware

21 ISA “This abstract interface enables many implementations of varying cost and performance to run identical software.” (PH p.22) x86-64

22 System Abstractions Application Binary Interface (ABI)
ISA Application Binary Interface (ABI) OS + ISA + system libraries Linux ABI (system call interface) on x86-64, i386, MIPS, ARM Mac OS X ABI on x86-64, 32/64 bit Power PC Windows ABI x64 vs x86 ABI

23 Key points Moore’s law Abstraction used in hardware and software
instruction set architecture (ISA) application binary interface (ABI)


Download ppt "CSCI206 - Computer Organization & Programming"

Similar presentations


Ads by Google