+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.

Slides:



Advertisements
Similar presentations
MEMORY popo.
Advertisements

Chapter 5 Internal Memory
Computer Organization and Architecture
Computer Organization and Architecture
+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory.
Characteristics of Computer Memory
Computer Organization and Architecture
Chapter 5 Internal Memory
IT Systems Memory EN230-1 Justin Champion C208 –
Memory Key component of a computer system is its memory system to store programs and data. ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides12.ppt.
Data Storage Technology
Characteristics of Computer Memory
Overview Booth’s Algorithm revisited Computer Internal Memory Cache memory.
CH05 Internal Memory Computer Memory System Overview Semiconductor Main Memory Cache Memory Pentium II and PowerPC Cache Organizations Advanced DRAM Organization.
Dr Mohamed Menacer College of Computer Science and Engineering, Taibah University CE-321: Computer.
5.1 Semiconductor main memory  Organization The basic element of a semiconductor memory is the memory cell. Semiconductor memory cells properties: 1.
Physical Memory By Gregory Marshall. MEMORY HIERARCHY.
Faculty of Information Technology Department of Computer Science Computer Organization and Assembly Language Chapter 5 Internal Memory.
+ CS 325: CS Hardware and Software Organization and Architecture Cloud Architectures.
Memory  Main memory consists of a number of storage locations, each of which is identified by a unique address  The ability of the CPU to identify each.
Chapter 5 Internal Memory. Semiconductor Memory Types.
MODULE 5: Main Memory.
Chapter 3 Internal Memory. Objectives  To describe the types of memory used for the main memory  To discuss about errors and error corrections in the.
Internal Memory.
Introduction to Computer Architecture. What is binary? We use the decimal (base 10) number system Binary is the base 2 number system Ten different numbers.
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
Chapter 6: Internal Memory Computer Architecture Chapter 6 : Internal Memory Memory Processor Input/Output.
Chapter 4: MEMORY Internal Memory.
L/O/G/O Computer Memory Chapter 3 (a) CS.216 Computer Architecture and Organization.
Memory Cell Operation.
Computer system & Architecture
© GCSE Computing Computing Hardware Starter. Creating a spreadsheet to demonstrate the size of memory. 1 byte = 1 character or about 1 pixel of information.
COMPUTER ORGANIZATIONS CSNB123 Ver.1Systems and Networking1.
Semiconductor Memory Types
A memory is just like a human brain. It is used to store data and instructions. Computer memory is the storage space in computer where data is to be processed.
Chapter 5 Internal Memory. contents  Semiconductor main memory - organisation - organisation - DRAM and SRAM - DRAM and SRAM - types of ROM - types of.
Computer Architecture Chapter (5): Internal Memory
Chapter 5 - Internal Memory 5.1 Semiconductor Main Memory 5.2 Error Correction 5.3 Advanced DRAM Organization.
Chapter 5 Internal Memory
William Stallings Computer Organization and Architecture 7th Edition
Introduction to Computer Architecture
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
Computer Architecture
William Stallings Computer Organization and Architecture 7th Edition
William Stallings Computer Organization and Architecture 8th Edition
BIC 10503: COMPUTER ARCHITECTURE
Introduction to Computer Architecture
MICROPROCESSOR MEMORY ORGANIZATION
2.C Memory GCSE Computing Langley Park School for Boys.
Chapter 4: MEMORY.
CS 325: CS Hardware and Software Organization and Architecture
Chapter 4 Internal Memory
William Stallings Computer Organization and Architecture 8th Edition
Presentation transcript:

+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization

+ Storage/Memory Hierarchy

+ Memory Storage Characteristics Location Capacity Unit of transfer Access method Performance Physical type Physical characteristics Organization

+ Memory Storage - Location CPU Registers L1, L2, L3, L4 Cache Internal Main Memory (System RAM) BIOS (EEPROM) External Magnetic Disk (HDD) Non Volatile Solid State (SSD) Optical Magnetic Tape

+ Memory Storage - Capacity Word size The natural unit of organization Expected size of most data and instructions Typically 32 bits or 64 bits Past: 16 bits Typical Storage L1 Cache: 32 – 64 KB per core L2 Cache: 128 – 512 KB per core L3 Cache: 2 – 8 MB (shared) L4 Cache: 0 – 128 MB (video memory) Main Memory (RAM): 4 – 32 GB (Typical Desktop) HDD Cache: 16 – 64 MB SDD: 64 – 512 GB HDD: 200 – 2000 GB (Inexpensive, but extremely slow) Optical: DVD: 4.7 – GB Blu-ray: 25 – 100 GB Magnetic Tape: 10 – 35 TB per cartridge (uncompressed)

+ Performance – Transfer Rate Example Problem Assume we have a 32-Mbit SDRAM memory with 8 bits simultaneously read and a cycle time of 250 ns. How fast can data be moved out of memory? 8b * (1/250ns) = 8b * (4x10 6 /s) = 32 Mbps = 4 MBps

+ Memory Storage – Physical Types Semiconductor Cache Main Memory (RAM) SSD Magnetic HDD Tape Optical CD DVD Blu-Ray Others Bubble Hologram

