Você está na página 1de 18




SEMESTER II 20015/2016





MATRIC NO : 184611

DUE DATE : 18 MARCH 2016

DUE TIME : 12 A.M.

1. Introduction 1
2. Turn-it-ins Report 2
3. Cache Memory
a. Ideal Size for Cache Memory
b. How Does Cache Memory Works?
4. Internal Memory 3
a. Ideal Size for Internal Memory
b. How Does Internal Memory Works?
5. External Memory 4
a. Ideal Size for External Memory
b. How Does External Memory Works?

6. Advantages and Disadvantages of Using Each Memory Type(s) 8
7. Latest Model of Each Memory Type(s) 9
8. Motivation, Architecture, Pro and Cons of:
a. Shared Memory (NUMA and SMP)
b. Cluster (Distributed Memory)
9. Multiprocessor Organization
a. SISD Single Instruction, Single Data Stream
b. SIMD Single Instruction, Multiple Data Stream
c. MISD Multiple Instruction, Single Data Stream 12
d. MIMD Multiple Instruction, Multiple Data Stream
10. Conclusion 13
11. References 14-16

This is my first assignment for SSK3207(COAL) during my second semester of

2015/2016-2. In this assignment Im trusted to carry out self-centered learning activity
with some specific questions specified by my beloved lecturer, Dr. Rohaya Latip. In this
assignment Im supposed to do my own hand research on the subtopics of computer
memory system like External, Internal and Cache Memory. Topics like Processor
Multithreading also included.

From carrying out this assignment, Im supposed to cross every learning

outcome stated by my lecturer from my checklist. Such as I should be able to explain
computer memory system and its functionality, explain about parallel processing and its
functionality and lastly find solution of the problem/issues included in the question(s).

In order to complete this assignment, Ive to search the internet for open articles
written from any scholars. Academic books are also included in this assignments. So as
a diligence student Ive to be able to cite, quote and refer to any article(s) and books
used, using APA style of academic writing.

In general, this assignment is a crucial part of this course I registered

SSK3207(COAL). A part of gaining knowledge this assignment is included in my on-
going course assessment. Therefore, in order to get the best grade possible, Ive to
comply to this courses requirements.


Nowadays CPUs have 2MB, 4MB, 6MB and 8MB memory cache, the question is
whats an ideal size for our everyday uses, some application (games) uses more CPU
resources than GPU (GPU caches) sources thus higher memory cache of 4/6MB is
ideal for this situation. Memory cache size has to be large enough to contains
instruction to be fetched by the CPU and small enough to not cause CPU stalls. CPU
stalls occurs when CPU ran out things to do while reading (reading latency) for
instruction from the cache. Single computational task might require mediocre cache size
thus ideal for gamers whose run one to two heavy applications at a single time. But for
multitask environment, bigger cache size is always a good idea since memory cache
can store many frequently accessed instructions in the big cache. Therefore, making
CPU with 8MB or higher cache memory the right choice. Typical users might use
computer for multitask for one in a while and run a game at a times. Thus the ideal
memory cache size for these users is 4MB, this is an ideal size to avoid CPU stalls thus
4MB is big enough to store instructions and small enough to avoid reading latency.


According to Rouse, M., when a CPU processes data it first looks (read) the
cache memory, if it finds the instruction there it doesnt have to fetch the instructions
from RAM and HDD. Thus, cache memory helps CPU to perform/read instructions
faster. Memory hierarchy in computer architecture clearly stated that cache performs
fastest compared to RAM and lastly Disk. Cache memory stores recently uses
instructions, when CPU need to read the same instructions it doesnt have to look no
further, these instructions can easily be read back from the cache. Again referring to
Rouse, M.s article, memory cache has their own hierarchy of L1, L2 and even L3 in
some modern CPU. L1 contains lesser instructions but its the fastest among them. vice
versa, L3 contains largest number of instructions but slower compared to L1 and L2.
Although, this L3 is far faster than RAM and Disk speed.

