0% found this document useful (0 votes)
22 views22 pages

Lecture04 MemoryBinarySystem

Memory in a computer consists of many memory cells that can each be in one of two states, represented by 0 or 1. Adjacent memory cells can be grouped together to represent numbers using binary encoding. A group of 8 memory cells called a byte can represent 256 values, while more cells like 16 or 32 can represent much larger numbers. Variables in a program represent locations in memory that can be read from or written to store different types of data.

Uploaded by

Mujtaba Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views22 pages

Lecture04 MemoryBinarySystem

Memory in a computer consists of many memory cells that can each be in one of two states, represented by 0 or 1. Adjacent memory cells can be grouped together to represent numbers using binary encoding. A group of 8 memory cells called a byte can represent 256 values, while more cells like 16 or 32 can represent much larger numbers. Variables in a program represent locations in memory that can be read from or written to store different types of data.

Uploaded by

Mujtaba Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Lecture 04: Memory and Binary Systems

ITSC 3181 Introduction to Computer Architecture


https://passlab.github.io/ITSC3181/

Department of Computer Science


Yonghong Yan
yyan7@uncc.edu
https://passlab.github.io/yanyh/

1
Lectures for Chapter 1 and C Basics
Computer Abstractions and Technology
• Lecture 01: Chapter 1
– 1.1 – 1.4: Introduction, great ideas, Moore’s law, abstraction,
computer components, and program execution

• Lecture 02 - 03: C Basics; Compilation, Assembly, Linking


and Program Execution
• Lecture 03 - 04: Chapter 1
– 1.6 – 1.7: Performance, power and technology trends
☛• Lecture 04 - 05: Memory and Binary Systems
• Lecture 05:
– 1.8 - 1.9: Multiprocessing and benchmarking

2
Main Memory (DRAM) of a Computer
CPU or Processor
Control Unit
ALU
Input
Main Memory I/OOutput
Processor CPU is also called a chip.
IR PC

MBR MAR

Data Bus

Control Bus

Address Bus

3
Everything is Data Stored in Files
• Source code, executable, object are all files
– Files: Hello.c, sum_full.c, sum
– Folder: ., .., /home/yanyh, etc
• Compiler, OS kernel, etc are all stored as files
– gcc, vmlinuz-4.4.0-104-generic
• Information about files/folders and data are also files
– Metadata

• Files need to be loaded to memory in order to be


processed
– ./hello: load the file hello and execute it
– ls: load the file ls, which is the command ls, and execute it. The ls
command lists the files in the specified folder.
4
Loading a file for a command to Memory
• To load a file from disk into memory

• Loading: To execute a file, e.g.



• ./ is to specify the path of sum file
– To execute any linux command, e.g. “ls, cd”, etc.
– Right-click an app icon to execute the app
• The runtime instance of an executable is called a “process”
– It occupies memory,
– It uses resources (files, sockets, driver, etc).
– It executes its threads (machine instructions).
– See the processes of the system using “ps” command, Windows
“task manager”, and Mac OS X “Activity Monitor”
5
Memory and States

• A memory device is a gadget that helps you record information


and recall the information at some later time.
• The minimum unit of memory is like an electrical switch

• The electrical switch can be in one of these 2 states:


• off (we will call this state 0)
• on (we will call this state 1)

6
Memory Cells Used In A Computer

• One switch can be in one of 2 states


• A row of n switches:

can be in one of 2n states !

7
Memory Cells Used In A Computer (cont.)
• Example: row of 3 switches

• A row of 3 switches can be in one of 23 = 8 states.


• The 8 possible states are given in the figure above.

8
Representing Numbers Using a Row of Switches

• We can represent each number using a different state of the


switches.

Example:

9
The Binary Number System
• The binary number system uses 2 digits to encode a number:
• 0 = represents no value
• 1 = represents a unit value

• That means that you can only use the digits 0 and 1 to write a binary
number
•0
– Example: some binary numbers •1
• 10
• 11
• 1010
• and so on.

10
The Binary Number System

• The different states of these 3 switches represent the numbers 0-7


using the binary number system:

0
1

000 100
001 101
010 110
100 111

11
The Binary Number System

• The value that is encoded (represented) by a binary number is


computed as follows:

Binary number Value encoded by the binary number

dn-1 dn-2 ... d1 d0 dn-1×2n-1 + dn-2×2n-2 + ... + d1×21 + d0×20

12
The Binary Number System

Example:

Binary number Value encoded by the binary number


0
0 0×2 = 0
0
1 1×2 = 1
1 0
10 1×2 + 0 ×2 = 2
1 0
11 1×2 + 1 ×2 = 3
3 2 1 0
1010 1×2 + 0×2 + 1×2 + 0×2 = 8 + 2 = 10

13
Memory and Binary Number in a Computer

• Computer memory consists of multiple memory cells and each


cells stores a number

• The computer system uses the binary number encoding to store


the number

14
Memory and Binary Number in a Computer (cont.)

• Note: the address is also expressed as a binary number


A computer can have over 4,000,000,000 bytes (4
Gigabytes) of memory.

So we need a 32 bites to express the address

15
Combining Adjacent Memory Cells

• A byte has 8 bits and therefore, it can store:


• 00000000 = 0
– 28 = 256 different patterns
• 00000001 = 1
• 00000010 = 2
• 00000011 = 3
• ...
• 11111111 = 255
• Therefore, one byte can store one of 256 possible values
• You can store the number 34 into a byte,
• But you cannot store the number 456, the value is out of
range)
16
Combining Adjacent Memory Cells (cont.)

• The computer can combine adjacent bytes (memory cells) and use
it as a larger memory cell
Schematically:

A 16 bits memory cell can store one of 216 = 65536 different


patterns.
Therefore, it can represent (larger) numbers ranging from: 0 −
65535.
17
Combining Adjacent Memory Cells (cont.)

• Example: how a computer can use 2 consecutive bytes as a 16 bits


memory cell:

• The bytes at address 0 and address 1 can be interpreted as a 16


bits memory cell (with address 0)

18
Combining Adjacent Memory Cells (cont.)

• When the computer accesses the memory, it specifies:


– The memory location (address)
– The number of bytes it needs
– E.g. read from 000…000 for two bytes: It reads 3331 (decimal
number)

19
Combining Adjacent Memory Cells (cont.)

• Combine 4 consecutive bytes and use them as a 32 bits memory


cell
– To represent numbers ranging from: 0 − (232-1) or 0 − 4294967295

• combine 8 consecutive bytes and use them as a 64 bits memory


cell
• To represent numbers ranging from: 0 − (264-1) or 0 −
18446744073709551615

20
Data Store in Memory

• What information is stored in the RAM memory


(what is the number represents) depends on:

– The type of data (this is the context information)


– Example of types: marital status, gender, age, salary,
and so on.
– This determines the encoding scheme used to interpret
the number

21
Variables are Memory Locations

int is a 4-byte data type.

• Variable (x) is symbolic representation of a memory location


– = x: Right value, i.e. appears on the right side of =
• read/load the content from the memory location
– x =: Left value, i.e. appears on the left side of =
• Write a value to the memory location
22

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy