1. IEEE 754 Representation¶
Show the IEEE 754 binary representation 0ī¸âŖ1ī¸âŖ of the number â0.625ââ in single đĨ and double precision. đĨ
āĻāϤā§āϤāϰ¶
āĻĒā§āϰāĻĨāĻŽā§ āϏāĻāĻā§āϝāĻžāĻāĻŋāĻā§ binary-āϤ⧠āϰā§āĻĒāĻžāύā§āϤāϰ āĻāϰāĻŋ:
Normalize āĻāϰāϞā§:
Single Precision¶
Single precision-āĻ:
- Sign bit =
1 - Exponent bias =
127 - Actual exponent =
â1
Fraction āĻŦāĻž mantissa:
āϏā§āϤāϰāĻžāĻ:
Hexadecimal:
Double Precision¶
Double precision bias:
āϏā§āϤāϰāĻžāĻ:
Hexadecimal:
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
â0.625 = â0.101â = â1.01 à 2âģš
Sign = 1
Single bias = 127 â exponent = 126
Double bias = 1023 â exponent = 1022
āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻā§āϰāĻŋāĻ:
Negative āĻšāϞ⧠sign 1, exponent-āĻāϰ āϏāĻā§āĻā§ bias āϝā§āĻ, point-āĻāϰ āĻĒāϰā§āϰ āĻ āĻāĻļāĻ mantissaāĨ¤
2. Four-bit Binary Multiplier¶
Design a 4-bit binary multiplier âī¸đģ with detailed implementation. đ ī¸đ
āĻāϤā§āϤāϰ¶
āĻĻā§āĻāĻŋ 4-bit unsigned āϏāĻāĻā§āϝāĻž āϧāϰāĻŋ:
āĻĻā§āĻāĻŋ 4-bit āϏāĻāĻā§āϝāĻžāϰ āĻā§āĻŖāĻĢāϞ āϏāϰā§āĻŦā§āĻā§āĻ 8-bit āĻšāĻŦā§:
āĻĒā§āϰāϤāĻŋāĻāĻŋ partial product AND gate āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϤā§āϰāĻŋ āĻšā§:
āĻŽā§āĻ AND gate āĻĒā§āϰā§ā§āĻāύ:
āĻā§āĻŖā§āϰ āĻāĻžāĻ āĻžāĻŽā§:
Aâ Aâ Aâ Aâ
à Bâ Bâ Bâ Bâ
--------------------------------
A Ã Bâ
A Ã Bâ 0
A Ã Bâ 0 0
+ A Ã Bâ 0 0 0
--------------------------------
Pâ ... Pâ
āĻāĻžāĻŖāĻŋāϤāĻŋāĻāĻāĻžāĻŦā§:
Implementation-āĻ āĻĒā§āϰā§ā§āĻāύ:
- 16āĻāĻŋ AND gate
- Half Adder
- Full Adder
- Partial-product adder network
- 8-bit output
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
4-bit à 4-bit = 8-bit result
4 Ã 4 = 16 partial products
āĻĒā§āϰāϤāĻŋāĻāĻŋ partial product = AND operation
āϏāĻŦ partial product shift āĻāϰ⧠āϝā§āĻ āĻāϰāĻž āĻšā§
āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϞāĻžāĻāύ:
AND āĻĻāĻŋā§ā§ partial product, Adder āĻĻāĻŋā§ā§ final productāĨ¤
3. Booth Multiplication¶
Briefly analyze the Booth multiplication algorithm đ§ for the given input: 16 à (â2). âī¸đĸ
āĻāϤā§āϤāϰ¶
6-bit representation āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŋ:
Booth rule:
QâQââ = 01 â A = A + M
QâQââ = 10 â A = A â M
QâQââ = 00 āĻŦāĻž 11 â āĻā§āύ⧠operation āύā§
āĻĒā§āϰāϤāĻŋāĻŦāĻžāϰ operation-āĻāϰ āĻĒāϰ⧠Arithmetic Right Shift āĻšāĻŦā§āĨ¤
| n | A | Q | Qââ | āĻāĻžāĻ |
|---|---|---|---|---|
| 6 | 000000 | 111110 | 0 | 00, āĻļā§āϧ⧠ASR |
| 5 | 000000 | 011111 | 0 | 10, A=AâM |
| 4 | 111000 | 001111 | 1 | 11, āĻļā§āϧ⧠ASR |
| 3 | 111100 | 000111 | 1 | 11, āĻļā§āϧ⧠ASR |
| 2 | 111110 | 000011 | 1 | 11, āĻļā§āϧ⧠ASR |
| 1 | 111111 | 000001 | 1 | 11, āĻļā§āϧ⧠ASR |
| 0 | 111111 | 100000 | 1 | āĻļā§āώ |
āĻļā§āώ⧠Qââ āĻŦāĻžāĻĻ āĻĻāĻŋāϞā§:
āĻ āϤāĻāĻŦ:
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
01 â A = A + M
10 â A = A â M
00/11 â āĻāĻŋāĻā§ āύā§
āĻĒā§āϰāϤāĻŋāĻŦāĻžāϰ â Arithmetic Right Shift
āĻļā§āώ result â AQ
āĻāĻ āĻ āĻā§āĻā§āϰ answer:
āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻā§āϰāĻŋāĻ:
01 Plus, 10 Minus, Same āĻšāϞ⧠ShiftāĨ¤
4. Computer Performance¶
How is the performance đ of a computer measured? đ Explain with examples đĄ using clock rate, âąī¸ CPI, âī¸ and MIPS. đ
āĻāϤā§āϤāϰ¶
Computer performance āϏāĻžāϧāĻžāϰāĻŖāϤ execution time āĻĻāĻŋā§ā§ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻāϰāĻž āĻšā§āĨ¤
āĻ āϰā§āĻĨāĻžā§ execution time āϝāϤ āĻāĻŽ, performance āϤāϤ āĻŦā§āĻļāĻŋāĨ¤
āĻĒā§āϰāϧāĻžāύ āϏā§āϤā§āϰ¶
Clock Rate¶
Processor āĻĒā§āϰāϤāĻŋ āϏā§āĻā§āύā§āĻĄā§ āĻāϤāĻāĻŋ clock cycle āϏāĻŽā§āĻĒāύā§āύ āĻāϰā§āĨ¤
CPI¶
āĻāĻāĻāĻŋ instruction execute āĻāϰāϤ⧠āĻā§ā§ āϝāϤāĻāĻŋ clock cycle āϞāĻžāĻā§āĨ¤
Instructions Per Second¶
MIPS¶
āĻāĻĻāĻžāĻšāϰāĻŖ:
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
āĻāĻŽ execution time = āĻŦā§āĻļāĻŋ performance
CPU Time = IC Ã CPI / Clock Rate
IPS = Clock Rate / CPI
MIPS = Clock Rate / (CPI Ã 10âļ)
āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻā§āϰāĻŋāĻ:
Clock rate āĻŦā§āĻļāĻŋ āĻāĻžāϞā§, CPI āĻāĻŽ āĻāĻžāϞā§, CPU time āĻāĻŽ āϏāĻŦāĻā§ā§ā§ āĻāĻžāϞā§āĨ¤
5. Processor Performance Numerical¶
Consider three processors đ§ P1, P2, and P3 executing the same instruction set: đ
P1: Clock rate = 3 GHz, âąī¸ CPI = 1.5 âī¸ P2: Clock rate = 2.5 GHz, âąī¸ CPI = 1.0 âī¸
P3: Clock rate = 4.0 GHz, âąī¸ CPI = 2.5 âī¸
(i) Which processor đ§ has the highest performance đ in instructions per second? âĄ
(ii) If each processor executes a program in 12 seconds, âąī¸ find the number of cycles đ and number of instructions đ for each. đĸ
(iii) We want to reduce the execution time by 25%, đ but this causes a 15% increase in CPI. đ What clock rate is needed? âąī¸đ¤
(i) āϏāϰā§āĻŦā§āĻā§āĻ performance¶
| Processor | āĻšāĻŋāϏāĻžāĻŦ | IPS |
|---|---|---|
| P1 | 3/1.5 |
2.0 Ã 10âš |
| P2 | 2.5/1.0 |
2.5 Ã 10âš |
| P3 | 4/2.5 |
1.6 Ã 10âš |
āĻ āϤāĻāĻŦ:
(ii) Cycles āĻāĻŦāĻ Instructions¶
āϏā§āϤā§āϰ:
P1¶
P2¶
P3¶
| Processor | Cycles | Instructions |
|---|---|---|
| P1 | 36 billion | 24 billion |
| P2 | 30 billion | 30 billion |
| P3 | 48 billion | 19.2 billion |
(iii) āύāϤā§āύ clock rate¶
Execution time 25% āĻāĻŽāϞā§:
CPI 15% āĻŦāĻžā§āϞā§:
āϤāĻžāĻ:
| Processor | āύāϤā§āύ clock rate |
|---|---|
| P1 | 4.60 GHz |
| P2 | 3.83 GHz |
| P3 | 6.13 GHz |
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
IPS = Clock/CPI â P2 highest
Cycles:
P1 = 36B
P2 = 30B
P3 = 48B
Instructions:
P1 = 24B
P2 = 30B
P3 = 19.2B
New Clock = Old Clock à 1.5333
āϏāĻŦāĻā§ā§ā§ āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ answer:
Highest performance = P2
6. Flynnâs Classification¶
Explain Flynnâs classification đī¸ of parallel hardware đĨī¸đĨī¸ (SISD, SIMD, MISD, MIMD) in detail đ with examples. đ
āĻāϤā§āϤāϰ¶
Flynnâs classification instruction stream āĻāĻŦāĻ data stream-āĻāϰ āϏāĻāĻā§āϝāĻžāϰ āĻāĻŋāϤā§āϤāĻŋāϤ⧠computer architecture-āĻā§ āĻāĻžāϰ āĻāĻžāĻā§ āĻāĻžāĻ āĻāϰā§āĨ¤
| āϧāϰāύ | Instruction | Data | āĻāĻĻāĻžāĻšāϰāĻŖ |
|---|---|---|---|
| SISD | Single | Single | Single-core processor |
| SIMD | Single | Multiple | GPU |
| MISD | Multiple | Single | Fault-tolerant system |
| MIMD | Multiple | Multiple | Multicore processor |
SISD¶
āĻāĻāĻāĻŋ instruction āĻāĻāĻāĻŋ data stream-āĻāϰ āĻāĻĒāϰ āĻāĻžāĻ āĻāϰā§āĨ¤
āĻāĻĻāĻžāĻšāϰāĻŖ: āϏāĻžāϧāĻžāϰāĻŖ single-core processorāĨ¤
SIMD¶
āĻāĻāĻāĻŋ instruction āĻāĻāĻ āϏāĻā§āĻā§ āĻ āύā§āĻ data-āĻāϰ āĻāĻĒāϰ āĻāĻžāĻ āĻāϰā§āĨ¤
āĻāĻĻāĻžāĻšāϰāĻŖ: GPU āĻāĻāϏāĻā§āĻā§ āĻ āύā§āĻ pixel process āĻāϰā§āĨ¤
MISD¶
āĻāĻāĻ data-āĻāϰ āĻāĻĒāϰ āĻāĻāĻžāϧāĻŋāĻ instruction āĻāĻžāĻ āĻāϰā§āĨ¤
āĻāĻĻāĻžāĻšāϰāĻŖ: Aircraft fault-tolerant control systemāĨ¤
MIMD¶
āĻāĻāĻžāϧāĻŋāĻ processor āĻāϞāĻžāĻĻāĻž instruction āĻ āĻāϞāĻžāĻĻāĻž data āύāĻŋā§ā§ āĻāĻžāĻ āĻāϰā§āĨ¤
āĻāĻĻāĻžāĻšāϰāĻŖ: Multicore processor, multiprocessor serverāĨ¤
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
SISD = 1 instruction, 1 data
SIMD = 1 instruction, many data
MISD = many instructions, 1 data
MIMD = many instructions, many data
āĻāĻĻāĻžāĻšāϰāĻŖ:
āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻā§āϰāĻŋāĻ:
āĻĒā§āϰāĻĨāĻŽ āĻĻā§āĻ āĻ āĻā§āώāϰ Instruction, āĻļā§āώ āĻĻā§āĻ āĻ āĻā§āώāϰ Data āĻŦā§āĻāĻžā§āĨ¤
7. Cache Memory¶
What is cache memory? âĄđ§ Define cache-hit, đ¯ cache-miss, â and miss-penalty. âŗ Explain with an example. đĄ
āĻāϤā§āϤāϰ¶
Cache memory āĻšāϞ⧠CPU āĻ main memory-āĻāϰ āĻŽāĻžāĻāĻāĻžāύ⧠āĻĨāĻžāĻāĻž āĻā§āĻ āĻāĻŋāύā§āϤ⧠āĻĻā§āϰā§āϤāĻāϤāĻŋāϰ memoryāĨ¤
Cache Hit¶
āĻĒā§āϰā§ā§āĻāύā§ā§ data cache-āĻ āĻĒāĻžāĻā§āĻž āĻā§āϞ⧠āϤāĻžāĻā§ cache hit āĻŦāϞā§āĨ¤
Cache Miss¶
āĻĒā§āϰā§ā§āĻāύā§ā§ data cache-āĻ āύāĻž āĻĒāĻžāĻā§āĻž āĻā§āϞ⧠āϤāĻžāĻā§ cache miss āĻŦāϞā§āĨ¤
Miss Penalty¶
Cache miss āĻšāĻā§āĻžāϰ āĻĒāϰ lower-level memory āĻĨā§āĻā§ data āĻāύāϤ⧠āϝ⧠āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϏāĻŽā§ āϞāĻžāĻā§, āϤāĻžāĻā§ miss penalty āĻŦāϞā§āĨ¤
āĻāĻĻāĻžāĻšāϰāĻŖ:
āĻā§āϰā§āϤā§āĻŦāĻĒā§āϰā§āĻŖ āϏā§āϤā§āϰ:
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
Cache = CPU āĻ RAM-āĻāϰ āĻŽāĻžāĻā§āϰ fast memory
Hit = Cache-āĻ āĻĒāĻžāĻā§āĻž āĻā§āĻā§
Miss = Cache-āĻ āĻĒāĻžāĻā§āĻž āϝāĻžā§āύāĻŋ
Miss penalty = RAM āĻĨā§āĻā§ āĻāύāϤ⧠extra time
Formula:
āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϞāĻžāĻāύ:
āĻĒā§āϞ⧠Hit, āύāĻž āĻĒā§āϞ⧠Miss, āĻāύāϤ⧠āϝāϤ extra time āϞāĻžāĻā§ āϤāĻž PenaltyāĨ¤
8. Cache Write Policies¶
Explain the write-through âī¸âĄī¸ and write-back âī¸đ cache handling policies. What are the advantages â and disadvantages â of each? đ¤
āĻāϤā§āϤāϰ¶
Write-Through¶
CPU cache-āĻ data āϞāĻŋāĻāϞ⧠āĻāĻāĻ āϏāĻā§āĻā§ main memory-āϤā§āĻ āϞā§āĻāĻž āĻšā§āĨ¤
āϏā§āĻŦāĻŋāϧāĻž¶
- Main memory āϏāĻŦāϏāĻŽā§ updated āĻĨāĻžāĻā§āĨ¤
- Design āϏāĻšāĻāĨ¤
- Data consistency āĻāĻžāϞā§āĨ¤
āĻ āϏā§āĻŦāĻŋāϧāĻž¶
- Memory traffic āĻŦā§āĻļāĻŋāĨ¤
- Write operation āϧā§āϰāĨ¤
- Main memory-āϤ⧠āĻŦāĻžāϰāĻŦāĻžāϰ access āĻāϰāϤ⧠āĻšā§āĨ¤
Write-Back¶
CPU āĻĒā§āϰāĻĨāĻŽā§ āĻļā§āϧ⧠cache-āĻ data āϞā§āĻā§āĨ¤ Cache block āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϞ⧠dirty bit 1 āĻšā§āĨ¤ Block replace āĻāϰāĻžāϰ āϏāĻŽā§ main memory update āĻšā§āĨ¤
āϏā§āĻŦāĻŋāϧāĻž¶
- Write operation āĻĻā§āϰā§āϤāĨ¤
- Memory traffic āĻāĻŽāĨ¤
- āĻāĻāĻ block-āĻ āĻŦāĻžāϰāĻŦāĻžāϰ write āĻāϰāϞ⧠main memory-āϤ⧠āĻāĻāĻŦāĻžāϰāĻ āϞā§āĻāĻž āĻšā§āĨ¤
āĻ āϏā§āĻŦāĻŋāϧāĻž¶
- Design āĻāĻāĻŋāϞāĨ¤
- Dirty bit āĻĒā§āϰā§ā§āĻāύāĨ¤
- Cache āĻ main memory āϏāĻžāĻŽā§āĻŋāĻāĻāĻžāĻŦā§ āĻāϞāĻžāĻĻāĻž āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤
| āĻŦāĻŋāώ⧠| Write-Through | Write-Back |
|---|---|---|
| Memory update | āϏāĻā§āĻā§ āϏāĻā§āĻā§ | āĻĒāϰ⧠|
| Speed | āϤā§āϞāύāĻžāĻŽā§āϞāĻ āϧā§āϰ | āĻĻā§āϰā§āϤ |
| Traffic | āĻŦā§āĻļāĻŋ | āĻāĻŽ |
| Complexity | āĻāĻŽ | āĻŦā§āĻļāĻŋ |
| Dirty bit | āĻĻāϰāĻāĻžāϰ āύā§āĻ | āĻĻāϰāĻāĻžāϰ |
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
Write-through:
Cache + Memory-āϤ⧠āĻāĻāϏāĻā§āĻā§ write
āϏāĻšāĻ, āĻāĻŋāύā§āϤ⧠āϧā§āϰ āĻāĻŦāĻ traffic āĻŦā§āĻļāĻŋ
Write-back:
āĻĒā§āϰāĻĨāĻŽā§ āĻļā§āϧ⧠Cache
āĻĒāϰ⧠Memory update
āĻĻā§āϰā§āϤ, traffic āĻāĻŽ, āĻāĻŋāύā§āϤ⧠dirty bit āϞāĻžāĻā§
āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻā§āϰāĻŋāĻ:
Through = āϏāĻā§āĻā§ āϏāĻā§āĻā§ āĻā§āϤāϰ āĻĻāĻŋā§ā§ āϝāĻžā§āĨ¤ Back = āĻĒāϰ⧠memory-āϤ⧠āĻĢā§āϰāϤ āϝāĻžā§āĨ¤
9. MIPS Register Transfer Logic¶
Explain the Register Transfer Logic (RTL) đđī¸ for the following MIPS instructions: addu, addi, lw, sw, and beq. đđģ
āĻāϤā§āϤāϰ¶
addu rd, rs, rt¶
āĻĻā§āĻāĻŋ register-āĻāϰ āĻŽāĻžāύ āϝā§āĻ āĻāϰ⧠destination register-āĻ āϰāĻžāĻā§āĨ¤
addi rt, rs, immediate¶
Register-āĻāϰ āĻŽāĻžāύā§āϰ āϏāĻā§āĻā§ immediate āϝā§āĻ āĻāϰā§āĨ¤
lw rt, offset(rs)¶
Memory āĻĨā§āĻā§ data register-āĻ load āĻāϰā§āĨ¤
sw rt, offset(rs)¶
Register-āĻāϰ data memory-āϤ⧠store āĻāϰā§āĨ¤
beq rs, rt, label¶
āϝāĻĻāĻŋ:
āϤāĻžāĻšāϞā§:
āύā§āϤā§:
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
addu â Register + Register
addi â Register + Immediate
lw â Memory āĻĨā§āĻā§ Register
sw â Register āĻĨā§āĻā§ Memory
beq â Equal āĻšāϞ⧠branch
āϏāĻŦ āĻā§āώā§āϤā§āϰ⧠āϏāĻžāϧāĻžāϰāĻŖāϤ:
āϤāĻŦā§ beq true āĻšāϞ⧠branch target-āĻ āϝāĻžā§āĨ¤
10. MemoryâProcessor Connection¶
Briefly describe the basic connection đ of memory đ§ to the processor. âī¸
āĻāϤā§āϤāϰ¶
Processor āĻāĻŦāĻ memory āϤāĻŋāύ āϧāϰāύā§āϰ bus āĻĻā§āĻŦāĻžāϰāĻž āϝā§āĻā§āϤ āĻĨāĻžāĻā§:
- Address Bus
- Data Bus
- Control Bus
Address Bus
CPU --------------------------> Memory
Data Bus
CPU <-------------------------> Memory
Control Bus
CPU --------------------------> Memory
Address Bus¶
āĻā§āύ memory location access āĻāϰāĻž āĻšāĻŦā§ āϤāĻžāϰ address āĻĒāĻžāĻ āĻžā§āĨ¤
Data Bus¶
CPU āĻāĻŦāĻ memory-āĻāϰ āĻŽāϧā§āϝ⧠data āĻāĻĻāĻžāύ-āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤
Control Bus¶
Read, Write, Memory Enable āĻāϤā§āϝāĻžāĻĻāĻŋ control signal āĻŦāĻšāύ āĻāϰā§āĨ¤
Memory Read¶
Memory Write¶
CPU address āĻ data āĻĒāĻžāĻ āĻžā§
â Write signal āĻĻā§ā§
â Memory data āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻā§āϰāĻŋāĻ:
Address āĻŦāϞ⧠āĻāĻžā§āĻāĻž, Data āĻŦāĻšāύ āĻāϰ⧠āϤāĻĨā§āϝ, Control āĻŦāϞ⧠āĻāĻžāĻāĨ¤
11. Internal Organization of Bit Cells¶
Briefly explain the internal organization đĸ of bit cells 0ī¸âŖ1ī¸âŖ in a memory chip. đž
āĻāϤā§āϤāϰ¶
Memory chip-āĻāϰ bit cell-āĻā§āϞ⧠row āĻāĻŦāĻ column āĻāĻāĻžāϰ⧠matrix āĻšāĻŋāϏā§āĻŦā§ āϏāĻžāĻāĻžāύ⧠āĻĨāĻžāĻā§āĨ¤
Column Decoder
â
âââââââââââââââââââ
Row â 0 1 0 1 1 â
Decoder â â 1 0 1 0 0 â
â 0 0 1 1 0 â
âââââââââââââââââââ
āĻĒā§āϰāϧāĻžāύ āĻ āĻāĻļ:
Row Decoder¶
āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ word line āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āĨ¤
Column Decoder¶
āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ column āĻŦāĻž bit āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āĨ¤
Bit Line¶
Bit cell-āĻāϰ data āĻŦāĻšāύ āĻāϰā§āĨ¤
Sense Amplifier¶
Cell āĻĨā§āĻā§ āĻĒāĻžāĻā§āĻž āĻā§āώā§āĻĻā§āϰ signal-āĻā§ 0 āĻ
āĻĨāĻŦāĻž 1 āĻšāĻŋāϏā§āĻŦā§ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§āĨ¤
Write Driver¶
Cell-āĻ āύāϤā§āύ data āϞāĻŋāĻā§āĨ¤
SRAM cell āϏāĻžāϧāĻžāϰāĻŖāϤ 6 transistor āĻĻāĻŋā§ā§ āϤā§āϰāĻŋ āĻšā§āĨ¤
DRAM cell āϏāĻžāϧāĻžāϰāĻŖāϤ 1 transistor āĻāĻŦāĻ 1 capacitor āĻĻāĻŋā§ā§ āϤā§āϰāĻŋ āĻšā§āĨ¤
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
Bit cells â Row āĻ Column matrix
Row Decoder â Row āύāĻŋāϰā§āĻŦāĻžāĻāύ
Column Decoder â Column āύāĻŋāϰā§āĻŦāĻžāĻāύ
Bit Line â Data āĻŦāĻšāύ
Sense Amplifier â 0/1 āĻĒā§ā§
Write Driver â Data āϞāĻŋāĻā§
āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻā§āϰāĻŋāĻ:
Decoder āĻā§āĻāĻā§, Bit line āĻŦāĻšāύ āĻāϰā§, Sense amplifier āĻĒā§ā§, Write driver āϞā§āĻā§āĨ¤
12. Memory Module Design¶
Design a 2MÃ32 memory module đžđ§Š using 512KÃ8 static memory chips. đĨī¸đ§
āĻāϤā§āϤāϰ¶
āĻĒā§āϰā§ā§āĻāύā§ā§ module:
āĻĒā§āϰāϤāĻŋāĻāĻŋ chip:
Width calculation¶
āĻ āϤāĻāĻŦ, āĻāĻāĻāĻŋ bank āϤā§āϰāĻŋāϰ āĻāύā§āϝ 4āĻāĻŋ chip parallel-āĻ āĻĒā§āϰā§ā§āĻāύāĨ¤
Depth calculation¶
āĻŽā§āĻ chip¶
Address lines¶
āϤāĻžāĻ module-āĻāϰ address line:
āĻĒā§āϰāϤāĻŋāĻāĻŋ chip:
āϤāĻžāĻ:
Diagram:
āĻĒā§āϰāϤāĻŋāĻāĻŋ bank:
āĻāĻžāϰāĻāĻŋ bank:
Final Answer¶
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
Width = 32/8 = 4 chips parallel
Depth = 2M/512K = 4 banks
Total = 4 Ã 4 = 16 chips
Address lines = 21
Decoder = 2-to-4
āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻā§āϰāĻŋāĻ:
Width āĻāĻžāĻ, Depth āĻāĻžāĻ, āϤāĻžāϰāĻĒāϰ āĻĻā§āĻ āĻĢāϞ āĻā§āĻŖāĨ¤
13. Virtual Memory and Cache Mapping¶
What is virtual memory? âī¸đ§ Why is a mapping function đēī¸ needed in cache memory. âĄ
āĻāϤā§āϤāϰ¶
Virtual Memory¶
Virtual memory āĻāĻŽāύ āĻāĻāĻāĻŋ memory-management technique āϝā§āĻāĻžāύ⧠secondary storage-āĻāϰ āĻāĻŋāĻā§ āĻ āĻāĻļ main memory-āĻāϰ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŖ āĻšāĻŋāϏā§āĻŦā§ āĻŦā§āϝāĻŦāĻšā§āϤ āĻšā§āĨ¤
Program-āĻā§ page āĻāĻŦāĻ physical memory-āĻā§ frame-āĻ āĻāĻžāĻ āĻāϰāĻž āĻšā§āĨ¤
āĻĒā§āϰā§ā§āĻāύā§ā§ page RAM-āĻ āύāĻž āĻĨāĻžāĻāϞ⧠page fault āĻāĻā§āĨ¤ āϤāĻāύ page-āĻāĻŋ disk āĻĨā§āĻā§ RAM-āĻ āĻāύāĻž āĻšā§āĨ¤
āϏā§āĻŦāĻŋāϧāĻž¶
- RAM-āĻāϰ āĻā§ā§ā§ āĻŦā§ program āĻāĻžāϞāĻžāύ⧠āϝāĻžā§āĨ¤
- āĻĒā§āϰāϤāĻŋāĻāĻŋ process āĻāϞāĻžāĻĻāĻž address space āĻĒāĻžā§āĨ¤
- Memory protection āĻĒāĻžāĻā§āĻž āϝāĻžā§āĨ¤
- RAM āĻĻāĻā§āώāĻāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϝāĻžā§āĨ¤
Cache Mapping Function¶
Main memory cache-āĻāϰ āϤā§āϞāύāĻžā§ āĻ āύā§āĻ āĻŦā§āĨ¤ āϤāĻžāĻ main memory-āĻāϰ āĻāĻāĻāĻŋ block cache-āĻāϰ āĻā§āύ location-āĻ āϰāĻžāĻāĻž āĻšāĻŦā§, āϤāĻž āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰāĻžāϰ āĻāύā§āϝ mapping function āĻĒā§āϰā§ā§āĻāύāĨ¤
Mapping function-āĻāϰ āĻāĻžāĻ:
Mapping āϤāĻŋāύ āϧāϰāύā§āϰ:
- Direct Mapping
- Associative Mapping
- Set-Associative Mapping
āĻāĻ āϞāĻžāĻāύā§:
Mapping function āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰ⧠main memory-āĻāϰ āĻā§āύ block cache-āĻāϰ āĻā§āĻĨāĻžā§ āϰāĻžāĻāĻž āĻāĻŦāĻ āĻā§āĻāĻā§ āĻĒāĻžāĻā§āĻž āĻšāĻŦā§āĨ¤
āĻĻā§āϰā§āϤ āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāϏāĻžāϰ¶
Virtual Memory:
Disk-āĻāϰ āĻ
āĻāĻļ RAM-āĻāϰ āĻŽāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ
Page â Frame mapping
Page āύāĻž āĻĨāĻžāĻāϞ⧠â Page fault
Cache Mapping:
Memory block cache-āĻāϰ āĻā§āĻĨāĻžā§ āϝāĻžāĻŦā§ āϤāĻž āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§
āϤāĻŋāύ āϧāϰāύā§āϰ mapping:
āĻŽāύ⧠āϰāĻžāĻāĻžāϰ āĻā§āϰāĻŋāĻ:
Virtual memory āĻāĻžā§āĻāĻž āĻŦāĻžā§āĻžā§, cache mapping āĻāĻžā§āĻāĻž āĻ āĻŋāĻ āĻāϰā§āĨ¤
ā§Šā§Ļ āϏā§āĻā§āύā§āĻĄā§āϰ Final Revision¶
IEEE:
Single bias 127, Double bias 1023
Multiplier:
16 AND gates, 8-bit result
Booth:
01 Add, 10 Subtract, 00/11 Shift
Performance:
CPU Time = IC Ã CPI / Clock
IPS = Clock/CPI
P1-P3:
P2 fastest
Flynn:
SISD, SIMD, MISD, MIMD
Cache:
Hit āĻĒāĻžāĻā§āĻž, Miss āύāĻž āĻĒāĻžāĻā§āĻž
AMAT = Hit Time + Miss Rate à Penalty
Write:
Through āĻāĻāύāĻ, Back āĻĒāϰā§
RTL:
lw MemoryâRegister
sw RegisterâMemory
Memory Bus:
Address, Data, Control
Memory Design:
4 wide à 4 banks = 16 chips
Virtual Memory:
Disk āĻĻāĻŋā§ā§ RAM āĻŦāĻžā§āĻžā§