+ Memory Storage – Physical Characteristics Volatility Erasable Power consumption/Heat

+ Memory Storage – Hierarchy List Registers L1 Cache L2 Cache L3 Cache Main Memory Disk Cache SSD HDD Optical Tape

+ Memory Basics

+ Semiconductor Memory Random Access Memory (RAM): All semiconductor memory is random access Directly accessed by address logic Read/Write Volatile Requires constant power supply Temporary storage Static Holds data Dynamic Periodically refreshes charge

+ Static RAM Bits stored as on/off switches (transistors) No charges to leak Does not need refresh circuits No refreshing needed when powered Larger per bit More expensive Faster Example: Cache Memory:

+ Dynamic RAM Bits stored as charge in capacitors (also uses transistors) Charges leak from capacitors Needs refreshing, even when powered Needs refresh circuits Smaller per bit Less expensive Slower Asynchronous and Synchronous DRAMs Example: Main memory

+ Read Only Memory (ROM) Permanent storage Microprogramming Library subroutines Systems programs Function tables

+ Measures of Memory Technology Density Latency and cycle time

+ Memory Density Refers to memory cells per square area of silicon Usually states as number of bits on standard chip size Examples: 1 mb chip 4 mb chip Memory cells typically structured in arrays 1Mb x 1 chip 256 Kb x 4 chips Note: higher density chip generates more heat

+ CS 325: CS Hardware and Software Organization and Architecture Internal Memory

+ Semiconductor Memory Types

+ Flash Memory Provides block electrical erasure but not byte level Typical block size 512, 2048, 4096 High density One transistor per bit Fast read speeds, but not as fast as DRAM Very slow erase speed

+ Error Detection and Correction Hard Failure Permanent defect Caused by Harsh environmental abuse Manufacturing defects Wear Soft Error Random, non-destructive No permanent damage to memory Caused by Power supply problems

+ Error Detection and Correction A single parity bit can be used to detect (most) errors in a word Parity bit test can fail to detect errors when there is more than one bit error Hamming codes can be used to detect and correct errors

+ Error Detection and Correction Bits are occasionally flipped in transmission. For example: is sent, but is received. Adding redundancy can allow us to detect, and possibly correct, some errors of this type. Simple approach: Repeat each bit Repeat each bit twice. For bit x, transmit xx. If the receiver gets two different bits, it requests a retransmission. This is an error detecting code. Allows for one error to be detected, but is not error correcting since retransmission is necessary Repeat each bit three times. For each bit x, transmit xxx. Now the receiver can correct a single error. Why?

+ Problem with the simple approach The receiver can detect and correct bit errors if each bit is transmitted three times. How does this affect performance? Better approach Parity check codes Has the ability to detect odd number of bit flips using a single parity bit.

+ Calculating bit string parity A bit string has odd parity if the number of 1s in the string is odd , 1, have odd parity A bit string has even parity if the number if 1s in the string is even , 000, have even parity Assume 0 is an even number

+ Parity check code Assume we are transmitting blocks of k bits. A block (w) of length (k) is encoded as (wa), where the value of the parity bit (a) is chosen so that (wa) has even parity. Example: If w = 10110, we send wa = , which has even parity With no bit flips in the transmission, the receiver gets the bit string exactly as it was sent by the sender. Bit string has even parity. If there are an odd number of bit flips in the transmission, the receiver gets a bit string with odd parity. Retransmission is requested. If there are an even number of bit flips in the transmission, the receiver gets a bit string with even parity. The error(s) go undetected. Another solution?

+ 2D parity check code Blocks of bits are organized in rows and columns m x n matrix The parity bit of each row is calculated, and appended to the row before it is transmitted The parity of each column is calculated, and the parity bit of the entire matrix is computed. These are also transmitted to the receiver m + n + 1 parity bits are computed mn + m + n + 1 bits are sent to the receiver Efficiency becomes greater as block size increases

+ 2D parity check Example: Original data: 1100, 1011, 0111, 0101 Row Parity Column Parity Matrix Parity bit MN + M + N + 1 bits transferred. 5* = 36 bits

+ Hamming Code Linear error detecting/correcting codes invented by Richard Hamming in Can detect up to 2 bit errors Can correct 1 bit errors

+ Hamming Code – Parity bits Hamming code works by propitiating parity bits throughout a bit string of size (w) (p) parity bits creates a bit string of size 2 m – 1, of which 2 m – m – 1 bits can be used for data. Common Hamming code sizes: Hamming(3,1), 2 parity bits Hamming(7,4), 3 parity bits Hamming(15,11), 4 parity bits Hamming(31,26), 5 parity bits Is read as Hamming(total bits, data bits)

+ Hamming Code Example: Using Hamming(7,4), create the Hamming codeword for the following 4 bit string: 0101 Hamming(7,4) 7 total bits 4 data bits 3 parity bits Parity bits are always located in the codeword at positions of 2 n. P 1 = 2 0 = 1 P 2 = 2 1 = 2 P 3 = 2 2 = 4

