0% found this document useful (0 votes)
31 views9 pages

04 Handout 1 (2) Merged

Uploaded by

Abe Sakal
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)
31 views9 pages

04 Handout 1 (2) Merged

Uploaded by

Abe Sakal
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/ 9

IT1910

Memory
What is a Memory?
A memory holds instructions (code) and data. It plays an important part of a computer performance. Register
is a type of memory with small capacity. It can be described as a one-dimensional matrix of cells used to store
and retrieve data. Each cell has an address that provides a unique mechanism for accessing the data it stores.
There are two types of memory used in a computer:
• Primary (Semiconductors – RAM & ROM)
• Secondary (HDD, SSD, Flash, Tape, Disk & Optical Drives, etc.)

Semiconductor Technologies
Types of semiconductor memory:
• Volatile memory
o It needs constant power to retain data.
Its contents are lost when power is
removed from it.
o Example: Random Access Memory and
Cache Memory
• Nonvolatile memory
o It keeps its contents even without
power. It can retrieve stored
information even after having been Table 1. Memory prefixes in bytes
power cycled.
o Example: Read-Only Memory and Flash Memory

Random Access Memory (RAM)


This is a volatile type of memory. It is called
“random access” because any storage
location can be accessed directly.
• The data bus allows the passage of
data in or out the RAM.
• The address bus is used to select a
memory location.
• The read signal activates when
reading data from RAM.
• The write line activates when
writing to the RAM. Figure 1. Memory operations with computer bus
• RAM Operations: Read, Write, and
Chip Select.

Types of RAM
• Static RAM (SRAM) is almost 20 times faster and is much more expensive than DRAM. D Flip Flop is
one-bit static RAM.
o Cache (L1, L2, L3)
• Dynamic RAM (DRAM) uses fewer components to make one (1) bit; therefore, it can design DRAM
integrated circuit (IC) with a large capacity of 4 GB per IC.

04 Handout 1 *Property of STI


[email protected] Page 1 of 4
IT1910

o Fast Page Mode RAM (FPMRAM) – It allows faster access to data in the same row or page. Page-
mode memory works by eliminating the need for a row address if data is located in the row
previously accessed.
o Extended Data Out (EDORAM) – It transfers blocks of data to or from the memory.
o Synchronous DRAM (SDRAM) – This technology uses DRAM and adds a special interface for
synchronization. It can run at much higher clock speeds than DRAM.
o Rambus DRAM (RDRAM) – This was developed by Rambus Corporation. It uses multiple DRAM
banks with a new interface that enables DRAM banks to transfer multiple words and transfer
data at the rising edge and the falling edge of a clock.
o Double Data Rate SDRAM (DDR SDRAM) – It is a type of SDRAM that transfers data for both
rising edge and falling edge of the clock. It can move data twice as fast than SDRM; therefore,
memory can run at the ½ clock rate.

Types of RAM Packaging


• Single In-line Memory Module (SIMM) is a small circuit board where one (1) side of the board holds
several chips.
• Dual In-line Memory Module (DIMM) is a circuit board, in which both sides of the board hold several
memory chips but has a 64 bit data bus.
o SO-DIMMM (Small Outline) – It is a small version of DIMM used commonly in notebook
computers.
o Micro-DIMM – It is a competing memory used on laptops and mostly supports 144 and 172
pins.
• Rambus In-line Memory Module (RIMM) is similar to a DIMM package but uses different pin settings
in which it contains 184 or 232 pins.

Read-Only Memory
From the term, information can be “read” only from this type of memory. It holds information permanently
even while there is no power to the ROM. It is a nonvolatile type of memory.

Types of ROM
• Programmable ROM (PROM) is a memory chip where data can be written only once.
• Erasable PROM (EPROM) can be erased with ultraviolet light and reprogrammed with a device called
an EPROM programmer. Flash ROM is a type of EEPROM.
• Electrically EPROM (EEPROM) can be erased by applying specific voltage to one of its pins and can be
reprogrammed with an EPROM programmer. Example: NAND Flash Memory and BIOS
o Flash Memory – It is a nonvolatile memory that has a wide range of applications such as flash
drive, solid-state drive, memory card, and embedded system. It is a type of EEPROM that allows
multiple memory location to be written or erased on one (1) operation. There are two (2) types
of technology use for flash memory: NAND and NOR flash memories. NAND flash memory has
smaller access time than NOR flash memory. Most flash memories use NAND technology.

04 Handout 1 *Property of STI


[email protected] Page 2 of 4
IT1910

Figure 2. Memory hierarchy according to latency

Figure 3. Memory hierarchy according to capacity, price, and performance

What is computer bottlenecking?


It is the delay in transmission of data through the circuits of a computer’s microprocessor. The delay typically
occurs when a system’s bandwidth cannot support the amount of information being relayed at the speed it is
being processed. Many factors can create a bottleneck in a system as well.

Memory Partitioning
A partition is a defined area in memory that stores a program to be executed. The partition size defines the
processes that could execute in the specific partition. The number of partitions defined determines the
number of processes that could run concurrently.
• Fixed Partitioning – The main memory is divided into several static partitions at system generation
time. A process may be loaded into a partition of equal or greater size.
o Possibilities: Equal size partitioning and unequal size partitioning
• Dynamic Partitioning – The partitions are of variable length and number. When a process is brought
into main memory, it is allocated exactly as much memory as it requires and no more.
o Possibilities: Small holes in memory and external fragmentation

04 Handout 1 *Property of STI


[email protected] Page 3 of 4
IT1910

Virtual Memory
It is used for storing application data and instructions that are currently not needed to be process by the CPU.
It also enables a system to run application larger than main memory. The hard disk drive (HDD) or solid state
drive (SSD) is extended as part of the memory and includes allocations and addresses.

Caching
It was the name chosen to represent the level of the memory hierarchy between the processor and main
memory. The term “caching” also refers to any storage managed to take advantage of locality of reference. Its
main contribution is in improving the execution speed. Its properties include reduction of latency, more
capacity, and cache availability.

Types of Cache Memory


• L1 Cache (Primary Cache) – This cache level is as fast as the processor because it is embedded in the
processor.
• L2 Cache (External Cache) – This cache level is used to catch recent data access from the processor
not caught by Level 1.
• L3 Cache (Shared Cache) – This cache catches the recent data all across CPU cores; this is usually slower
than L1 and L2

Locality of Reference
It is the tendency of a processor to access the same set of memory locations repetitively over a short time.
• Temporal Locality – A resource that is referenced at one (1) point in time is referenced again soon
after.
• Spatial Locality – The likelihood of referencing a storage location is greater if a storage location near
it has been recently referenced.
Accessing a cache is based on the following predictions:
• Cache Hit – looking for the same piece of data again.
• Cache Miss – data that isn’t in the cache; it causes latency and delay.

