Elements Assignment
Elements Assignment
Third Generation: • Duration: 1965-1975 • Technology: IC chip o Smaller in size than 1st & 2nd generation
computers.
o High level languages like COBOL & FORTAN are allowed to write programs.
o Generate less heat & consumed less power than 2nd generation computer.
o Smaller in size.
o Easy to configure.
o NO requirement of air-conditioners.
o Cheapest in price.
o Based on the ULSI chip which contains 100 million electronic components.
Introduction: Memory hierarchy in computer systems is a critical architectural concept that organizes various
types of memory in a structured manner to optimize the performance of the system. The idea is to store data in
a way that balances speed, capacity, and cost, ensuring that the most frequently accessed data is readily
available while minimizing the time it takes to access less frequently used data.
The memory hierarchy consists of several levels, ranging from the fastest, smallest, and most expensive to the
slowest, largest, and least costly. The primary levels are as follows:
1. Registers:
2. Cache Memory:
o Level 1 (L1) Cache: Fastest and smallest cache, located on the CPU itself.
o Level 2 (L2) Cache: Larger and slower than L1, often shared by multiple CPU cores.
o Level 3 (L3) Cache: Even larger but slower than L2, shared across all cores in a multi-core
processor.
o Role: Cache memory stores frequently accessed data and instructions. The purpose of cache
is to reduce the time the CPU needs to wait for data from slower memory (RAM or secondary
storage). It operates based on the principles of temporal locality (recently accessed data) and
spatial locality (data near recently accessed locations).
o Role: RAM stores the operating system, active programs, and data that are currently in use.
RAM is volatile, meaning that it loses data when the computer is turned off. Although slower
than cache memory, RAM provides larger storage for active data.
o Role: Secondary storage devices like Hard Disk Drives (HDDs) and Solid-State Drives (SSDs)
provide long-term data storage. They are slower but offer significant storage capacity and retain
data even when the power is off. They store programs, files, and other data that are not
currently being used by the CPU.
o Role: Tertiary storage includes devices like optical discs, magnetic tape drives, and cloud
storage. These are used for data that is rarely accessed but must be preserved for long-term
storage.
1. Temporal Locality: Refers to the tendency of a program to access the same data or instructions
repeatedly in a short period. Caches store recently used data to take advantage of this behavior.
2. Spatial Locality: Refers to the tendency of a program to access data that is near other data recently
used. Memory systems, including caches, often load blocks of nearby data to exploit spatial locality.
Importance of Memory Hierarchy:
The primary goal of the memory hierarchy is to ensure that the CPU has fast access to the data it needs without
being bottlenecked by slow memory. By using a hierarchy of different types of memory:
• Speed is optimized by ensuring that frequently accessed data is stored in the fastest memory (registers
and cache).
• Cost is controlled by using expensive, high-speed memory only in small amounts at the top levels,
while cheaper, larger memory is used in lower levels.
• Capacity is maximized by providing large storage in slower memory levels (RAM, secondary storage)
while keeping the most critical data close to the CPU in the faster levels.
To efficiently manage the data across various memory levels, modern processors use techniques such as:
• Caching: Frequently used data is stored in the faster levels (L1, L2, L3 cache) to minimize the time
spent accessing slower memory.
• Prefetching: The system predicts which data will be needed next and loads it into cache before it is
requested.
• Paging and Virtual Memory: Virtual memory allows the operating system to use secondary storage as
an extension of RAM, handling larger datasets than the physical memory can accommodate.
• Cache Coherency: In multi-core processors, cache coherency protocols ensure that all cores have
consistent views of shared data in cache.
Computer Software:
Software is a collection of instructions, procedures, and documentation that performs different tasks on a
computer system. we can say also Computer Software is a programming code executed on a computer
processor. The code can be machine-level code or the code written for an operating system. Examples of
software are Ms Word, Excel, PowerPoint, Google Chrome, Photoshop, MySQL, etc.
Difference Between Hardware and Software:
Stage 2: Design
Stage 4: Testing
Stage 5: Deployment
Stage 6: Maintenance
In this stage, teams should collect all relevant information from the client. They use this information to develop
the product, ensuring that they meet client expectations. Typically, the business analysts and project
managers meet with the client to gather information.
➢ The end-user
➢ The purpose
Once they’ve gathered and understood the information, they should produce the software requirement
specification (SDS) document. From there, the software development team should receive this document and
ask any questions. They will then pass on the document to the client. This way, the client can verify that the
project is well-understood by the team and can hold on to the document for future reference.
Stage 2: Design
At this point, the requirements from the SRS document are referenced to create the software architecture. The
project manager will decide on the approach that the team will take and outline a pricing model.
This phase begins after the developer receives the design document. At this point, the design is translated into
source code. This is when software developers go in and implement the code.
Stage 4: Testing
Once the development team has started coding, they release modules. These modules are then rigorously
tested. Issues and bugs are detected, and software developers are assigned areas to test. Testers reference
the SRS document to confirm that the software matches client expectations. This process continues until the
software is perfected.
Stage 5: Deployment
At this point, the software is deployed into production. In some cases, the client may request that the software
goes through user acceptance testing (UAT). Regardless of whether the client elects UAT, they will decide
whether the software meets their expectations in this step.
Stage 6: Maintenance
Following production, the development team will maintain the product. Sometimes, issues might arise during
testing. At this point, the software developers can fix these issues. In some cases, a client might request
additional features, which can be added as enhancements during this phase.
5. Describe the Waterfall Model
ANS:
Waterfall Model
In the 1970s, the Waterfall model, also known as the linear sequential model, was created. This model focuses
on an organized approach to project management.
This methodology focuses on receiving clear requirements from clients and stakeholders so that the
development team can best accommodate their requests. It requires clear milestones and explanations for
team members from clients. Before the development team can move on to another
➢ Requirement analysis
➢ System design
➢ Implementation
➢ Testing
➢ Deployment
➢ Maintenance Pros
➢ Phases: The Waterfall method has clear phases for development teams to follow.
➢ Manageable: Because each phase is so clearly defined, the project is easily manageable. Cons
➢ Time-consuming: Teams cannot move to another step until the previous phase has been completed.
➢ Not adaptable: This project cannot be used for projects with nonspecific requirements. Clients must be
incredibly clear with their requirements for this model to work.
➢ Not for short-term projects: Because of the nature of the phases, this model may not work well for projects
that are short in duration.