+ Hamming Code Example: Using Hamming(7,4), create the Hamming codeword for the following 4 bit string: P1P1 P2P2 P3P3

+ Hamming Code Example: Using Hamming(7,4), create the Hamming codeword for the following 4 bit string: P1P1 P2P2 0P3P3 101

+ Hamming Code Example: Using Hamming(7,4), create the Hamming codeword for the following 4 bit string: 0101 Now, to calculate the parity bits P1P1 P2P2 0P3P3 101

+ Hamming Code To calculate P 1 : find parity of substring(1,3,5,7) P1P1 P2P2 0P3P3 101

+ Hamming Code To calculate P 1 : find parity of substring(1,3,5,7) P = P1P1 P2P2 0P3P3 101

+ Hamming Code To calculate P 1 : find parity of substring(1,3,5,7) P = 0 To calculate P 2 : find the parity of substring(2,3,6,7) P1P1 P2P2 0P3P3 101

+ Hamming Code To calculate P 1 : find parity of substring(1,3,5,7) P = 0 To calculate P 2 : find the parity of substring(2,3,6,7) P = P1P1 P2P2 0P3P3 101

+ Hamming Code To calculate P 1 : find parity of substring(1,3,5,7) P = 0 To calculate P 2 : find the parity of substring(2,3,6,7) P = 1 To calculate P 3 : find the parity of substring(4,5,6,7) P1P1 P2P2 0P3P3 101

+ Hamming Code To calculate P 1 : find parity of substring(1,3,5,7) P = 0 To calculate P 2 : find the parity of substring(2,3,6,7) P = 1 To calculate P 3 : find the parity of substring(4,5,6,7) P = P1P1 P2P2 0P3P3 101

+ Hamming Code To calculate P 1 : find parity of substring(1,3,5,7) P = 0 To calculate P 2 : find the parity of substring(2,3,6,7) P = 1 To calculate P 3 : find the parity of substring(4,5,6,7) P = 0 Now we know P1, P2, and P P1P1 P2P2 0P3P3 101

+ Hamming Code To calculate P 1 : find parity of substring(1,3,5,7) P = 0 To calculate P 2 : find the parity of substring(2,3,6,7) P = 1 To calculate P 3 : find the parity of substring(4,5,6,7) P = 0 Now we know P1, P2, and P3, and can calculate the codeword: P1P1 P2P2 0P3P3 101

+ CS 325: CS Hardware and Software Organization and Architecture Cloud Architectures

+ Outline Introduction Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Background Computational Resource Load Balancing

+ Introduction Scalable resource hosting Storage Computational Software APIs Applications Tailored services Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) Billed like a utility Monthly, depending on usage

+ Introduction No formal definition! A set of service oriented architectures, which allow users to access a number of resources in a way that is scalable, elastic, on- demand, and cost-efficient Server Cloud Interface … Client Compute Compute Service Compute Storage Service Other Services

+ Introduction Server Cloud Interface Compute Compute Service Compute Storage Service Other Services Infrastructure as a service (IaaS) [2-4] Lowest service level in cloud stack. Provides compute, storage, and networking services using hardware virtualization. Platform as a service (PaaS) [2-4] Software as a service (SaaS) [2-4] 2.Edmonds, A., S. Johnston, T. Metsch, and G. Mazzaferro 3.Liu, F., J. Tong, J. Mao, R. Bohn, J. Messina, M. Badger, and D. 4.Canonical Group Ltd.

+ Introduction Typical General Purpose Private Cloud Architecture (Eucalyptus [5] ) 5.Eucalyptus Systems

+ Types of Clouds Public Cloud Marketed based on Resources offered Availability Security Price Local Cloud Cloud architectures tailored to an organization’s needs Hybrid Cloud Combination of public and local cloud resources

+ CS 325: CS Hardware and Software Organization and Architecture Cloud Architecture Background

+ Background Concept of delivering computing resources through a global network 1960s Computer Clusters 1970s Grid Computing 1990s Cloud: Evolution of Grid and Cluster 2000s

+ Cloud Layers Clients – Thick client, thin client, mobile client Application Layer – SaaS Platform Layer – PaaS Infrastructure Layer – IaaS Hardware Layer – Physical cloud resources ClientAplicationPlatformInfrastructureHardware

+ Local Cloud Architecture - Eucalyptus Open source cloud architectures have different names for components. Share basic concepts Five components: Cloud Controller Node Walrus (Image) Storage Node User Persistent Storage Node Cluster Controller Node Compute Node

+ Notes on Resource Virtualization Cloud architectures generally provide physical resources to end users in the form of virtual machines Virtual machines execute as process instances within an instance manager called a “Hypervisor”. Allows multiple guest operating systems to run on a single host.

+ Notes on Resource Virtualization Full virtualizationParavirtualizationKernel based virtualization Unmodified guest kernelModified guest kernelUnmodified guest kernel Not aware of hypervisorAware of hypervisorNot aware of hypervisor Open or closed source osNo closed-source os support Open or closed source os Slowest due to device emulation overhead May have better performance due to modified kernel Best performance due to matching guest and host kernel