References:
Berekovic, M., Buchty, R., Hamann, H., Koch, D., & Pionteck, T. (2018). Architecture of computing systems – ARCS 2018 proceedings. Switzerland: Springer Nature.
Brazil, B. (2015, August 21). The three types of cache [Web log post]. Retrieved from https://www.robustperception.io/the-three-types-of-cache on May 22, 2019
CrashCourse. (2017, July 5). Memory & storage: Crash course computer science #19 [Video file]. Retrieved from https://www.youtube.com/watch?v=TQCr9RV7twk on May
30, 2019
David Black-Schaffer. (2014, July 14). Virtual memory: 3 What is virtual memory? [Video file]. Retrieved from https://www.youtube.com/watch?v=qlH4-oHnBb8 on
May 30, 2019
Elahi, A. (2018). Computer systems - Digital design, fundamentals of computer architecture and assembly language. Switzerland: Springer Nature.
Englander, Irv. (2014). The architecture of computer hardware, systems software & networking (5th ed.). New Jersey: Wiley.
Memory. (n.d.). In Escotal.com. Retrieved from http://www.escotal.com/memory.html on May 29, 2019
Kollannore, S. (n.d.). Study materials on computer organization. Retrieved from http://www.lsp4you.com/electronics/Generation%20of%20Computers.pdf on May 22, 2019
Nair, J. (2013, August 27). Computer hardware [PowerPoint slides]. Retrieved from https://image.slidesharecdn.com/computerhardware-130827044656-
phpapp01/95/computer-hardware-11-638.jpg?cb=1377579134 on May 22, 2019
Patterson, D. & Hennessy, J. (2017). Computer organization and design – The hardware/software interface. Massachusetts: Elsevier.
Prabu, G. (n.d.). Computer Architecture Tutorial. In Iowa State University Department of Science. Retrieved from http://web.cs.iastate.edu/~prabhu/Tutorial/title.html on
May 23, 2019
Rampur, S. (2018, March 24). Computer Memory Types. In Techspirited. Retrieved from https://techspirited.com/computer-memory-types on May 29, 2019
Techquickie. (2014, April 13). Different kinds of memory as fast as possible [Video file]. Retrieved from https://www.youtube.com/watch?v=dZcszUj5szA on May 30, 2019
Computer memory. (n.d.). In TutorialsPoint. Retrieved from https://www.tutorialspoint.com/computer_fundamentals/computer_memory.htm on May 29, 2019
Yadin, A. (2016). Computer Systems Architecture. Florida: CRC Press.
David Keizer. (2016, June 6). RISC vs CISC [Video file]. Retrieved from https://www.youtube.com/watch?v=_EKgwOAAWZA on May 21, 2019
Bottleneck. (n.d.). In Webopedia. Retrieved from https://www.webopedia.com/TERM/B/bottleneck.html on May 29, 2019
IDC Technologies. (n.d.). Memory partitioning [PDF]. Retrieved from http://www.idc-
online.com/technical_references/pdfs/information_technology/Memory_Partitioning.pdf on May 29, 2019
Why Random Access?. (n.d.). In Carleton University School of Computer Science. Retrieved from http://people.scs.carleton.ca/~armyunis/notes/ram.htm on May 29, 2019

04 Handout 1 *Property of STI


[email protected] Page 4 of 4
IT1910

Hardware Architecture
Computer hardware is the collection of physical parts of a computer system. It can be categorized as having
either external or internal components. External components, also called peripheral components, are those
items that are often connected to the computer in order to control either its input or output. These include
the computer case and monitor (output component), and keyboard and mouse (common input components).
Internal components include items such as the hard disk drive, motherboard, video card, and many others.

Generation and Advancements


Each generation is defined with a specific technological advancement that made a mark throughout the
computer hardware’s history.
 1st Generation (Vacuum Tubes)
• The vacuum tube was invented in parallel to the electric bulb and used a similar concept.
• The switching capability, which is translated into turning on and off a particular bit, was the main
reason for the important role the vacuum tubes played in early computers.
• It can also amplify specific signals that are used to boost specific frequencies.
 2nd Generation (Transistors)
• Transistors became faster, smaller, highly reliable, and significantly cheaper than vacuum tubes.
• Through this generation, the transistor miniaturization process has occurred, reducing the size of
transistors into smaller packages.
 3rd Generation (Integrated Circuit)
• Sometimes referred to as a “semiconductor chip,” the integrated circuit is a collection of transistors
integrated and compacted into a single chip.
• Keyboards and mice had been used as inputs.
• See Moore’s Law for reference.
 4th Generation (Microprocessors)
• Computers in this generation were characterized by a significant increase in the number of transistors
integrated into a single chip and by the invention of the microprocessor.
• The aim of inventing the new processor was to use it for the development of calculators.
 5th Generation (Artificial Intelligence [AI])
• VLSI (Very Large Scale Integration) technology in this generation became ULSI (Ultra Large Scale
Integration) technology, resulting in the production of microprocessor chips having ten million
electronic components.
• This generation is based on parallel processing hardware and AI software.
• AI is an emerging branch in computer science, which interprets the means and methods of making
computers think like human beings.

What is a Microprocessor?
• It is composed of integrated circuits that hold thousands of transistors responsible for processing the
unique set of instructions and processes.
• It is designed to execute logical and computational tasks with typical operations such as arithmetic
interprocess, device communication, input/output management, etc.

03 Handout 1 *Property of STI


[email protected] Page 1 of 5
IT1910