This question is one of the most common question that people ask me as a
computer scientist. The ideal size for RAM should be big enough for the system to
temporally store data / instructions, support OS runtime requirement, applications that
you are going to run. So choosing the right RAM size is crucial in order to have top-
notch performance PC without sacrificing much money. Gamers uses a minimum of
4GB RAM, modern gamers use at least 8GB to maxima of 16GB RAM. This is because
some games require a lot of RAM in order to run smoothly without overloading CPU.
The OS itself requires sufficient amount of RAM to run perfectly, according to Microsoft,
Windows 10 requires 1GB RAM for 32-bit OS version and 2GB for its 64-bit version.
Thus the choice of OS and the intentions of using PC are crucial in deciding the ideal
size for internal memory. Lets say if youre a typical user, running few apps at a time,
using latest modern OS, running a high resources usage game for some times. Then,
4GB RAM is a buck saver, you dont need 8GB RAM to run few apps at a time, modern
game only uses few up to 1.5GB of RAM and some office apps wont even fully
consume your 4GB. I can tell this from experience of using 4GB RAM on 64-bit
Windows 10. But for a gamer like me, I cant survive with 4GB running DOTA2 will
consume my RAM usage up to 97-100% usage. Thus, adding at least 4GB more RAM
will ensure games like DOTA2 runs perfectly on my rig. 16GB RAM is massive, this is
usually for heavy gamers, designers, producers, that needed mobility on their rigs.
According to Humphries. M. (2012), Crysis 3, requires a lot of RAM, can reach up to
8GB of RAM usage when run, and it also use a lot of vRAM (but this is whole another

Beal, V. stated that RAM stands for Random Access Memory. The most common
type of RAM nowadays are SRAM and DRAM. SRAM is faster than DRAM but isnt that
popular as DRAM due to its costs. Dynamic Random Access Memory got its name due
to how it works. Beal, V., mentioned that DRAM needed to be refreshed thousands of
times per second while SRAM doesnt need to. Tyson, J. and Coustan, D. stated that
the downside of having the DRAM to refresh all the time are it takes time and slows the
memory. Bottom line is RAM serves as primary storage according to computer
organization as it holds data from the secondary storage so that it can be fetched by
CPU faster. RAM also serves as second fastest memory after cache memory, when
CPU have nothing to fetch from cache memory, it will fetch data from RAM first before
going for the external memory. Typical DRAM will discharge data due to its volatile
nature of discharging data when power is not supplied (PC turned off).

External memory is referred to data storage devices that can be situated
on PC case or outside of PC (portable). For instance, HDD, SSD, DVD, flash memory
devices and even cloud storage is considered as external memory. As mentioned by
King, P. JB., most common form of external memory is a hard disc (HDD) that is
permanently installed in the computer possessing size thats subjective to users. An
ideal size for external memory is really depends of the users actually, some people
store up two 1-3Tb of movies, songs and games collection. Some people prefer to
watch online movies and stream online songs and play online games, thus making
stream services their main choice. PC with 1Tb HDD is considered ideal since it has
more than enough storage to store OSs files to keep system running and store private
files and data. Super-fast SSD is quite popular nowadays and some can even replace
our well-known HDD. But due to it costs, the adaption rate to this new technology is
rather slow. Sharing the same characteristic with HDD, most of these external storages
are also non-volatile. Bottom line is the ideal size for external memory is rather too
subjective, dont you think?

External memory mostly connected to Computer using USB port, some like
SSD can directly connect to motherboard SATA (I/II/III) ports (replacing HDD or
complimenting it). Some SSD that acts as external portable memory uses USB 3.0 and
4.0 port, connecting SSD to 2.0 and 1.0 ports will retard its performance. An external
memory generally works as data storage outside/inside of computer acting as private
data storage or mobile data storage. Even though cloud storage can act as both,
interconnection between users and the internet might not be that stable to support the
reliability wanted. External memory can be the size of up to users needed and yes this
include the cloud storage service. Some users dont trust company like google and
Microsoft to hold their private data thus making external storage like portable HDD and
non-portable HDD, portable SSD, flash drives, and USB. As mentioned by Taylor, B.,
cloud-based storage provides better bang for bucks in term of long lasting services.
Therefore, decision making in choosing cloud-base services and portable external
memory is getting more difficult day by day. Bottom line is external memory serves its
purpose by providing data storage to store data to be accessed by PC and some serves
as data carrier (on portable devices).


As conclusion, data flow from the external memory to internal and lastly to cache
memory to be read by the CPU, these memories complimenting under computer
organization. In term of capacity increases, from top to bottom, external memory holds
largest data in computer organization and memory cache holds the least. Next,
frequency of access of the memory by the CPU decreases from top to bottom. Cache
memory provides highest access frequency by the CPU as technically its the closest to
the CPU, lowest access frequency by CPU is to external memory. Moreover, access
time by the CPU also increases as we go top to bottom, cache memory provides the
least time for the CPU to fetch data/instructions and leaving external memory to dust in
term of speed. In the end, without one another cache memory, internal memory and
external cannot work to satisfy users needs if one of the memory is broken. Therefore, I
stand my claim saying that theres no really disadvantages in term of functionality. In
term of cost on the other hand, cache memory is very expensive compared to internal
memory and external memory, this is because it came with the CPU/GPU itself.

Memory cache comes in the box with CPU and GPU, so the latest models of
memory cache would the latest CPUs and GPUs model. For latest CPUs model design
from Intel would be from the line of 6 th generation. 6th generation or code named
Skylake, shared the same architecture of Skylake micro-architecture. These new
processors come with L3 cache of 8MB, 6MB, 4MB,3MB, and 2MB is the lowest. All
desktop processors dont come with L4 cache and 8MB is meant for the high
performance core like i7 6700K and i7 6700. For internal memory(RAM), Ung, M. G.
(2015), mentioned that Corsair announced new 128GB DDR4 RAM. This new model is
under DOMINATOR series. Using DDR4 technology, this new model doesnt only bring
lower power consumption with higher frequency of 2400Mhz, this is rather high for our
current era of technology. Moreover, according to Ung, M. G. (2015), Kingston is not to
be left behind as the company also announced 128GB DDR4 ram with even higher rate
of frequency cloaking at 3000Mhz. That being wrote down, internal memory is moving
as fast as lightning in technology industry. Talking about external memory, its capacity
always plays the main role in its evolution. Alcorn, P. (2016), mentioned that I quoted,
the world continues to churn out incredible amounts of data (it doubles every year), and
the continued data growth still requires storage at the other end of the Ethernet port.
This means that high-capacity near line HDDs, and their lucrative revenue stream, are
still in demand. That being said, company like Seagate, Samsung and HGST has never
stopped engineering this external memory to crush its limit and keep on evolving.
Seagate 8TB is meant for enterprise customers, this huge capacity marks the golden
age of technology in 21st century. Not only bringing capacity, its sustained transfer rate is
as high as 6TB/8TB. Moving on, Alcorn, P. (2016), mentioned that HGST is the first ever
company to produce a 10TB HDD. This big boy doesnt only scores in term of capacity.
As mentioned by Alcorn, P. (2016), this HDD also employs a revolutionary media cache
technology in order to speed up performance by allowing it to use DRAM as cache
without the normal data integrity concerns. As conclusion there are lot more new

technologies are introduced from what I have stated and quoted, writing all long about
new technologies is intriguing as I learn something, but for this assignment Id stop


Symmetric multiprocessor or shortened SMP is define by Stallings, W. (2013) as
standalone computer system having several characteristics. These characteristics are
having two or more similar processors of distinct-able capability, processors share the
same memory and I/O and connected to a bus yielding access time almost the same for
each processors, processors share the same purposes and lastly this system is
controlled by an integrated OS. Stallings, W. (2013), said that SMP organization has a
few of benefits like performance, availability, incremental growth and scaling. Availability
is demoed, when all processors share the same functions if one processor failed a
system will not be halt. But the system can continue with disability which is continue at a
reduced performance.

In clustering architecture, Stallings, W. (2013), define clustering as a cluster of

nodes working together as unified system resources yielding numerous benefits. So
from rough reading, we can conclude that clustering is a method uses to group nodes
as a cluster working together as unified resources in order to achieve goals in parallel
computing. Stallings, W. (2013), also mentioned that this clustering architecture will
yield some benefits like absolute scalability, incremental scalability, high availability and
superior price/performance. A cluster can have tens up to thousands node working
together of which all poses multiprocessor. Just thinking about it we know it will provide
high processing power. The flexibility also mentioned by Stallings, W. (2013), nodes in
cluster can be configured a new system, therefore to save cost we can just use cheaper
system configuration and upgrade it as needed. Moreover, the availability of clustering
is high due to if one of the nodes broke, the others can still perform task. Lastly,
Stallings, W. (2013), mentioned that this clustering architecture will save cost when

equal nodes are clustered and the performance of the cluster is far more superior by
one standalone thats probably costing higher than these nodes in a cluster combined.

Reading various articles from various sources, NUMA is considered a newer

approached compared to cluster to SMP. This is mentioned by Stallings, W. (2013), he
stated that there are few sub technologies under NUMA, which are UMA (uniform
memory access), NUMA (non-uniform memory access) and lastly CC-NUMA (cache-
coherent NUMA). But since the question asked to discuss just NUMA and SMP so lets
get to that. NUMA is being researched for sometimes to create a better architecture
than SMP since the processor limitation in SMP thats causing performance
degradation. Stallings, W. (2013), said that the main benefit of NUMA over SMP is
because of its ability to deliver higher performance at higher level of parallelism.
Besides, NUMA also brings its own disadvantage like performance break down
whenever many memory accesses are to remote nodes. However, Stallings, W. (2013),
mentioned that the uses of L1 and L2 caches can overcome this problem.

As a conclusion, Stallings, W. (2013), mentioned that the main strength of SMP is

that SMP is easier to manage and to be configured than cluster. Moreover, SMP takes
less physical space and draws less power than a cluster. Lastly, SMP is said by
Stallings, W. (2013) to be well established and stable. However, in term of longevity
Clustering benefits more as its dominating in high-performance server. This is because
of incremental and absolute scalability. Lastly, clusters provide better availability since
all of its components can be easily be made highly redundant.

SSID (Single Instruction Stream, Single Data Stream) is one of computer
architecture for Single uni-core processor. Its process a single instruction stream to
operate on data stored in a single memory. This very definition is defined by Wikipedia.
This SISD is usually found on older machines and mainframe computers.
SIMD (Single Instruction, Multiple Data Stream), is one of the parallel computers
class in Flynns taxonomy according to Wikipedia. Its said to be computer with multiple
processing elements that execute the same operation on multiple data points at the
same time. SIMD advantages most in operation on multimedia applications.
MISD (Multi Instruction, Single Data Stream) is a type of parallel computing
architecture where many units execute different operation on the same data. This
definition is defined by Wikipedia. Open article on the internet said that this architecture
is usually employed in fault-tolerant computers executing identical set of instructions.
MIMD (Multi Instruction, Multi Data Stream) is a deployed way to achieve
parallelism. Machines thats using this architecture will be having a number of
processors that can function asynchronously and independently. According to
Wikipedia, this architecture allows different processors to carry out various instructions
at any time. This type of architecture is prime in simulation, modeling, communications
switches areas.
Wrapping things up, these processors architectures serve different purposes and
have its own pros and cons. But generally talking, how the architecture works is what to
be answered when the question asked for a general discussion.


In the nutshell, this by doing this assignment Im able to learn a lot of things, not
only in Computer Science but also the proper way to cite articles online and books. Not
only that, this assignment allows me to dig deeper into subject that Im supposed to be
learning in this course. Topics like multiprocessor organization is one of my favorite
subtopic, this is because before doing this assignment all Ive learnt and knew about
was just as little as a tip of sands. Reading and trying to understand each of these
subtopics really help me to understand how components in computer organization work
and how are they complementing each other as a system.
Moreover, this assignment helps me to magnify my interest in this course. This is
because by doing research Im able to read more about subtopics that Ive never
thought of reading during my free times. Above all, this assignment urges to me to know
more, to learn more, to be part of today computers technologies evolvement. Being part
of big really got me to work harder to prove myself that I can have my name producing
one of these article(s) and book(s).
As a closure, Im thankful to able to finish this assignment by my own words and I
really hope Im able to achieve my main goal in pursuing this course. Which is
knowledge that benefits me and others.


Does larger cache size always lead to improved performance? . Retrieved on 8 March
from http://stackoverflow.com/questions/14955788/does-larger-cache-size-always-lead-

Nathan, N. Sadler and Daniel, J. Sorin (2006). Choosing an Error Protection Scheme for
a Microprocessors L1 Data Cache

Memory. Retrieved on 8 March from http://www.bottomupcs.com/memory.xhtml

Rouse, M. Cache Memory. Retrieved on 8 March from

Wikipedia. Cache Computing. Retrieved on 8 March from


Protalinski, E. (2015). Microsoft Reveals Windows 10 hardware requirements and

upgrade paths. Retrieved on 8 March from http://venturebeat.com/2015/03/18/microsoft-

Humphries, M. (2012). Crysis 3 runs best on a Core i7 and 8GB RAM. Retrieved on 8
March from http://www.geek.com/games/crysis-3-runs-best-on-a-core-i7-and-8gb-ram-

Wikipedia. Random Access Memory. Retrieved on 8 March from


Wikipedia. Memory Hierarchy. Retrieved on 8 March from


Beal, V. RAM random access memory. Retrieved on 8 March 2016 from


Beal, V. DRAM dynamic random access memory. Retrieved on 8 March 2016 from

Beal, V. SRAM static random access memory. Retrieved on 8 March 2016 from

Tyson, J. and Coustan, D. How RAM works. Retrieved on 8 March 2016 from

Wikipedia. External Storage. Retrieved on 8 March from

King, P. JB. External Memory. Retrieved on 8 March from


How to Install an SSD (Solid State Drive). Retrieved on 10 March from


Taylor, Ben. Cloud storage vs. external hard drives: Which really offers the best bang for
your buck ?. Retrieved on 10 March 2016 from

Computer Organization Tutorial. Retrieved on 10 March from


Ung, M. G. (2015). RAM for the rich and nerdy: 128GB DDR4 memory kits become
reality. Retrieved on 10 March from http://www.pcworld.com/article/2923033/ram-for-

Snyder D. (2015). Intel Unleashes Next-Gen Enthusiast Desktop PC Platform at

Gamescom. Retrieved on 10 March from

Tyson, M. (2015). Intel Skylake-S desktop CPUs expected at IDF 2015 in August.
Retrieved on 10 March from "Intel Skylake-S desktop CPUs expected at IDF 2015 in

Alcorn, P. (2016). Seagate 8TB Enterprise Capacity 3.5 HDD v5 Review. Retrieved on
10 March from http://www.tomsitpro.com/articles/seagate-8tb-enterprise-capacity-3.5-

Alcorn, P. (2016). HGST Introduces First 10 TB HDD, As HDD Density Reaches New
Heights. Retrieved on 10 March from http://www.tomsitpro.com/articles/hgst-10-tb-hdd-

What is Shared Memory. Retrieved on 11 March from


Marshall. D. (1999). IPC: Shared Memory. Retrieved on 11 March from


Wikipedia. Shared Memory. Retrieved on 11 March 2016 from


El-Rewini, Hesham; Abd-El-Barr, Mostafa (2005). Advanced Computer Architecture and
Parallel Processing. Wiley-Interscience.

Wikipedia. Distributed Memory. Retrieved on 11 March 2016 from


Stallings, W. (2013). Computer Organization and Architecture: Designing for

Performance, 9th ed.

Wikipedia. SISD. Retrieved on 13 March from https://en.wikipedia.org/wiki/SISD

Quinn, Michael J. (2004) Chapter 2: Parallel Architectures, Parallel Programming in C

with MPI and OpenMP.

Wikipedia. Flynns Taxonomy. Retrieved on 13 March from


Tommesani, S. (2010). Programming Models. Retrieved on 13 March from


Wikipedia. MISD. Retrieved on 13 March from https://en.wikipedia.org/wiki/MISD

Michael J. Flynn, Kevin W. Rudd (1996). Parallel Architectures CRC Press.

Wikipedia. MIMD. Retrieved on 13 March from https://en.wikipedia.org/wiki/MIMD

Parallel Processing | SISD,SIMD,MIMD,MISD

Parallel Processing | SISD, SIMD, MIMD, MISD. Retrieved on 13 March from