Professional Documents
Culture Documents
2017 Marking Micro 3
2017 Marking Micro 3
3. Define CPI.
Clocks per Instruction. Instruction-level parallelism. Without instruction-level parallelism,
simple instructions take 4 or more cycles to execute. Instructions execute loops take at least one
clock per loop iteration.
𝑇𝑇𝑇𝑇
𝑆𝑆 =
𝑇𝑇𝑇𝑇
𝑛𝑛𝑛𝑛𝑛𝑛
𝑆𝑆 =
(𝑘𝑘 + 𝑛𝑛 − 1)𝑇𝑇𝑇𝑇
The efficiency is defined as the percentage of time when processor are busy over total time
taken.
𝑛𝑛
𝜂𝜂 =
[𝑘𝑘 + 𝑛𝑛 − 1]
1
3. A non-pipeline system takes 60 ns to process a task. The same task can be processed in six
stages pipeline with a clock cycle of 10 ns. Determine the speedup ratio of the pipeline for 100
tasks. What is the maximum speed up that can be achieved?
Time
1 2 3 4 5 6 7 8 9 10 11 12 13
Instruction 1
Instruction 2
Instruction 3
Instruction 4
Instruction 5
Instruction 6
Instruction 7
Instruction 8
Instruction 9
Instruction 10
2
5. Draw a 4 stage pipelining.
5. Considering above CPI has 1.5nS clock cycles. Calculate the CPI and maximum
Throughput.
𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 𝑜𝑜𝑜𝑜 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐
𝐶𝐶𝐶𝐶𝐶𝐶 =
𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛𝑛 𝑜𝑜𝑜𝑜 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒
3
CISC (Complex Instruction Set Computer)
These instructions are complicated combination instructions such as loops. “High level”
Instruction Set -Executes several “low level operations”
Ex: load, arithmetic operation, memory store
• Instructions can operate directly on memory
• Small number of general purpose registers
• Instructions take multiple clocks to execute
• Few lines of code per operation
6. What are the hazards in pipelining design and give solutions for avoid them?
Hazards reduced the performance from the ideal speedup gained by pipelining. Disrupt the
smooth execution of the pipeline. They may give wrong result. Three types of hazards.
• Structural hazards
Arise from resource conflicts when the hardware can’t support all possible combinations
of overlapping instructions. Due to hardware conflicts.
• Data hazards
Attempt to use data before it is ready.
• Control hazards
Change in flow of statement like branch, jump, or any other control flow changes
conditions.
• Exception hazard
Due to some exception or interrupt occurred.
Solutions
Increase available resources
• Multiple main memory port
• Multiple ALUs
4
Disadvantages
• It has limitations on the size of data
• Most microprocessor does not support floating-point operations.
• Overheating physically
• Not bit addressable
5
12. CPU block diagram
𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡
𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 =
𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁 𝑜𝑜𝑜𝑜 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓
6
16. Define failure rate.
The inverse of MTTF is known as failure rate (λ).
1
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝑟𝑟𝑟𝑟𝑟𝑟𝑟𝑟 (𝜆𝜆) =
𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀
Multi-user
Allows two or more users to run programs at the same time. Some operating systems permit
hundreds or even thousands of concurrent users.
Distributed
A distributed operating system manages a group of distinct computers and makes them appear to
be a single computer. Supports running a program on more than one CPU.
Multitasking
Allows more than one program to run concurrently.
Templated
Distributed and cloud computing in an OS. Distributed and cloud computing context, templating
In an OS, distributed and cloud computing context, templating refers to creating a single virtual
machine image In an OS.
7
Embedded
Embedded operating systems are designed to be used in embedded computer systems. They are
designed to operate on small machines like PDAs with less autonomy.
Real time
Responds to input instantly. General-purpose operating systems, such as DOS and UNIX, are not
real-time.
Library
A library operating system is one in which the services that a typical operating system provides,
such as networking, are provided in the form of libraries and composed with the application and
configuration code to construct a uni-kernel.
Debugger
A debugger is a computer program used by programmers to test and debug a target program.
Debuggers may use instruction-set simulators, rather than running a program directly on the
processor to achieve a higher level of control over its execution.
Linker
A linker is a computer program that takes one or more object files generated by a compiler and
combines them into one, executable program. The linker combines separately-compiled object
files using symbols into a single, unified program.
Compiler
A compiler is a software program that transforms high-level source code that is written by a
developer in a high-level programming language into a low level object code (binary code) in
machine language, which can be understood by the processor.
Assembler
An assembler is a type of computer program that interprets software programs written in
assembly language into machine language, code and instructions that can be executed by a
computer.
8
• SPLD (Simple Programmable Logic Devices)
o ROM (Read Only Memory)
o PLA (Programmable Logic Array)
o PAL (Programmable Array Logic)
o GAL (Generic Array Logic)
• CPLD (Complex Programmable Logic Array)
• FPGA (Field Programmable Logic Array)
Advantages of PLD
• Faster and reduces the time required to bring a product to market.
• Require fewer components and this reduces PCB, assembly, test and repair costs.
• Design checking is easy, and design change is also easy.
• Reduction in power requirement.
A file system is a process that manages how and where data on a storage disk, typically a hard
disk drive (HDD), is stored, accessed and managed. It typically manages operations, such as
storage management, file naming, directories/folders, metadata, access rules and privileges.
9
File Allocation Table (FAT)
FAT is file system used in hard drives with 12 or 16 bits for each cluster entry into file allocation
table. It is used by the OS to manage files on hard drives. The FAT file system is supported by
nearly all Oss. It reduce the amount of seeking.
FAT32 has a 32-bit cluster address with 28 bits used to hold the cluster number for up to
approximately 268 million clusters.
10