Microprocessor Components
These are the components that made microprocessors more powerful and efficient throughout its invention
and development:
1. Central Processing Unit (CPU) – It is responsible for accepting data from input devices, processing the data
into information, and transferring the information to memory and output devices.
2. Arithmetic Logic Unit (ALU) – As the name implies, its function is to perform arithmetic operations, such
as addition, subtraction, division, and multiplication, and logic operations such as AND, OR, and NOT.
3. Control Unit (CU) – Its function is to control the input and output devices, generate control signals to the
other components of the computer such as read and write signals, and perform instruction execution.
4. Registers – It is the fastest memory in a
computer that holds information.
5. Main Memory – This device is capable of
storing information temporarily.
6. Clock – It refers to a microchip that regulates
the timing and speed of all computer
functions.
7. Input/Output Devices – These are any
hardware used to communicate with a
computer.
8. Input/Output Interfaces – These are physical
devices, ports, or connections that interact
with the computer or other hardware devices. Figure 1. Microprocessor components abstraction
9. Direct Memory Access – It is a feature of some
computer bus architectures that allows data to be sent from a storage device to memory without using
the CPU.
10. Bus – It is a pathway of data or instruction from one (1) element to the other.
a. Data Bus – This bus is used to carry data to and from the memory.
b. Address Bus – This bus defines the number of addressable locations in a memory IC.
c. Control Bus – This bus carries control signals from the control unit to the computer components in
order to control the operation of each component.
Registers
In computer architecture, a
processor register provides the
fastest way for a CPU to access
data. Modern computer
architectures operate on the
principle of moving data from the
main memory into registers, and
vice versa.
• It holds a temporary value
(IN BINARY) like data,
instructions, memory
addresses or I/O address,
and special binary codes. Table 1. Comparison of registers and memory
• It can store, manipulate,
and calculate values which vary from 16-bit, 32-bit, up to 64-bit registers sizes.

03 Handout 1 *Property of STI


[email protected] Page 2 of 5
IT1910

Kinds of Registers
Registers assist in a particular transfer of data or an instruction to be processed. The following are the basic
kinds of registers:
• General-Purpose Registers / Accumulator – These store any transient data required by the processor.
• Program Counter Register / Instruction Pointer – This holds the address of the current instruction
being executed.
• Memory Address Register – This holds the address of a memory location.
• Memory Data Register – This holds a data value that is being stored to or retrieved from the memory
location currently addressed by the memory address register.
• Status Registers / Flags – These are used to allow the computer to keep track of special conditions
such as arithmetic carry and overflow, power failure, and internal computer error.

CPU Architecture
Generally, an architecture defines what an object looks like, behaves, processes, and responds. In the aspect
of computers, it defines how a processor operates through hardware/software and how it is being handled by
the user.
Von Neumann Architecture
• It is a program consisting of code (instructions)
and data.
• It uses a data bus to transfer data and
instructions from the memory to the CPU.
Memory holds both programs and data.
• It is still the standard architecture for all
computers and computer-based devices.

Harvard Architecture
• It uses separate buses for instructions and
data.
• The instruction address bus and instruction
bus are used for reading instructions from the
memory.
• The address bus and data bus are used for
writing and reading data to and from the
memory.

Instruction Set Architecture


It allows communication between the hardware component and the software component of a computer. It is
a group of commands for a CPU in a machine language.
• Commands/Instructions – Operation Code (Opcode)
• Example: ADD, SUB, MULT, DIV, JUMP, CMP, etc.

Two (2) Types of ISA


• Complex Instruction Set Computer – It is a computer where single instructions can execute several
low-level operations (such as a load from memory, an arithmetic operation, and a memory store) or
can do multi-step operations or address modes within single instructions. Example: x86-x64 processors
(Intel)

03 Handout 1 *Property of STI


[email protected] Page 3 of 5
IT1910

• Reduced Instruction Set Computer – It is a computer which only uses simple instructions that can be
divided into multiple instructions and perform low-level operations within a single clock cycle.
Example: ARM (iPhone)

Table 2. Comparison of CISC and RISC Architectures

Microprocessor Operations
These are the operations that a microprocessor has:
• Fetch – It is designed to fetch several instructions at a time in parallel.
• Decode – It identifies the opcode in which it determines the type of instruction.
• Execute – It executes the part/s for each different instruction.
Each computer has a specific operation to which it will be processed. With a different instruction set,
instructions may be processed differently. In the future, the exact parallel computing might be possible to
grasp. Most of the computer processes today are more inclined into pipelining in which it can be near to
parallel processing.

