250 likes | 264 Views
Learn about computer abstractions, hardware and software, and the basics of C programming. Explore the concepts of abstraction, Moore's Law, and instruction set architecture (ISA).
E N D
CSCI206 - Computer Organization & Programming Computer Abstractions and Technology Revised by Alexander Fuchsberger and Xiannong Meng in spring 2019 based on the notes by other instructors. zyBook: 1.4, 1.5, 1.6, 1.7 PH: 1.1, 1.2, 1.3, 1.4, 1.5 Based on materials from MKP, and Prof. Mary Jane Irvin (PSU)
Outline • Recap last lecture • C basics • Reading activities • You should have read and worked on the assigned zyBook activities • Today we will discuss • Abstraction • Hardware and software • ISA
Activity: 03 C Basic I/O https://goo.gl/forms/ZgQKrY7ll3vIs3wn2
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?
The Transistor Source: http://en.wikipedia.org/
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, https://commons.wikimedia.org/w/index.php?curid=4560427
“The number of transistors on a chip will double about every two years.” (18 months) Moore’s Law Source: http://www.intel.com/content/www/us/en/silicon-innovations/moores-law-embedded-technology.html
Where computers are Good news, all of these computers need software!
Personal Computers General purpose Run a wide variety of (3rd party) software Strong cost/performance tradeoffs
Server / Cloud Computing Google Datacenter in Mayes County, Oklahoma Network based High performance, memory capacity, and reliability Range from small racks to warehouse size http://www.google.com/about/datacenters
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)!
Personal Mobile Devices Battery operated power constrained Wireless connectivity User can add new “apps”
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.
Do not lose sight in these sizes! How many bytes of text do you think your textbook contains (PH 4ed)? Roughly speaking, the book has about 1,000 pages, each page has about 40 lines, each line has about 70 characters, each character occupies 1 (one) byte. This makes a total of about 2.8 M bytes only!
Concept ABSTRACTION a technique for dealing with complex systems; hide the lower-level details and expose what is meaningful for the high-level functionality.
Abstractions CS315 / CS205 CS206 / CS320 ECEG240 ECEG350 / PHYS235
Software abstraction? • From your reading of the textbook, can you outline software abstraction?
Abstractions Applications software: 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)...
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.
ISA The interface between software and hardware
ISA “This abstract interface enables many implementations of varying cost and performance to run identical software.” (PH p.22) x86-64
System Abstractions ISA ABI 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
Key points Moore’s law Abstraction used in hardware and software instruction set architecture (ISA) application binary interface (ABI)