below your program - university of arkansascsce.uark.edu/.../lecture2-below-your-program.pdf ·...

15
Below Your Program Alexander Nelson January 15, 2020 University of Arkansas - Department of Computer Science and Computer Engineering

Upload: others

Post on 13-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Below Your Program

Alexander Nelson

January 15, 2020

University of Arkansas - Department of Computer Science and Computer Engineering

Page 2: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Below Your Program

Application Software – Written in

high-level language

System Software

• Compiler – Translate HLL to

Machine Code

• Operating System – Service Code

• Handle I/O

• Manage memory/storage

• Schedule tasks/IPC

Hardware – Processor, Memory, I/O

Controllers1

1Slide content provided by book authors

1

Page 3: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Levels of Program Code

High-Level Language – Level of

abstraction close to problem domain

Provide productivity and portability

through abstraction

Assembly Language – Textual

representation of instructions for

given architecture

Hardware Representation – Binary

encoded instructions/data

2

Page 4: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Components of a Computer

Five basic components of

a computer:

• Input

• Output

• Memory

• Datapath

• Control

3

Page 5: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Input/Output

Input/Output facilitate interactions with people/things

e.g.

• Screen - Output

• Touchscreen - Both

• Mouse/Keyboard/Touchpad – Input

• Wireless Radio (Wi-Fi/BT/Cell) – Both

Controller for I/O Devices may have direct memory addressibility

(DMA)

4

Page 6: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

LCD Rasterize

5

Page 7: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Opening the Box – Apple iPad 2

6

Page 8: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Opening the Box

Apple A5 Processor, 16GB Flash Memory, Power management

TI Touchscreen Driver, Power management IC

7

Page 9: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Inside the CPU – Apple A5

12.1x10.1mm Integrated

Circuit

45nm transistor process

Dual-core ARM processors

PowerVR GPU w/ 4

datapaths

2x256MiB DRAM

interfaces = 512MiB

8

Page 10: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Inside the CPU – Apple A9X

12 GPU Cores!

8x512MiB DRAM (DDR4)

interfaces = 4GiB

9

Page 11: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Abstractions

Instruction Set Architecture – Hardware/software

interface

Need to know what a chip can do

Allow identical software to run on different hardware

Cache Memory – Small, fast memory as buffer for

larger DRAM

Datapath is important as abstraction

10

Page 12: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

A Safe Place for Data

Volatile vs. Nonvolatile Memory

Volatile = able to change rapidly/unpredictably

Volatile in memory = Does not persist through power loss

Main Memory – Typically volatile, high level of memory hierarchy

Secondary Memory – Typically nonvolatile, lower level of memory

hierarchy

11

Page 13: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

A Safe Place for Data

SRAM/DRAM – Main Memory

Magnetic Disk, Flash Memory – Secondary Memory

Access times:

• SRAM = ˜10ns

• DRAM = ˜100ns

• Flash = ˜10,000ns

• Magnetic Disk = ˜9,000,000ns

Flash & Magnetic Disk wear out over time

Must control # of writes

12

Page 14: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Cost Per Bit

2

2https://www.cs.utexas.edu/users/mckinley/352/lectures/21.pdf

13

Page 15: Below Your Program - University of Arkansascsce.uark.edu/.../lecture2-below-your-program.pdf · Below Your Program Alexander Nelson January 15, 2020 ... 1Slide content provided by

Communicating with other Computers

Different access technologies

• LAN – Local Area Network (Ethernet)

• WAN – Wide Area Netowrk (Internet)

• Wireless Network (WLAN/WWAN) – Wi-Fi/BT/Cellular

14