below your program - university of arkansascsce.uark.edu/.../lecture2-below-your-program.pdf ·...
TRANSCRIPT
Below Your Program
Alexander Nelson
January 15, 2020
University of Arkansas - Department of Computer Science and Computer Engineering
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
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
Components of a Computer
Five basic components of
a computer:
• Input
• Output
• Memory
• Datapath
• Control
3
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
LCD Rasterize
5
Opening the Box – Apple iPad 2
6
Opening the Box
Apple A5 Processor, 16GB Flash Memory, Power management
TI Touchscreen Driver, Power management IC
7
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
Inside the CPU – Apple A9X
12 GPU Cores!
8x512MiB DRAM (DDR4)
interfaces = 4GiB
9
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
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
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
Cost Per Bit
2
2https://www.cs.utexas.edu/users/mckinley/352/lectures/21.pdf
13
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