Mc (c) 2019 1
COMP 273
Unit 3 – Circuits and System Board Lecture 13
~
RAM and the basic U-Bus
COMP 273 Introduction to Computer Systems
Lecture Outline
● Information Theory
● High level view of RAM
● Low level view of RAM
● The Flip-Flop
● Addressing and the u-bus
Mc (c) 2019 2
COMP 273 Introduction to Computer Systems
Readings Notes:
• •
2 Intro to Circuits 3 RAM and BUS
Mc (c) 2019 3
COMP 273 Introduction to Computer Systems
Data is information
Examples:
– Characters(letters, punctuation,spaces)
– Symbols
– Numbers
– Programinstructions
– Webpages
– Images
– Databases
Claude E. Shannon, 1948
Entropy
– Howmuchworkdoesit take to communicate one letter to someone?
The medium
–
?
What is data?
Mc (c) 2019
4
How can we represent a
single letter
COMP 273 Introduction to Computer Systems
The simplest medium to use A bit
Mc (c) 2019
5
Coding data as light
Bit = 1 bit Nibble = 4 bits Byte = 8 bits
RAM ~in 1940
COMP 273 Introduction to Computer Systems
Bit structures over time
Mc (c) 2019 6
COMP 273 Introduction to Computer Systems
Fundamental Unit of Data
• Logical
• The Bit, represents: 1/0, T/F, On/Off, Yes/No, Flags, Switches
• Binary Value: 0 and 1
• No electricity / Has electricity
• Physical representation:
•5V is 1 •2V is 0
Space provided for fluctuations in current
Mc (c) 2019 7
COMP 273 Introduction to Computer Systems
Three basic things to encode
● Characters
● Numbers
● Program Instructions
Mc (c) 2019 8
COMP 273 Introduction to Computer Systems
Binary Encoding
Numbers
Mc (c) 2019 Characters 9
3 bit binary math
000 0
001 1
010 2
011 3
COMP 273 Introduction to Computer Systems
Example – Digital Data
If I have 4 bits (known as a “nibble”), how many unique sequences can I make?
Each unique sequence represents one unit of data.
Mc (c) 2019 10
COMP 273 Introduction to Computer Systems
DRAM
RAM
Random Access Memory
Construction:
– –
An array of bytes
Read & Write control circuitry
– Address Register = integer
Memory Hierarchy consists of: on-die SRAM (static RAM) caches, DRAM (dynamic RAM),
– Mode Register
– Data Register
= flag = byte
Mc (c) 2019
11
COMP 273 Introduction to Computer Systems
Basic RAM Architecture
32 bits
8 bits
n-1
Cell Address (circuit cell selector)
0
OS
Video Buffer
Program Space
Zero Page
As image
ISA Slots
Mc (c) 2019 12
Address
Data
COMP 273 Introduction to Computer Systems
Basic RAM Architecture
32 bits
8 bits
n-1
0
Cell Address (circuit cell selector)
OS
Video Buffer
Program Space
Zero Page
Addressing (ie. n = … )
232 = 4,294,967,296
264 = 18,446,744,073,709,551,616
As image
ISA Slots
Mc (c) 2019 13
COMP 273 Introduction to Computer Systems
Basic RAM Architecture
32 bits 8 bits
How does this function? RAM addressing
With CPU
With system bus
n-1
Cell Address (circuit cell selector)
OS
Video Buffer
0
Addressing machine
Program Space
Zero Page
As image
Address R.
Mode R.
Data R.
TO:
Mc (c) 2019 BUS or CPU 14
COMP 273 Introduction to Computer Systems
0
Basic RAM Architecture
4 bits
1001
8 bits
n-1
0111
Mode 1 means “read”:
Read contents of cell 0110
0110
11010010
0101
0100
0011
0010
0001
0000
Address R.
0110
TO:
CPU, or
Bus 15
Mode R.
Data R.
Vybihal (c) 2019
1
11010010
McGill
1000
COMP 273 Introduction to Computer Systems
9278 9279
9280
9281 9282 9283 9284 9285 9286
Memory
Main memory is divided into many memory locations (or cells)
Each memory cell has a numeric address, which uniquely identifies it
Memory goes from address
0 to N-1 where N is the amount
Cell
Mc (c) 2019 you purchased. 16
Address
COMP 273 Introduction to Computer Systems
9278 9279
9280
9281 9282 9283 9284 9285 9286
Each memory cell stores a set number of bits (usually 8 bits, or one byte)
Large values are stored in consecutive memory locations
Storing Information
10011010
Mc (c) 2019 17
COMP 273 Introduction to Computer Systems
Question
What does this mean: – X = 10;
And this:
– void *p = 100;
– *p = 5;
Mc (c) 2019 18
COMP 273 Introduction to Computer Systems
The Circuits of RAM
Mc (c) 2019 19
COMP 273 Introduction to Computer Systems
RS Flip Flop Signal stabilization wait
R = reset and S = set
Mc is the bit saved?
Vybihal (c) 2019 20
COMP 273 Introduction to Computer Systems
The Mechanics of Saving R & S = 0 then Nothing changes
Mc (c) 2019 21
R
S
Clocked RS Flip Flop
(Shows only input but output is also needed)
Similar clocked mechanism on this side.
COMP 273 Introduction to Computer Systems
Basic Flip Flop Circuits
Single input D Flip-Flop
(Register)
Mc (c) 2019 22
COMP 273 Introduction to Computer Systems
Example
What would the high-level diagram of a full 4-byte read/write memory look like?
Hint:
Data out
Architecture of a row?
Architecture of selecting? (called addressing)
Why to data registers? (can we merge them?)
Row n
Row 2
Row 1
Row 0
Machine to select a row
Mc (c) 2019
23
Mode
Data In
Address we want
COMP 273 Introduction to Computer Systems
BUS:
The U-Bus
A communication system that transfers information from one location to another
U-BUS:
A specific bus design that facilitates read and write operations
Mc (c) 2019 24
COMP 273 Introduction to Computer Systems
Data Flow & Control
Memory 1 8-bit memory READ
From clock
From Sequencer
How the bus works
Ground
8-bit CPU bus
The Water-flow Analogy
Memory 2
Mc (c) 2019
25
WRITE
COMP 273 Introduction to Computer Systems
U-Bus
It is critical to control the flow of electricity. It must move in one direction. However, reading and writing causes electricity to flow in opposite directions. The u-bus helps maintain the correct directional flow for the current.
IN
Memory 1
Memory 2
Mc (c) 2019 26
Clock and sequencer wires are still needed.
OUT
COMP 273 Introduction to Computer Systems
Example
What circuit can be used to address 4 bytes?
How do we address 4 bytes and connect them through a u-bus for input and output?
How would we move a byte of data from address 0 to address 4?
Mc (c) 2019 27
COMP 273 Introduction to Computer Systems