You are on page 1of 18
FAKULTI SAINS KOMPUTER DAN TEKNOLOGI MAKLUMAT JABATAN TEKNOLOGI KOMUNIKASI DAN RANGKAIAN ASSIGNMENT 1 SEMESTER II 20015/2016

FAKULTI SAINS KOMPUTER DAN TEKNOLOGI MAKLUMAT JABATAN TEKNOLOGI KOMUNIKASI DAN RANGKAIAN

ASSIGNMENT 1 SEMESTER II 20015/2016

COURSE

: COAL (COMPUTER ORGANISATION AND ASSEMBLY LANGUAGE)

COURSE CODE

: SSK3207

LECTURER

:

DR. ROHAYA LATIP

NAME

: MUHAMMAD HAFIZUL HAZMI BIN WAHAB

MATRIC NO

: 184611

DUE DATE

: 18 MARCH 2016

DUE TIME

: 12 A.M.

TABLE OF CONTENTS

PAGE

  • 1. Introduction

1

  • 2. Turn-it-in’s Report

2

  • 3. Cache Memory

 
  • a. Ideal Size for Cache Memory

3

  • 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

5

  • b. How Does External Memory Works?

6

7

  • 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)

10-11

  • 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

INTRODUCTION

This is my first assignment for SSK3207(COAL) during my second semester of 2015/2016-2. In this assignment I’m trusted to carry out self-centered learning activity with some specific questions specified by my beloved lecturer, Dr. Rohaya Latip. In this assignment I’m 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, I’m 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, I’ve to search the internet for open articles written from any scholars. Academic books are also included in this assignments. So as a diligence student I’ve 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, I’ve to comply to this course’s requirements.

TURNITIN

TURNITIN 2

CACHE IDEAL SIZE FOR CACHE MEMORY

Nowadays CPUs have 2MB, 4MB, 6MB and 8MB memory cache, the question is what’s 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.

HOW DOES CACHE MEMORY WORKS?

According to Rouse, M., when a CPU processes data it first looks (read) the cache memory, if it finds the instruction there it doesn’t 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 doesn’t 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 it’s 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.

INTERNAL MEMORY (RAM) IDEAL SIZE FOR INTERNAL MEMORY

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. Let’s say if you’re 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 don’t 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 won’t 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 can’t 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 story).

HOW DOES INTERNAL MEMORY WORKS?

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 isn’t 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 doesn’t 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 IDEAL SIZE FOR EXTERNAL MEMORY

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 that’s 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 OS’s 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, don’t you think?

HOW DOES EXTERNAL MEMORY WORKS?

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 don’t 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).

ADVANTAGES AND DISADVANTAGES OF MEMORY TYPE(S)

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 it’s 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 user’s needs if one of the memory is broken. Therefore, I stand my claim saying that there’s 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.

LATEST MODEL OF EACH MEMORY TYPE(S)

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. 6 th 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 don’t 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 doesn’t 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 21 st 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 doesn’t 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 I’d stop here.

MOTIVATION, ARCHITECTURE, ADVANTAGES AND DISADVANTAGES OF SMP, NUMA AND CLUSTERS

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 that’s 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 let’s get to that. NUMA is being researched for sometimes to create a better architecture than SMP since the processor limitation in SMP that’s 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.

MULTIPROCESSOR ORGANISATION

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 Flynn’s taxonomy according to Wikipedia. It’s 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 that’s 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.

CONCLUSION

In the nutshell, this by doing this assignment I’m 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 I’m 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 I’ve 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 I’m able to read more about subtopics that I’ve 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 computer’s 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, I’m thankful to able to finish this assignment by my own words and I really hope I’m able to achieve my main goal in pursuing this course. Which is knowledge that benefits me and others.

REFERENCES

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- to-improved-performance

Nathan, N. Sadler and Daniel, J. Sorin (2006). Choosing an Error Protection Scheme for a Microprocessor’s 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 August".

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. Flynn’s 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.

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