Parallel Processing
It is a method of simultaneously breaking up and running
program tasks on multiple microprocessors, thereby
reducing processing time. It can be accomplished via a
computer with two (2) or more processors or via a
computer network. It induces problems resulting in not
being synchronized.

Pipelining
It is the process of
accumulating and executing
computer instructions and
tasks from the processor via a
logical pipeline. It allows
storing, prioritizing, managing,
and executing tasks and
instructions in an orderly
process.

03 Handout 1 *Property of STI


[email protected] Page 4 of 5
IT1910

Process Comparison
Normal Processing Parallel Processing Pipelining

References:
Berekovic, M., Buchty, R., Hamann, H., Koch, D., & Pionteck, T. (2018). Architecture of computing systems – ARCS 2018 proceedings.
Switzerland: Springer Nature.
David Keizer. (2016, June 6). RISC vs CISC [Video file]. Retrieved from https://www.youtube.com/watch?v=_EKgwOAAWZA on
May 21, 2019
DMA. (2018, November 13). In Computer Hope. Retrieved from https://www.computerhope.com/jargon/d/dma.htm on May 22,
2019
Input/output device. (2018, November 13). In Computer Hope. Retrieved from
https://www.computerhope.com/jargon/i/iodevice.htm on May 22, 2019
CPU. (2019, April 13). In Computer Hope. Retrieved from https://www.computerhope.com/jargon/c/cpu.htm on May 22, 2019
Clock. (2017, October 2). In Computer Hope. Retrieved from https://www.computerhope.com/jargon/c/clock.htm on May 22, 2019
Computerphile. (2017, March 3). Inside the CPU - Computerphile [Video file]. Retrieved from
https://www.youtube.com/watch?v=IAkj32VPcUE on May 24, 2019
craigndave. (2017, June 19). OCR A'Level CISC vs RISC [Video file]. Retrieved from
https://www.youtube.com/watch?v=BJpMmq9gQE8 on May 24, 2019
David Keizer. (2016, June 3). RISC vs CISC [Video File]. Retrieved from https://www.youtube.com/watch?v=_EKgwOAAWZA on May
24, 2019
Easy Tech Tips. (2014, December 18). Parallel computing explained in 3 minutes [Video file]. Retrieved from
https://www.youtube.com/watch?v=q7sgzDH1cR8 on May 24, 2019
Elahi, A. (2018). Computer systems - Digital design, fundamentals of computer architecture and assembly language. Switzerland:
Springer Nature.
Englander, Irv. (2014). The architecture of computer hardware, systems software & networking (5th ed.). New Jersey: Wiley.
Patterson, D. & Hennessy, J. (2017). Computer organization and design – The hardware/software interface. Massachusetts: Elsevier.
Computer - Fifth Generation. (n.d.). In TutorialsPoint. Retrieved from
https://www.tutorialspoint.com/computer_fundamentals/computer_fifth_generation.htm on May 22, 2019
Undy, S. (n.d.). Massive Parallelism for Mission-Critical Applications - Advanced Explicitly Parallel Instruction Computing (EPIC)
Architecture. Retrieved from https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/itanium-
9500-massive-parallelism-mission-critical-computing-paper.pdf on May 24, 2019
[Vaishvik Satyam]. (2017, March 29). Difference between CISC and RISC Architecture [Video file]. Retrieved from
https://www.youtube.com/watch?v=07cpxBfy7JI on May 24, 2019
Yadin, A. (2016). Computer systems architecture. Florida: CRC Press.
What is the difference between the Von Neumann architecture and the Harvard architecture?. (n.d.). In Quora. Retrieved from
https://www.quora.com/What-is-the-difference-between-the-Von-Neumann-architecture-and-the-Harvard-architecture
on May 22, 2019
Parallel Processing. (n.d.). In Techopedia. Retrieved from https://www.techopedia.com/definition/4598/parallel-processing on May
22, 2019
What is computer hardware?. (n.d.). In Quora. Retrieved from https://www.quora.com/What-is-computer-hardware on May 22,
2019
Microprocessor. (n.d.). In Techopedia. Retrieved from https://www.techopedia.com/definition/2874/microprocessor on May 24,
2019

03 Handout 1 *Property of STI


[email protected] Page 5 of 5

You might also like