Computer architecture mid-term

Ace your homework & exams now with Quizwiz!

20. What do we mean when we say that a sequential circuit is edge triggered rather than level triggered?

Flip-flops may sometimes be called latches but the guiding difference between the two is that while flip-flops are edge-triggered, latches are level-triggered. Edge-triggered means that the state of the device changes during the transition from one level to another. Level-triggered, on the other hand, changes the state of the device after the levels have transitioned.

4. Explain how base 2, base 8, and base 16 are related.

Consider the given base digits; base 2 means it represents the binary number, base 8 represents the octal number and base 16 represents the hexadecimal number.

Convert 0011 to decimal and hexadecimal

3,3

20. Why is address alignment important?

Importance of Address Alignment The issue of alignment arises if architecture is byte addressable but the instruction set architecture word is larger than one byte.

10. Show that x = xy + xy′ b) Using Boolean identities

b) Distributive = xy + xy' = x(y + y') Inverse = x(1) Identity = x

Convert 1111 to decimal and hexadecimal

15,F

Convert 1101 to decimal and hexadecimal

13,D

Convert 0100 to decimal and hexadecimal

4,4

State Moore's Law

The density of silicon chips doubles every 18 months

What is an ISA?

Instruction Set Architecture

Convert 0110 to decimal and hexadecimal

6,6

Convert 1000 to decimal and hexadecimal

8,8

Convert 1110 to decimal and hexadecimal

14,E

22. The truth table for a Boolean expression is shown below. Write the Boolean expression in sum-of-products form. x I y I z I F 0001 0010 0101 0110 1000 1011 1101 1111

22. F(x,y,z) = x'y'z' + x'yz' + xy'z + xyz' + xyz

10. What is a bus cycle?

The time between two ticks of the bus clock is called as bus cycle.

5. What is a radix?

A base

i) There are ____ bytes in a megabyte

1,000,000

32. Explain the steps of the fetch-decode-execute cycle.

1. Fetch: The CPU first fetches an instruction by transferring it from main memory to the instruction register. 2. Decode: Decodes the instruction by determining the opcode and accordingly fetching necessary data for carrying out the operation. 3. Execute: Finally executes the instruction by performing the operation(s) indicated by the instruction.

Convert 1010 to decimal and hexadecimal

10,A

Convert 1011 to decimal and hexadecimal

11,B

Convert 0010 to decimal and hexadecimal

2,2

Convert 0111 to decimal and hexadecimal

7,7

37. Explain the difference between hardwired control and microprogrammed control.

Hardwired Control: The control lines are directly connected to the actual machine instructions in this type of control. The instructions are divided into fields such as opcode and address in the case of MARIE. Each field comprises of bits which are directly linked to control lines that trigger various digital components. Microprogrammed Control: Software consisting of microinstructions which, in turn, carry out an instruction's micro operations is employed by this type of control.

3. Which Boolean operation is referred to as a Boolean sum?

Hence, we can see from the truth table, that the output is actually a sum of the inputs. This is why the OR operator is known as the sum function.

TRUE OR FALSE 6. MARIE has a common bus scheme, which means a number of entities share the bus.

Machine Architecture that is Really Intuitive and Easy (MARIE) MARIE is a common bus and is shared by multiple devices. It cannot transfer any information without a bus. Bus connected multiple devices with a unique identifying number. Hence, the given statement is True.

15. How do system clocks and bus clocks differ?

Main difference between system clocks and bus clocks as follows: • The system clock regulates the CPU and other components (including the buses). There are however, some bus clocks which regulate themselves or, in other words, function according to their own clocks. Bus clocks are generally slower than system clocks. This difference in pace often cause's bottlenecks.

23. How does a maskable interrupt differ from a nonmaskable interrupt?

Maskable interrupts are those that can be disabled or ignored since they are normally of a lower priority. Unmaskable interrupts, on the other hand, cannot be ignored since they are critical and of a higher priority.

7. What is the relationship between transistors and gates?

The Boolean expression is ultimately implemented by means of logical gates which are electronic devices. While the output of these devices gives us the desired result of the logical operations, it is the transistors which comprise the hardware that realize these functions. A number of transistors are put together and connected in a particular way function as a compact, well-defined unit called a gate to give the desired output for a given set of inputs.

8. What is the difference between a gate and a circuit?

The Boolean expression is ultimately implemented by means of logical gates which are electronic devices. While the output of these devices gives us the desired result of the logical operations, it is the transistors which comprise the hardware that realize these functions. A number of transistors are put together and connected in a particular way to function as a compact, well-defined unit called a gate to give the desired output for a given set of inputs. In order to implement a computer program, we would need a series of such logical gates connected in series or in parallel. Such a network of gates is called a digital circuit. These circuits are able to perform complex arithmetic calculations through various combinations of connections among the gates.

8. Why is a bus protocol important?

The bus can sometimes connect multiple devices interacting with each other thereby acting as a common pathway. In this scenario, the bus is shared. In order to coordinate the sharing of the bus, the bus protocol is essential.

4. Where are registers located, and what are the different types?

Types of register: The basic functions performing registers are Accumulator, general purpose, status and the pointer. Each register performs specific functions. The most important CPU registers are, • Memory Address Register (MAR) • Memory Buffer Register (MBR) • I/O Address Register (I/O AR) • I/O Buffer Register (I/O BR) • Program Counter (PC) • Instruction Register (IR) • Accumulator Register (AC) • Stack Control Register (SCR) • Flag Register (FR) • Data Register (DR)

54. Complete the truth table for the following sequential circuit: https://www.chegg.com/homework-help/complete-truth-table-following-sequential-circuit-chapter-3-problem-54e-solution-9781284045611-exc

X I Y I Z I S IQ 00000 00110 01010 01101 10010 10101 11001 11111

5. How many bits are required to address a 4M × 16 main memory if a) main memory is byte addressable? b) main memory is word addressable?

a) If the memory is byte addressable, then W=8, correspondingly. To determine the number of bits required to access each byte, we now find log2 = log2= 23 Hence require 23 bits for the memory to be byte addressable. b) If the memory is word (16bits) addressable, then W=16, correspondingly .To determine the number of bits required to access each byte, we now find log2= log2= 22 Hence require 22 bits for the memory to be word (16bits) addressable

33. Draw the combinational circuit that directly implements the Boolean expression: F(x,y,z) = xyz + (y′ + z)

https://www.chegg.com/homework-help/questions-and-answers/33-draw-combinational-circuit-directly-implements-boolean-expression-f-x-y-z-xyz-y-z-36-fi-q10584645

10. Show that x = xy + xy′ a) Using truth tables

x I y I xy I xy' I xy + xy' 00000 01000 10011 11101

36. Find the truth table that describes the following circuit: https://www.chegg.com/homework-help/questions-and-answers/33-draw-combinational-circuit-directly-implements-boolean-expression-f-x-y-z-xyz-y-z-36-fi-q10584645

x I y I z I F 0001 0011 0101 0111 1000 1011 1100 1111

2. Construct a truth table for the following: b) (x + y′)(x′ + z′)(y′ + z′)

x I y I z I x+y' I x'+z' I y'+z' I Product 0001111 0011111 0100110 0110100 1001111 1011010 1101111 1111000

17. Explain the difference between memory-mapped I/O and instruction-based I/O.

• Memory-mapped I/O: In this format, the registers in the interface appear in the computer's memory map and there is no real difference between accessing memory and accessing the I/O device. The advantage is that it's fast but it takes up far too much memory space. • Instruction-base I/O: Dedicated instructions perform the input and output functions in this format. This format requires specific I/O instructions, although this does not take up memory space. This implies it can be used only by CPU's that can execute these specific instructions. Notifying the CPU that input or output is available for use is the major significance of such instructions.

25. Explain the functions of all of MARIE's registers.

• PC (program counter): It holds the address of the next instruction to be executed in the program or it holds the address of the next instructions be executed in the program. • IR: (instruction register): It holds the next instruction to be executed. • InREG (input register): It holds data from the input device. • OutREG (output register): It holds data for the output device.

Convert 1100 to decimal and hexadecimal

12,C

40. How does Intel's architecture differ from MIPS?

Intel's Architecture versus MIPS There are two contemporary computer architectures that basically define the guiding philosophies behind those in use today. Though these philosophies are similar in some aspects, they are fundamentally different. They are the complex instruction set computer (CISC) and reduced instruction set computer (RISC). The Intel x86 architectures is examples of the former, while the MIPS of the latter.

60. Would you recommend a synchronous bus or an asynchronous bus for use between the CPU and the memory? Explain your answer.

Synchronous buses are clocked, and instructions are executed only at the clock ticks. Every device is synchronized by the rate at which the clock ticks (Clock rate). The bus cycle time is the reciprocal of this clock rate. Since the clocks controls the transactions, any clock skew has the potential to cause problems. The bus must hence be kept as short as possible so the skew is minimized. Further, the bus cycle time must not be shorter than the length of time it takes information to traverse the bus. With asynchronous buses, on the other hand, control lines coordinate the operations, and a handshaking protocol is employed to effect the timing. The advantage of the use of a protocol based bus over a clock based is that they scale better with technology and can support a wider variety of devices. One reason for choosing an asynchronous over a synchronous bus would be its primary advantage in terms of technological scalability. Another reason would be that since the memory lies away from the CPU, the bus connecting the two would need to be significantly long. But since the length of bus impacts the overall performance and integrity of synchronous communication, it would not be a feasible option. Hence, an asynchronous bus would be preferred to connect the CPU with memory.

TRUE OR FALSE 1. If a computer uses hardwired control, the microprogram determines the instruction set for the machine. This instruction set can never be changed unless the architecture is redesigned.

The microprogram is a special program that converts the machine instructions of 0s and 1s into control signals. This program exists on in a microprogrammed control and not in a hardwired control. The hardwired control is composed of three essential components: instruction decoder, cycle counter and control matrix. It is this set of components that determines the instruction set. In order to add, delete or modify the instruction set, the architecture would need to be redesigned. Hence, the statement is False.

18. What is the difference between a byte and a word? What distinguishes each?

• A byte contains 8 bits and hence can store up to 28 different values. • A word is a collection of bytes and hence the length of a word would be in multiples of 8 bits.

9. Which one of the four representations for signed integers is used most often by digital computer systems?

The system binary (base 2) it is the most currently used by digital systems.

3. Why are binary and decimal called positional numbering systems?

They are called positional numbering systems because each position represents a power of 10 (base)

Explain the difference between SSI, MSI, LSI, and VLSI

They each represent a different number of components fitted into a standard size integrated circuit

66. Suppose we want an error-correcting code that will allow all single-bit errors to be corrected for memory words of length 10. a) How many parity bits are necessary? b) Assuming we are using the Hamming algorithm presented in this chapter to design our error-correcting code, find the code word to represent the 10-bit information word: 1 0 0 1 1 0 0 1 1 0.

a) m + r + 1 ≤ 2r 10 + r + 1 ≤ 2r 11 + r ≤ 2r r = 4 b) 1001100110 = 1/14 0/13 0/12 1/11 1/10 0/9 [1]/8 0/7 ⅙ ⅕ ¼ 0/3 [0]/2 [0]/1 Parity bit 1 (which checks 1,3,5,7,9,11 and 13) = 0 Parity bit 2 (which checks 2,3,6,7,10,11 and 14) = 0 Parity bit 3 (which checks 4,5,6,7,12,13 and 14) = 1 Parity bit 4 (which checks 8,9,10,11,12,13,14) = 1 0011

To what power of 10 does the prefix giga- refer? What is the (approximate) equivalent power to 2?

1 Billion = 10^9 = 2^30

Perform the following base conversions using subtraction or division-remainder: b) 225410 = ________ 5

2254/5 = 450 R: 4, 450/5 = 90 R: 0, 90/5 = 18 R: 0, 18/5 = 3 R: 3, ⅗ = 0 R: 3 Base 5 conversion = 33004

Convert the following decimal fractions to binary with a maximum of six places to the right of the binary point: a) 25.84375

25.84375 x 2 = 1.6875, 0.6875 x 2 = 1.375, 0.375 x 2 = 0.75, 0.75 x 2 = 1.5, 0.5 x 2 = 1 Binary conversion = 11001.11011

Convert the following decimal fractions to binary with a maximum of six places to the right of the binary point: c) 80.90625

80.90625 x 2 = 1.8125, 0.8125 x 2 = 1.625, 0.625 x 2 = 1.25, 0.25 x 2 = 0.50, 0.50 x 2 = 1 Binary conversion = 1010000.11101

Name three basic components of every computer.

Hard drive, motherboard, and RAM

What is meant by parallel computing?

If a computer isn't fast enough or powerful enough, instead of trying to develop a faster, more powerful computer, why not simply use multiple computers?

What makes Watson so different from traditional computers?

It is a technology platform that uses natural language processing and machine learning to reveal insights from large amounts of unstructured data

32. How is the number of redundant bits necessary for code related to the number of data bits?

Redundant bits Some kind of redundancy is introduced in the system in order to get better reliability. The redundancy comes in the form of extra bits introduced into the data. It means that whatever data is being sent, some extra bits are added specifically for the purpose of error detection and correction. If the original word consists of m bits and r redundant bits are added to it, then, the final word n is called a code word. n=m+r Error detection and correction bits are actually redundancy bits. They are not original part of the data, and they are extra bits. Error detection is never 100% reliable. The larger EDC (error detection and correction) fields yield better detection and correction. If you put larger redundancy you have better error detection and correction.

21. In the context of digital circuits, what is feedback?

'Feedback' is a concept used in circuits where the output of a circuit should fed back as input to the same circuit. The sequential circuits usually rely on feedback concept to implement chain and operate, in which the output is taken as input and processed and again the output produced is input to next state. This is simple form of feedback is used for remembering the past state of circuit. The simple feedback circuit can be constructed using two NOT gates, which is not so useful in circuit operations but used to understand how feedback works. An SR flip-flop can also be constructed using two NOR gates. A feedback in digital circuit context can be used in any of the following ways: • It can be negative feedback also, which is used to control or regulate the opposing changes in output. • It is used as feedback signal which is used to convey the information fed from input that affects the system. • It is used as feedback loop which is a closed path made and the path transmits the feedback from the origin to destination.

13. What are the four types of bus arbitration?

1) Daisy Chain arbitration: 2) Centralized Parallel arbitration: 3) Distributed arbitration using self-selection: 4) Distributed arbitration using collision detection:

14. What are the necessary steps one must take when designing a logic circuit from a description of the problem?

1. Defining problem: 2. Finding number of inputs and outputs: 3. Constructing Truth Table: 4. Construction of Logic gates: 5. Implementation:

21. List and explain the two types of memory interleaving and the differences between them.

1. low-ordered interleaving: The low-order bits of the address are used to select the bank. Low-order interleaved memory places consecutive addresses of memory in different memory modules. The right-most bits are used to determine the module while the left-most select the offset within the module. Hence, in the case that we have a byte-addressable memory consisting of 8 modules of 2 bytes each, hence totally 16 bytes of memory, they would be arranged as follows: 2. high-order interleaving: The high-order bits of the address are used. This type of interleaving distributes the addresses so that each module contains consecutive addresses. In this case, the leftmost bits select the module while the right-most selects the offset within the module. Hence, in the case that we have a byte-addressable memory consisting of 8 modules of 2 bytes each, hence totally 16 bytes of memory, they would be arranged as follows:

TRUE OR FALSE 10. If memory is 16-way interleaved, it means memory is implemented using 4 banks (because 24 = 16).

2. False If the memory is 16 - way interleaved, this means that it is implemented using sixteen banks, numbered 0 through 15 Each bank will deliver a word that is the size of the memory addressable unit.

32. Design a circuit with three inputs x, y, and z representing the bits in a binary number, and three outputs (a, b, and c) also representing bits in a binary number. When the input is 0, 1, 6, or 7, the binary output will be the complement of the input. When the binary input is 2, 3, 4, or 5, the output is the input shifted left with rotate. (For example, 3 = 0112 outputs 110; 4 = 1002 outputs 001.) Show your truth table, all computations for simplification, and the final circuit.

32. Decimal I x I y I z I A I B I C 0000111 1001110 2010100 3011110 4100001 5101011 6110001 7111000 A = x'y'z' + x'y'z + x'yz' + x'yz = x'y'(z + z')+ x'y(z' + z) = x'y + xy' = x'(y + y') = x' B = x'y'z' + x'y'z + x'yz + xy'z = x'y'(z' + z) + z(x'y + xy') = x'y' + x'z + y'z C = x'y'z' + xy'z' + xy'z + xyz' = y'z'(x' + x) + x(y'z + yz') = y'z' + x(y'z + yz') = y'z' + xz' +xy'

4. Using DeMorgan's Law, write an expression for the complement of F if F(x,y,z) = (x′ + y)(x + z)(y′ + z)′.

4. F(x,y,z) = (x' + y)(x + z)(y' + z)' F'(x,y,z) = (x' + y)'(x + z)'(y' + z) = (x + y')(x' + z')(y' + z) F(x,y,z) = (x' + y)(x + z)(y' + z)' F'(x,y,z) = ((x' + y)(x + z)(y' + z)')' = (x' + y)'+(x+z)'+(y'+z)" = xy' + x'z' + (y' + z)

Convert 0101 to decimal and hexadecimal

5,5

Convert 1001 to decimal and hexadecimal

9,9

11. Describe the basic construction of a digital logic chip.

A permanent etching is performed on the chip which is actually a flat base to hold a collection of the various electronic components such as capacitors, resistors and transistors etc. A plastic or ceramic container is then mounted on the chip. There are external chips present on this container to which the connections from the chip are finally welded to form an integrated circuit.

7. What is the difference between a point-to-point bus and a multipoint bus?

A set of wires connecting multiple subsystems within the system is called a bus. Two specific components can be connected by a point-to-point bus. A dedicated connection between the two can be offered. Thus it is faster, but more expensive. The bus can also connect multiple devices interacting with each other. This is a common pathway that. The bus is shared in this case. This is also referred a multipoint bus. This type of connection is no doubt cost-efficient but could give a lower performance.

6. Why is a bus often a communications bottleneck?

A shared but common datapath connecting multiple subsystems within the system is called a bus. There are multiple lines which allow the parallel movement of bits. But only one device may use the bus at any given point in time. The sharing of the bus among the devices could lead to bottlenecks. The length of the bus, coupled with the number of devices sharing it, affect its speed.

33. How does interrupt-driven I/O work?

Any peripheral on the system including I/O devices, memory and hard drive can generate hardware interrupts. Traps or exceptions by the various software applications can generate software interrupts. Interrupt handlers support both software and hardware interrupts.

34. Explain how an assembler works, including how it generates the symbol table, what it does with source and object code, and how it handles labels.

Assembler Converting assembly language into machine language which can be immediately interpreted by the compiler is the assembler's primary function. The symbolic representation of the programmer is converted into binary instructions in this case. The assembler accepts input in the form of assembly code and the produces and output as the object file (machine code).

TRUE OR FALSE 4. A two-pass assembler generally creates a symbol table during the first pass and finishes the complete translation from assembly language to machine instructions on the second.

Assembler The basic function of an assembler is to convert assembly language into machine language. Assemblers take as input a programmer's assembly program (a symbolic representation of binary numbers) and convert it into a binary form which is understood by the machine. Hence, the given statement is True.

1. The word bit is a contraction for what two words?

Binary digit

4. Create truth tables for the Boolean operators OR, AND, and NOT.

Boolean algebra employs the use of operations on Boolean variables to obtain desired results. A Boolean expression is a combination of the Boolean variables and the operators. The Boolean expression in combination with the result produced is termed as a Boolean Function. AND, OR and NOT are the three most commonly used operators. A plus "" symbol is how the OR operator is represented. Suppose we have two Boolean variables A and B, the OR operation on these variables is represented as . A truth table consists of all the possible input combinations and their output for a given Boolean Function. The truth table for the OR operator is as follows: A dot "" or simply no symbol at all is how the AND operator is represented. Suppose we have two Boolean variables A and B, the AND operation on these variables is represented as or . A truth table consists of all the possible input combinations and their output for a given Boolean Function. The truth table for the AND operator is as follows: While the AND and the OR operators are binary and need two objects to work with, the NOT operator is unary and requires just one. The NOT operator is denoted by a bar "" above the object. Suppose we have a Boolean variable A, then NOT A operation would be represented as . A truth table consists of all the possible input combinations and their output for a given Boolean Function. The truth table for the NOT operator is as follows: Thus we see the various ways the three major operators work for the various input conditions.

TRUE OR FALSE 2. A branch instruction changes the flow of information by changing the PC.

Branch Instruction The Program Counter (PC) is a register that holds the address of the next instruction to be executed. So, branch instruction changes the flow of data by change the PC. Hence, the given statement is True.

19. Explain the difference between byte addressable and word addressable.

Byte Addressable and Word Addressable Difference between Byte addressable and Word addressable: • Memory is basically a matrix of bits. A bit can store either a 0 or 1. • A byte is composed of 8 bits and hence has a capacity of storing up to 28 different values. • Each individual byte contains a unique address is byte addressable. • A word is a collection of bytes and hence the length of a word would be in multiples of 8 bits. The common size is 32bits (or 4 bytes). • Each word contains its individual address is word addressable.

39. Compare CISC machines to RISC machines.

CISC: This is the guiding philosophy behind the x86 family of Intel architectures. A large number of instructions of variable length with complex layouts are the defining characteristic of CISC machines. For execution of a single instruction, multiple operations are performed by these instructions. Significant bandwidth is taken up with the execution of CISC instructions and this slows down the system to a large extent. RISC: This is the guiding philosophy behind the Pentium architectures. The goal is to decompose instructions to the most basic level possible so they can execute faster. This is despite already having a reduced instruction set. Just one operation of uniform size is performed by an instruction. All arithmetic operations are restricted to register-register type only and variety of layouts is also limited.

12. What is the difference between synchronous buses and nonsynchronous buses?

Difference between Synchronous Buses and Non-synchronous Buses The main difference between synchronous and nonsynchronous buses has specific standards for connectors, timing and signaling specifications and exact protocols for use. • Data is propagated along the synchronous buses. • The system clock controls the buses. A data transfer can only occur only at a tick of the clock, which synchronizes all devices that use the bus. • The system is thus very reliant on the right working of the clock. • Deviations in the performance of clock make the system prone to malfunctioning. These deviations are minimized by keeping the length of the bus minimal. • The limitation on the bus length is that the time taken for information to traverse the bus should be greater than the bus cycle time. • Control lines dictate the functioning in asynchronous buses. • Timing is enforced by means of a detailed handshaking protocol. The protocol basically involves a request followed by servicing of the requested concluded by an acknowledgement that the request has been serviced. • The advantage of the use of a protocol is that they are able to scale better with technology and can hence support a wider variety of devices.

35. What is an embedded system? How does it differ from a regular computer?

Embedded Systems The good thing with embedded systems is not only do they consume less memory but they are quick in response also. Here, the computer is integrated into a device that is typically not a computer. Embedded systems are often found in environments where there are deadlines. They need to be reactive. These systems are much focused. Either a single instruction or a very specific set of instructions are to be performed by them. Examples of embedded systems are witnessed in everyday life: • Automobiles: Automatic door-locks, Engine Control. • Medical Instruments: MRI scanners, heart-rate monitors. • Consumer Electronics: Mobile phones, Tablet computers. • Consumer Products: Dishwashers, Washing Machines. The software used lies at the very heart of any embedded system. Very strict response parameters are set for the operation of a software program.

1. What is the function of a CPU?

Functions of a Central Processing Unit The main task of the Central Processing Unit (CPU) is to retrieve program instructions, understand and decipher them and perform the indicated sequence of operations on the correct data.

10. What are the two universal gates described in this chapter? Why are these universal gates important?

Gates such as the NAND and NOR which is basically (the Complementary result of AND gate) and (the Complementary result of OR gate) are used to realize this. This is due to fact that any circuit can be built using only one of these two types of gates. Any single type of these gates can be used to make the primitive elements AND, OR and NOT gates. These are the primary reasons which declare these two gates are said to be the universal gates. There are two primary advantages to using the same type of gate to build a circuit and it is as follows: • Since the lesser number of gates gets involved, it is cheaper. • In case of complex circuitry, the interconnection would also be a lot simpler.

2. Which Boolean operation is referred to as a Boolean product?

Hence, we can see from the truth table, that the output is actually a product of the inputs. This is why the AND operator is known as the product function.

17. What kind of circuit selects binary information from one of many input lines and directs it to a single output line?

In some cases, however, we would need to select a particular input from a set of inputs. The output thus would need to be dependent on only one from a range of inputs. Selection variables are used to select a particular input line. This is basically done by cutting out the others. One application of multiplexers is for timesharing, where multiple users share the computer on a timeslot allocation basis.

26. What does an algorithmic state machine offer that is not provided by either a Moore or a Mealy machine?

In such a case, the Algorithmic State Machine (ASM) would be preferred. As the name suggests, such machines can accommodate information as held by an algorithm to transition the FSM from one state to the next. Whereas the Moore and Mealy Machines are made up of circles, the algorithmic state machine is made up of blocks. Each block necessarily contains a state box and a label. Additionally, it can also contain condition and output boxes. The entry point to a block is single, while exit points may be multiple. Outputs that resemble those of a Moore Machine are represented in the State Box while those resembling Mealy machines are indicated in the oval output boxes. High signals are denoted by H while low signals are denoted L. The diagrammatic representation of the components of an Algorithmic State Machine are shown as below:

1. Why is an understanding of Boolean algebra important to computer scientists?

In the case of objects which can only take one of two values: true or false, Boolean algebra can be used to manipulate them. Boolean algebra thus comes across as a very natural means of communication since holding definite values "on" or "off" are how computer switches work. These values are mostly realized by means of low and high voltages. The low voltage generally denotes false while the high true. The importance of the binary algebra thus lies in its simplicity and it's ability to convey information in a tacit yet precise manner.

How does a machine language differ from an assembly language? Is the conversion one-to-one (one assembly instruction equals one machine instruction)?

In the instruction set of MARIE as we see, each instruction has an equivalent 4 bit opcode. This opcode is the machine instruction, while the corresponding mnemonics are the assembly language instructions. Further, there is a direct 1-to-1 mapping between each opcode and its corresponding assembly language mnemonic, so there is no ambiguity involved.

16. What is the function of an I/O interface?

Input and output (I/O) devices enable users to communicate with the computer system. I/O is basically the transfer of data between primary memory and various I/O peripheral devices. It is important to note that these devices are not connected directly to the CPU. Every system possesses an I/O interface which handles the data transfers. This interface the system bus signals are converted to and from a format that is acceptable to the given device by this interface. I/O registers are intermediary storage devices used by the CPU to communicate with the I/O devices.

22. Describe how an interrupt works, and name four different types.

Interrupts Interrupts are basically events that alter (or interrupt) the normal flow of execution in the system. An interrupt can be triggered by a variety of reasons: 1. I/O Requests: When an input/output device requests permission to read or transfer data to the memory. 2. Arithmetic Errors: When operations that are not mathematically valid are performed such as division by zero and square root of a negative number. 3. Hardware Malfunction: The failure of any part of the system is another event likely to trigger an interrupt to inform the processor that the particular device is no longer operational. 4. User-defined break points: The user would sometimes not require traversing all the given paths in a program while tracking for errors. He might only need to examine certain portions for which purpose he will define when the traversal needs to be interrupted to jump to a new location.

5. What is the Boolean duality principle?

It is not uncommon for a Boolean expression not to be decomposable to a more compact and simple form. Boolean expressions can be simplified by certain rules which are known as identities. Each of these rules has an application to an expression in either the SUM form or the PRODUCT form. This flexibility of the rules is known as the duality principle.

9. Explain the differences between data buses, address buses, and control buses.

Lines used for passing data along are termed data bus. The key information that needs to be moved from one location to the next is contained in these. The data is passed in binary form from one registers to the next or from a registers to the ALU and back. They are chronologically managed by a clock. Often, the bus is shared among more than two devices. Here, it needs to be determined which device would take control of the bus to begin to transfer information. The control lines send pulses which act as signals to authorize devices to take control of a bus. Clock synchronization signals, interrupts and acknowledgements for bus requests are also passed. Address lines determine where in memory does the data needs to be read from or written to. Finally, the power lines provide the electrical power needed for the overall functioning.

31. How does a microoperation differ from a regular assembly language instruction?

Microoperation versus Assembly Language Instruction Microoperations are also called mini instructions and specify the elementary operations that can be performed on data stored in registers. Whereas an assembly language instruction uses symbolic instructions to represent the numerical data from which the machine language program is derived. Assembly language is a programming language, but does not offer a large variety of data types or instructions for the programmer. Assembly language programs represent a lower level method of programming.

27. Explain how each instruction in MARIE works.

MARIE's Instruction Set consists of the following instructions: • Load: This instruction is specified by the opcode 0001. The format of the instruction is LOAD X. The value at the address specified by X is then loaded into the accumulator (AC). • Store: This instruction is specified by the opcode 0010. The format of the instruction is STORE X. The value of the accumulator (AC) is then stored at the address specified by X. • Add: This instruction is specified by the opcode 0011. The format of the instruction is ADD...mulator (AC) and the result is then stored back into AC. • Input: This instruction is specified by the opcode 0101. The format of the instruction is INPUT. This accepts a value typed from a keyboard which is loaded into the accumulator (AC). • Output: This instruction is specified by the opcode 0110. The format of the instruction is OUTPUT. The value of the accumulator (AC) is output to the display. • Halt: This instruction is specified by the opcode 0001. The format of the instruction is LOAD X. The value at the address specified by X is then loaded into the accumulator (AC). • Skipcond: This instruction is specified by the opcode 1000. The format of the instruction is SKIPCOND. The next instruction is skipped on condition. • Jump X: This instruction is specified by the opcode 1001. The format of the instruction is JUMP X. The value at the address specified by X is then loaded into the Program Counter (PC), which determines the address from which the next instruction is to be read.

41. Name four Intel processors and four MIPS processors.

MIPS Processors: • The MIPS processors in increasing orders of complexity include the 32-bit R2000 series containing MIPS I released in 1986, the 64-bit R4000 released in 1991, R4400 in 1992 and the R10000 in 1996. • What's common among all of these is that each has RISC architecture. This is the guiding philosophy behind the Pentium architectures. • The goal is to decompose instructions to the most basic level possible so they can execute faster. • This is despite already having a reduced instruction set. Just one operation of uniform size is performed by an instruction. • All arithmetic operations are restricted to register-register type only and variety of layouts is also limited.

32. Write a MARIE program to evaluate the expression A × B + C × D.

Machine Architecture that is Really Intuitive and Easy (MARIE) The expression we need to evaluate using MARIE is . Since we do not have a multiply instruction in the MARIE ISA, we would have to make do with the next best: the addition. That would mean adding up the value of A, B times and then adding the value of C to the result, D times. Hence, the program would have two sequential loops: one to evaluate and another for . We would need to maintain a counter to keep track of the number of times we are performing the additions. This could be done be decrementing the multiplier after each addition till the point the value of the multiplier becomes zero. Consider the following program to evaluate: As we can see, the program firsts evaluates each individual product. It finally adds the products together to give the final sum. Further there are also checks and balances put in place in case any of the numbers is zero. In such a case the according product pair would be nullified.

24. Why is it that if MARIE has 4K words of main memory, addresses must have 12 bits?

Memory is built from random access memory (RAM) chips. Memory is often referred to using the notation length X width. In the case of MARIE, the notational length is 4K; the width however is just one. While determining the number of bits, we need to convert the memory into powers of 2.So,. The sum of the powers is then the length of the memory address. Hence, the addresses of MARIE would have 10+2+0=12 bits.

TRUE OR FALSE 8. If a computer uses microprogrammed control, the microprogram determines the instruction set for the machine.

Micro programmed Control Unlike a hardwired control where timing of the clock dictate the generation of pulses or signals, in a microprogrammed type of control, the instruction microcode produces those changes in the datapath signals. All machine instructions are input to a special program called the microprogram that converts the machine instructions of 0s and 1s into control signals. Thus the microprogram is essentially an interpreter, itself written in microcode and stored in firmware. Hence, the given statement is True.

30. Is a microoperation the same thing as a machine instruction?

Microoperation same thing as Machine Instruction Actually a set of machine-level instructions used by the system components that actually constitute the instruction set presented for MARIE. At the component level, each instruction involves multiple operations and sub-operations though all the instructions appear to be very simplistic. These mini-instructions are termed as microoperations. These specify the basic operations that can be performed on data in stored registers.

25. How is a Mealy machine different from a Moore machine?

Moore Machine: This is a means of representing a circuit. As is shown in the diagram below, every circle represents a state. Transitions between the states are represented by the arcs between the circles. Every state also represents an output. Mealy Machine: This machine is similar to the Moore Machine in that it has a circle for every state. It also has arcs that represent the transitions between states. But instead of having an output tagged to a state, outputs here are tagged to a transition. Thus, we see that while the output of the Moore Machine depends upon just its current state, the output of the Mealy Machine is determine by not only its current state but also the inputs to it.

24. Which flip-flop gives a true representation of computer memory?

One type of a flip-flop which truly reflects how computer storage works is the D flip-flop, which is a sequential circuit. It stores one bit of information. The value stored is the same as the input. This flip-flop is represented as follows:

29. What is the significance of RTN?

Register Transfer Notation Register transfer notation (RTN) or register transfer language (RTL) is the symbolic notation used to describe the behavior or micro-operations is called. The basic functions being performed by the instructions are thus denoted by an illustrative language to convey to the reader the intended outcome. The actual data stored at location X in memory is represented by M[X]. The sign (←) is used to indicate a transfer of information. Although the transfer of information from one register to another actually consists of a transfer to a bus first and then another from the bus to the destination register, these details are avoided for clarity purposes.

TRUE OR FALSE 3. Registers are storage locations within the CPU itself.

Registers Registers are storage locations within the CPU. The CPU can be divided into three parts: ALU (Arithmetic Logic Unit), CU (Control Unit) and memory. The registers come under memory segment of the CPU. The registers are a special kind of storage devices specially used for storing temporary data during the execution of programs. The temporary data may include the inputs, outputs and data modified during program execution. The registers are freed as soon as the program gets aborted. Hence, the given statement is True.

TRUE OR FALSE 5. The MAR, MBR, PC, and IR registers in MARIE can be used to hold arbitrary data values.

Registers storing arbitrary values Registers are storage locations within the CPU. They are used for very specific purposes while the program is executing. The memory address register (MAR) holds only the memory address of the data being referenced. The memory buffer register (MBR) can hold either data from memory or data to be written to memory. The Program Counter (PC) only holds the address of the next instruction to be executed while the Instruction Register (IR) holds the data which is the instruction at the address specified by the PC. Therefore, every register has a specific purpose and only stores particular values. They cannot be used for storing arbitrary values (without a defined or specific format). Hence, the given statement is False.

22. How is a JK flip-flop related to an SR flip-flop?

Relationship between JK flip-flop and SR flip-flop • The JK flip-flop is fundamentally an improved version of gated SR flip-flop with additional clock input circuit. In the SR flip-flop, when the clock is triggered both the inputs should not be "HIGH". • If there is an occurrence of this state, then it is considered as an invalid state and the resultant output is not predictable. • The key difference between a JK flip-flop and a SR flip-flop is that in the former, both the input can be "HIGH" because of the presence of additional clock input circuit. • While both J and K inputs are "HIGH", the Q resultant output is toggled meaning that the resultant output can alternate between "LOW" and "HIGH". • Thus the invalid state or condition that occurs in the SR flip-flop can be eliminated. • Hence this is how JK flip-flop is related to the SR flip-flop.

38. What is a stack? Why is it important for programming?

Stack Stack is not very uncommon that the program needs to branch out mid-way and complete another more urgent task before returning to its original one. Sometimes, there might even be a series of such branching, where the control jumps from an already branched out path to another. In all such cases, the control needs to pass back to the portion of code it was previously processing so that the previous tasks are not left incomplete. The Stack is an effective way of ensuring this. It is a data structure similar to a list that enables one to store values sequentially, but retrieve the values in a reversed sequence of the one they were stored in. Hence the last value stored onto the stack would be the first one retrieved. Whenever a task or program is interrupted, it simply stored the value of the Program Counter (PC) onto the stack. The Program Counter contains the address of the memory location of the instruction currently being serviced. When the branched task is completed, the program retrieves the latest value of the Program Counter from the stack and resumes the functioning of the original task

Name two types of computer memory.

Synchronous and nonsynchronous

5. How does the ALU know which function to perform?

The ALU is instructed by the Control Unit on which instructions to execute. This is accomplished through pulses or signals. The operations are thus appropriately organized chronologically to avoid concurrency.

6. Why is it important for Boolean expressions to be minimized in the design of digital circuits?

The Boolean expression is ultimately implemented by means of logical gates which are electronic devices. If the expression evaluates the same set of inputs to give the desired result in a more concise manner, we would be saving not only on the hardware but also the time involved in processing the Boolean expression.

TRUE OR FALSE 7. An assembler is a program that accepts a symbolic language program and produces the binary machine language equivalent, resulting in a one-to-one correspondence between the assembly language source program and the machine language object program.

The assembler converts assembly language programs into machine language. The assembler substitutes the alphanumeric representation, which is symbolic and makes programming easier, with the opcode, which uniquely identifies an instruction. Hence there is direct one-to-one mapping between the user-friendly mnemonic and the machine interpretable opcode. Hence, the given statement is True. There is a direct correspondence between the assembly program and the machine language object program.

16. What do we call a circuit that takes several inputs and their respective values to select one specific output line? Name one important application for these devices.

The binary values on these input lines will determine which of the 2n lines is to be selected. The selection is done by keeping the value of that particular line as true and all the others as false. Such a device or structure is said to be decoder. While selecting a particular function from a multi-function device is one of the applications of the decoder. The user inputs, the desired function to be performed, by means of a code and the device carries out that specific function based on the user command.

3. What does the control unit do?

The control unit ensures the operations execute in the correct order and also that the right data is where and when it needs to be.

2. What purpose does a datapath serve?

The datapath is an intricate interconnection of arithmetic and logic units and storage units which are connected by buses.

9. Name the four basic logic gates.

The four basic logic gates are as follows: 1. AND Gate 2. OR Gate 3. NOT Gate 4. XOR Gate A Boolean expression is a combination of the Boolean variables and the operators. The Boolean expression in combination with the result produced is termed as a Boolean Function. AND, OR and NOT are the three most commonly used operators. The Boolean expression is ultimately implemented by means of logical gates which are electronic devices. While the output of these devices gives us the desired result of the logical operations, it is the transistors which comprise the hardware that realize these functions. Several transistors are put together and connected in a way to function as a compact, well-defined unit called a gate to give the desired output for a given set of inputs. While the basic operators AND, OR and NOT each have their corresponding logical gates to implement them, there is yet another commonly used gate called the XOR gate. This gives the output as true when exactly one of the inputs is true. The four gates are diagrammatically represented as follows:

15. What is the difference between a half-adder and a full-adder?

The half adder calculates the sum of two bits. It takes the two bits as input and outputs the result of the addition as two bits: sum and carry. The full adder is an extension of the half adder and it is capable of adding three bits: the two input bits as well as the carry from a previous addition. A set of such full adders connected in series could be used to add a pair of binary numbers of multiple lengths. Starting from the Least Significant bit, we proceed to add each pair of bits at the same level of significance. The result of each addition goes to the Sum bit, while the Carry (if any) gets passed on to the input carry of the next significant pair.

26. What is an opcode?

The opcode essentially determines the operation to be performed on the data present at the address specified by the bits 0-11. It also specifies where the result is to be stored.

23. Why are JK flip-flops often preferred to SR flip-flops?

Thus we see that when both inputs are 0, there is no change in the output. When the SR values are different, Q takes the value of S, and when both inputs are 1, the outputs are undefined since, while they are meant to be complements of each other, both now equal 0, which is not valid. In order to avoid this condition where the output is undefined eliminate the condition at the very source by ensuring that both inputs never have the value 1. This is done by creating an extension to the circuit where inputs to the SR are filtered to remove the possibility that both values are 1. This new circuit is known as the JK flip-flop. It is shown as below: The characteristic table for the JK flip-flop is shown below: From the above truth table the undefined value of the output is 1 in the JK flip-flop.

Write the following code segment in MARIE assembly language: X = 1; while X < 10 do X = X + 1; endwhile;

To convert the above code into MARIE Assembly Language, follow the below instructions: Consider the code that needs to initialize the value of variable X to 1 and then increment the value of X if it is less than 10. MARIE assembly language code: Initially store X = 1, Explanation: https://www.chegg.com/homework-help/essentials-of-computer-organization-and-architecture-5th-edition-chapter-4-problem-33e-solution-9781284123036?trackid=3b89275416d0&strackid=215fdf130ad4&ii=1

What is the mission of the IEEE?

To foster technological innovation and excellence for the benefit of humanity.

36. Provide a trace (similar to the one in Figure 4.14) for Example 4.1.

Tracing is the process of documenting the state of the various aspects of the execution of a program over its constituent instructions.

11. Name three different types of buses and where you would find them.

Types of buses: 1. Data Bus: Data bus is the most common type of bus. It is used to transfer data between different components of computer. The number of lines in data bus affects the speed of data transfer between different components. The data bus consists of 8, 16, 32, or 64 lines. A 64-line data bus can transfer 64 bits of data at one time. The data bus lines are bi-directional. It means that: CPU can read data from memory using these lines CPU can write data to memory locations using these lines 2. Address Bus. Many components are connected to one another through buses. Each component is assigned a unique ID. This ID is called the address of that component. It a component wants to communicate with another component, it uses address bus to specify the address of that component. The address bus is a unidirectional bus. It can carry information only in one direction. It carries address of memory location from microprocessor to the main memory. 3. Control Bus Control bus is used to transmit different commands or control signals from one component to another component. Suppose CPU wants to read data from main memory. It will use control is also used to transmit control signals like ASKS (Acknowledgement signals). A control signal contains the following: 1 Timing information: It specifies the time for which a device can use data and address bus. 2 Command Signal: It specifies the type of operation to be performed. Suppose that CPU gives a command to the main memory to write data. The memory sends acknowledgement signal to CPU after writing the data successfully. CPU receives the signal and then moves to perform some other action.

18. How are sequential circuits different from combinational circuits?

Unlike a combinational circuit, the output of a sequential circuit is based not only on the current given inputs but also on past inputs. A storage capability is thus needed to remember previous inputs to the circuit. Flip-flop is the name associated with such a storage element. Previous inputs to this storage element all have an effect on the current state of the flip-flop. Flip-flops interconnect to form sequential circuits in a method analogous to how gates combine to form combinational circuits.

19. What is the basic element of a sequential circuit?

Unlike a combinational circuit, the output of a sequential circuit is based not only on the current given inputs but also on past inputs. A storage capability is thus needed to remember previous inputs to the circuit. Flip-flop is the name associated with such a storage element. Previous inputs to this storage element all have an effect on the current state of the flip-flop. Flip-flops interconnect to form sequential circuits in a method analogous to how gates combine to form combinational circuits.

12. Describe the operation of a ripple-carry adder. Why are ripple-carry adders not used in most computers today?

Wires, which serve as signal pathways, connect the gates to facilitate the transfer of d...le of adding three bits: the two input bits as well as the carry from a previous addition. A set of such full adders connected in series could be used to add a pair of binary numbers of multiple lengths. Starting from the Least Significant bit, we proceed to add each pair of bits at the same level of significance. The result of each addition goes to the Sum bit, while the Carry (if any) gets passed on to the input carry of the next significant pair. The diagram for a ripple carry adder is shown as follows: Here, the pair of binary numbers is A0-An and B0-Bn. The carry results are passed on to the next pair after every bit addition, while the final result is represented by the sum i.e. S0-Sn together with the Final Carry Out. The reason this adder isn't widely implemented is that it is slow because the every carry needs to ripple through all the bit positions for the final bit pair to be evaluated. Parallel adders are thus preferred over the serial adders like the ripple-carry.

13. What are the three methods we can use to express the logical behavior of Boolean functions?

Yet another way to represent the Boolean Function is the logic diagram. This shows how the various logic gates such as AND, OR and NOT are connected and the various inputs passed on to them to give the desired result. This is thus analogical to the Boolean expression but is graphical rather than verbal in nature.

30. Draw a half-adder using only NAND gates.

https://www.chegg.com/homework-help/questions-and-answers/draw-half-adder-using-nand-gates-q8416515

38. More registers appear to be a good thing, in terms of reducing the total number of memory accesses a program might require. Give an arithmetic example to support this statement. First, determine the number of memory accesses necessary using MARIE and the two registers for holding memory data values (AC and MBR). Then perform the same arithmetic computation for a processor that has more than three registers to hold memory data values.

https://www.chegg.com/homework-help/questions-and-answers/registers-appear-good-thing-terms-reducing-total-number-memory-accesses-program-might-requ-q2515475?trackid=90f5f6bcb397&strackid=a6b4e8ab38ad&ii=1

Name two driving factors in the development of computers?

von Neumann Architecture and Hardware Specs

Construct a truth table for the following: a) xyz + x(yz)′ + x′(y + z) + (xyz)′

x I y I z I xyz I x(yz)' I x'(y+z) I (xyz)' I Sum 0 0 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 1

14. Explain the difference between clock cycles and clock frequency.

• A fixed number of clock cycles are required by the CPU to execute each instruction. Often, the performance of instruction execution is measured in clock cycles (not seconds). • The clock frequency is measured in gigahertz (GHz). This is basically the number of clock ticks in a second.

TRUE OR FALSE 9. The length of a word determines the number of bits necessary in a memory address.

• Memory is either byte or word addressable, which means that each individual byte or word has a unique address. • Machines have a word size that is same as a single byte or word. • A memory address is typically stored in a single machine word. • The length of a word determines the number of bits necessary in a memory address. • Words are the basic unit of size used in various instructions. Hence, the statement is True .

15. What are the goals of Booth's algorithm?

The Booth's algorithm is one such endeavor targeted at reducing the amount of computations involved in the multiplication of signed, two's complement binary numbers.

26. From the results of the previous two questions, generalize the range of values (in decimal) that can be represented in any given x number of bits using: a) Signed magnitude `

-(2^x-1 -1) to +(2^x-1 - 1)

26. From the results of the previous two questions, generalize the range of values (in decimal) that can be represented in any given x number of bits using: c) Two's complement

-(2^x-1) to +(2^x-1 - 1)

16. How does carry differ from overflow?

Carry - The occurrence of a carry flag varies depending on the type of binary number: signed or unsigned. For unsigned numbers, a carry indicates the total number of bits was not long enough to hold the resulting value and an overflow has occurred. In signed numbers, if carry into the sign bit and carry out of the sign bit differ, then overflow occurs. The binary equivalent of -4=1100 The binary equivalent of -2=1110 The result should be -6= 1010 The obtained answer is correct and we have a carry of 1.

14. If a computer is capable only of manipulating and storing integers, what difficulties present themselves? How are these difficulties overcome?

The difficulties present in the computers when they are capable of manipulating and storing integers and difficulties themselves are given below: • The integers include negative numbers, zero and positive numbers. Computer need to perform all integer calculations and need to be represented with electronic circuits for its operations and applications. • Number of symbols required to represent the integers. It will increase the cost and complexity of the circuit. • Integers are infinite, since the time required to process the circuits is undefined when the integers are used for electronic circuit. • As the integers used for all calculations in computers, storage space and computing time requirements are more. • If a program needs to change or manipulate the previous program, a separate integer is used for manipulation. It is very difficult in computers and takes long time. To overcome the difficulties with integers, follow the given representations in computers: • The representation must contain limited number of symbols. • Time required to represent the symbols is to be less. • Storage space requirement is less and manipulations need to be done easily. • The number of digits required must be restricted. The number systems used in computers are given below: 1. Binary number system 2. Decimal number system 3. Octal number system 4. Hexadecimal number system Every number system mentioned above has limited number of symbols, therefore the storage space requirement is less compare to integers and manipulation of such numbers can be done easily. For example in binary number system, any number can be represented only with 0's and 1's. Therefore symbols required to represent the number is 2 and since it decreases the circuit complexity and easy for manipulation at any time.

Name and explain the seven commonly accepted layers of the Computer Level Hierarchy. How does this arrangement help us to understand computer systems?

User High Level Language Assembly Language System Software Machine Control Digital Logic

26. From the results of the previous two questions, generalize the range of values (in decimal) that can be represented in any given x number of bits using: b) One's complement

-(2^x-1 -1) to +(2^x-1 - 1)

To what power of 10 does the prefix micro- refer? What is the (approximate) equivalent power to 2?

1 Millionth = 10^-6 = 2^-20

g) There are ____ kilobytes in a megabyte

1,000

Perform the following base conversions using subtraction or division-remainder: d) 310410 = ________ 9

3104/9 = 344 R: 8, 344/9 = 38 R: 2, 38/9 = 4 R: 2, 4/9 = 0 R: 4 Base 9 conversion = 4228

How does the term abstraction apply to computer organization and architecture?

A computer having a hierarchy of levels, in which each level has a specific function and exists as a distinct hypothetical machine

How does an integrated circuit differ from a transistor?

An integrated circuit is a combination of more than 100's of transistors where a transistor is a single device

Who is known as the father of computing, and why?

Babbage created the first mechanical computer

What is meant by an "open architecture"?

Designed to make adding, upgrading and swapping components easy

30. What is a Hamming code?

Hamming Code For the error detection and correction one concept, which is used, is the so-called Hamming code. It as follows: • If errors do occur, then some of the transmitted bits will either change from 0 to 1 or from 1 to 0. • In hamming code random errors are occurred. Random errors change bits unpredictably. • Each bit transmitted has a probability of being changed. These errors are often caused by thermal noise. • Hamming codes use parity bits to detect the error. • Parity bit is an extra bit, which is sort of added to some data. It appends a parity bit to the end of a block of data.

17. What is arithmetic shifting?

In computer programming, an arithmetic shift is a shift operator, sometimes termed a signed shift (though it is not restricted to signed operands). The two basic types are the arithmetic left shift and the arithmetic right shift.

29. What is systematic error detection?

Systematic Error detection Systematic error detection means when error checking bits are added to the original bits that are being sent.

What is the underlying premise of Amdahl's Law?

To make sure the slowest parts of the computer are the least used

26. How many bits does a Unicode character require?

Unicode requires 8 byte means 16 bit to encode 65,536 different characters. Unicode has 65,536 different characters including ASCII (128 characters), symbols and foreign languages. The Unicode is capable of representing Chinese, Korean, Japanese, Greek, and many other symbols. Unicode was first introduced in 1991 by Unicode Consortium. Unicode is a 16-bit code and it needs two bytes per character.

What was it about the von Neumann architecture that distinguished it from its predecessors?

You didn't have to rewire components to solve different problems. Memory devices, in the form of mercury delay lines, could provide a way to store program instructions.

45. If the floating-point number representation on a certain system has a sign bit, a 3-bit exponent, and a 4-bit significand: a) What is the largest positive and the smallest positive number that can be stored on this system if the storage is normalized? (Assume that no bits are implied, there is no biasing, exponents use two's complement notation, and exponents of all zeros and all ones are allowed.) b) What bias should be used in the exponent if we prefer all exponents to be non-negative? Why would you choose this bias?

a) The largest positive is 0.1111v2 x 2^3 = 111.1v2 = 7.5 The smallest positive is 0.1v2 x 2^-4 = .00001v2 = 1/32 = 0.03125 b) The bias should be 3, which is 2^2 - 1. Since for 8 exponent bits, it is 2^7 - 1 or 127.

25. Using a "word" of 3 bits, list all the possible signed binary numbers and their decimal equivalents that are representable in: a) Signed magnitude

a. 011 to 111, or +3 to -3

b) Suppose we have a problem that currently takes 100,000 hours of computer time using current technology to solve. Which of the following would give us the solution first: (1) Replace the algorithm used in the current solution with one that runs twice as fast and run it on the current technology, or (2) Wait 3 years, assuming Moore's Law doubles the performance of a computer every 18 months, and find the solution using the current algorithm with the new technology?

b) Option number 1 would be better because it would allow the problem to be solved in 5.7 years as opposed to 5.9 years with option number two.

Using a "word" of 3 bits, list all the possible signed binary numbers and their decimal equivalents that are representable in: b) One's complement

b. 011 to 100, or +3 to -3

e) There are ____ nanoseconds in a microsecond

1,000

h) There are ____ megabytes in a gigabyte

1,000

Convert 0001 to decimal and hexadecimal

1,1

Perform the following base conversions using subtraction or division-remainder: c) 65210 = ________ 7

652/7 = 93 R: 1, 93/7 = 13 R: 2, 13/7 = 1 R: 6, 1/7 = 0 R: 1 Base 7 conversion = 1621

What is a multi-core processor?

A parallel processor that has multiple processing units (cores) on a single chip.

2. Explain how the terms bit, byte, nibble, and word are related.

Bit = "on" or "off", 0 or 1 Byte = A collection of 8 bits Words = Two or more adjacent bytes Nibble = 8-bit byte that can be divided into two 4-bit halves

33. What is a burst error?

Burst Error When data is transmitted over a cable or a channel, there is always a chance that some of the bits will be changed, corrupted or lost due to noise, signal distortion. This is known as error. If errors do occur then some of the transmitted bits will either change from 0 to 1 or from 1 to 0. Burst errors change a number of bits in succession. If multiple bits will be changed from 0 to 1 and 1 to 0 then this type of error will be burst error. Burst error can happen in serial transmission where there is a possibility for a number of bits are exposed to other storage or transmission media. They work best in the case of magnetic disk.

What technology spawned the development of microcomputers? Why?

Massive growth in the internet caused people to want to own a computer

20. What is normalization, and why is it necessary?

Normalization: The technique used to represent the format of larger numbers or larger fractional components used by the scientists is known as normalization. This format includes three components are: 1. Sign bit 2. Exponent 3. Significand

How is Rock's Law related to Moore's Law?

The cost of capital equipment to build semiconductors will double every four years

Convert 0000 to decimal and hexadecimal

0,0

Name the characteristics present in von Neumann architecture?

A computer must have input and output, shared memory to store data and instructions, the device should have the arithmetic and logic unit, and control unit.

34. Name an error-detection method that can compensate for burst errors

An error detection method that can compensate for burst errors is Reed-Solomon (RS) code.

What is the importance of the Principle of Equivalence of Hardware and Software?

Anything that can be done with software can also be done with hardware and vice versa.

c) There are _____ nanoseconds (ns) in a second

1,000,000,000

28. How do cyclic redundancy checks work?

Cyclic Redundancy Check Cyclic Redundancy Check is a process to check errors in the transmitted data and is used in computer networks. CRC codes are also known as polynomial codes.

25. Explain the difference between ASCII and Unicode.

Difference between ASCII and Unicode 1. ASCII is a 7- bit code whereas Unicode is a 16-bit code. 2. ASCII needs only one byte per character whereas Unicode needs two bytes per character. 3. ASCII was first introduced in 1963 whereas Unicode was introduced in 1991 by Unicode Consortium. 4. ASCII has only 128 characters from 0 to 127 which represents standard keyboard characters as well as control functions. Unicode has 65,536 characters including ASCII (128 characters), symbols and foreign languages. 5. Most of the communication software and e-mail can understand ASCII but very few communication software and e-mail can understand Unicode.

48. What causes divide underflow, and what can be done about it?

Divide underflow can occur when the divisor is much smaller than the dividend in a fraction. When the difference between two numbers is very large the computer reads that smaller number as zero. This causes a division by zero error. (Did not answer the second part of it, which was what can be done it? You could avoid this error by using repeated subtraction.)

What is it about the transistor that made it such a great improvement over the vacuum tube?

Smaller, lighter, less energy consumption, lower voltages, and less heat

Using a "word" of 3 bits, list all the possible signed binary numbers and their decimal equivalents that are representable in: c) Two's complement

c. 011 to 100, or +3 to -4

58. Decode the following ASCII message, assuming 7-bit ASCII characters and no parity: 1001010 1001111 1001000 1001110 0100000 1000100 1001111 1000101

1 x 2^6 + 0 x 2^5 + 0 x 2^4 + 1 x 2^3 + 0 x 2^2 + 1 x 2^1 + 0 x 2^0 = 74 = J 1 x 2^6 + 0 x 2^5 + 0 x 2^4 + 1 x 2^3 + 1 x 2^2 + 1 x 2^2 + 1 x 2^0 = 79 = O 1 x 2^6 + 0 x 2^5 + 0 x 2^4 + 1 x 2^3 + 0 x 2^2 + 0 x 2^2 + 0 x 2^0 = 72 = H 1 x 2^6 + 0 x 2^5 + 0 x 2^4 + 1 x 2^3 + 1 x 2^2 + 1 x 2^2 + 0 x 2^0 = 78 = N 0 x 2^6 + 1 x 2^5 + 0 x 2^4 + 0 x 2^3 + 0 x 2^2 + 0 x 2^2 + 0 x 2^0 = 32 = 1 x 2^6 + 0 x 2^5 + 0 x 2^4 + 0 x 2^3 + 1 x 2^2 + 0 x 2^2 + 0 x 2^0 = 68 = D 1 x 2^6 + 0 x 2^5 + 0 x 2^4 + 1 x 2^3 + 1 x 2^2 + 1 x 2^2 + 1 x 2^0 = 79 = O 1 x 2^6 + 0 x 2^5 + 0 x 2^4 + 0 x 2^3 + 1 x 2^2 + 0 x 2^2 + 1 x 2^0 = 69 = E

a) There are _____ milliseconds (ms) in a second

1,000

d) There are _____ microseconds in a millisecond

1,000

b) There are _______ microseconds (us) in a second

1,000,000

f) There are ____ kilobytes in a gigabyte

1,000,000

37. Perform the following binary multiplications, assuming unsigned integers: b) 10011 x 1011

10011 x 1011 ________ 10011 100110 0000000 10011000 _________ 011010001

37. Perform the following binary multiplications, assuming unsigned integers: a) 1011 x 101

1011 x 101 ______ 1011 00000 101100 _______ 0110111

37. Perform the following binary multiplications, assuming unsigned integers: c) 11010 x 1011

11010 x 1011 ___________ 11010 110100 0000000 11010000 _______________ 0100011110

Convert the following decimal fractions to binary with a maximum of six places to the right of the binary point: b) 57.55

57.55 x 2 = 1.1, 0.1 x 2 = 0.2, 0.2 x 2 = 0.4, 0.4 x 2 = 0.8, 0.8 x 2 = 1.6, 0.6 x 2 = 1.2 Binary conversion = 111001.100011

Perform the following base conversions using subtraction or division-remainder: a) 58810 = _________ 3

588/3 = 196 R: 0, 196/3 = 65 R: 1, 65/3 = 21 R: 2, 21/3 = 7 R: 0, 7/3 = 2 R: 1, ⅔ = 0 R: 2 Base 3 conversion = 210210

21. Why is there always some degree of error in floating-point arithmetic when performed by a binary digital computer?

8022-2-21RETC AID: 2734 | 17/10/2013 The prevailing 14-bit floating point representation for binary numbers is as follows: Thus, we see there is a Sign bit to denote positive or negative, the significand string consisting of 8 bits which holds the actual number and the exponent which denotes the power of 2 that the significand has to be multiplied with. Now, from the above, we know that we can represent numbers between and . Let us consider a number 130.5 We know this number lies within the range. Representing it in binary, we have: 10000010.1 The significand would thus be: 100000101 The exponent would be: 01000 But, the significand is 9 bits long and hence, would not be able to be stored in the required format of 8 bits. The least significant bit would be discarded and the number would be stored as 10000010. This is what is termed as floating-point error. The error percentage is calculated as: ~0.4% Though this error might seem insignificant, in a lengthy computation, this difference, could gradually accumulate into a substantial one.

Convert the following decimal fractions to binary with a maximum of six places to the right of the binary point: d) 84.874023

84.874023 x 2 = 1.748046, 0.748046 x 2 = 1.496092, 0.496092 x 2 = 0.984184, 0.984184 x 2 = 1.968368, 0.968368 x 2 = 1.936736, 0.936736 x 2 = 1.873472 Binary conversion = 1010100.110111

Under the von Neumann architecture, a program and its data are both stored in memory. It is therefore possible for a program, thinking that a memory location holds a piece of data when it actually holds a program instruction, to accidentally (or on purpose) modify itself. What implications does this present to you as a programmer?

A program can modify itself if it is not written properly. Data and instructions are stored in the same memory location, and it is possible for the program to write something at a location where an instruction is stored. So that "modified" instruction can make the program to behave in a way it is not intended to or crash the program. It is the programmer's responsibility to make sure the written program is robust i.e. builds safeguards into the program and to anticipate all possible outcomes as much as possible, so that the accidental overwriting of an instruction(s) does not happen upon execution.

11. Do you think that double-dabble is an easier method than the other binary-to-decimal conversion methods explained in this chapter? Why?

Double-Dabble Method Binary to decimal Conversion - The binary number system which has two digits "0" and "1", called bits. It is a positional numbering system because each position represents a power of 2 (base). There are two methods to convert binary to Decimal. 1) Positional Notation method 2) Double-Dabble method Positional Notation Method : Any binary number can be converted to its decimal equivalent simply by summing the weights of the various positions in the binary number which contain a 1. For Example: Convert 11010112 to decimal (....)10 1 1 0 1 0 1 1 (binary) (1×26) + (1×25) + (0×24) + (1×23) + (0×22) + (1×21) + (1×20) 64 + 32 + 0 + 8 + 0 + 2 + 1 = 10710 (decimal) Double- Dabble Method: To use this method, start with the leftmost bit. Multiply this value b 2 and add the next bit to the right. Multiply this value by 2 and add the next bit to the right. Stop when the binary point is reached. For Example: Convert 11010112 to decimal (....)10 Leftmost bit 1 Multiply by 2, add next bit (2×1) + 1 = 3 Multiply by 2, add next bit (2×3) + 0 = 6 Multiply by 2, add next bit (2×6) + 1 = 13 Multiply by 2, add next bit (2×13) + 0 = 26 Multiply by 2, add next bit (2×26) + 1 = 53 Multiply by 2, add next bit (2×53) + 1 = 107 Hence, 11010112 = 10710 We can see that Double-Dabble Method is an easier method than the other binary to decimal conversion methods because it is not using powers and not using addition of large numbers as we have seen in the first method Positional Notation method.

23. What is EBCDIC, and how is it related to BCD?

EBCDIC The EBCDIC code stands for Extended Binary Coded Decimal Interchange Code. This code was first invented by IBM. This code is still used in IBM mainframe and mid-range systems but personal computers rarely used it. The EBCDIC code is an 8-bit code to represent 256 symbols. The concept of EBCDIC code is almost similar to ASCII code. In EBCDIC code there are a lot of control characters rather than ASCII code. EBCDIC code can represent uppercase letters (A, B, C.... Z), lowercase letters (a, b....z), numbers (0, 1....9), special characters and others. To extend the BCD (Binary Coded Decimal) code, EBCDIC was created. The BCD code is used to represent numeric values but not text. It is used to represent the numbers (0, 1, 2...9). The BCD code is a 4-bit code. To extend the 4-bit code to 8-bit code the EBCDIC code is used.

49. Why do we usually store floating-point numbers in normalized form? What is the advantage of using a bias as opposed to adding a sign bit to the exponent?

Floating point values have their own binary representation (One of the other reasons would be that normalized form creates a standard so each floating point value has a unique binary representation). Normalized numbers allow us to imply a high order 1 in the significand. Using a bias allows for an additional bit position for the magnitude.

31. What is meant by Hamming distance, and why is it important? What is meant by minimum Hamming distance?

Hamming Distance Which two code words differ in the number of bit positions is called Hamming distance. The importance of hamming distance is context of error detection mainly. For Example: Take two code words. One code word is 10101110 and the other one is 01001101. By hamming distance, what we mean is that we have to see in how many bit positions the two code words are different. So, we simply XOR the two code words. 1 0 1 0 1 1 1 0 codeword If we XOR these, we get 11100011. Now we count the number of 1s in this XOR, which is 5. So we say that their hamming distance is 5. If the two corresponding bits are different in the two code words 0 and 1, 1 and 0, then we get a 1 in this XOR. If they are the same like 1 1 or 0 0 , we get 0. This hamming distance is the number of positions where the two code words differ. In all pairs of the code words, the smallest hamming distance is found called minimum hamming distance for the code. For example, If you have a set of codeword, say a, b, c, d. h= 3 d. 0 1 0 0 1 h = 3 Between a and b hamming distance is 4, between a and c hamming distance is 3, between a and d hamming distance is 3, between b and c hamming distance is 3, between b and d hamming distance is 3, between c and d hamming distance is 4. So in this set as a whole, the minimum hamming distance between two code words is actually 3.Take the minimum all these H values and this comes out to be 3. So, for this set of code words, the minimum hamming distance is 3.

8. Name the four ways in which signed integers can be represented in digital computers, and explain the differences.

Number Systems Human beings use decimal (base 10) and duodecimal (base 12) number systems for counting and measurements (probably because we have 10 fingers and two big toes). Computers use binary(base 2) number system, as they are made from binary digital components (known as transistors) operating in two states - on and off. In computing, we also use hexadecimal (base 16) or octal(base 8) number systems, as a compact form for represent binary numbers. Decimal (Base 10) Number System: Decimal number system has ten symbols: 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9, called digits. It uses positional notation. That is, the least-significant digit (right-most digit) is of the order of 10^0 (units or ones), the second right-most digit is of the order of 10^1 (tens), the third right-most digit is of the order of 10^2 (hundreds), and so on. For example, 735 = 7×10^2 + 3×10^1 + 5×10^0 We shall denote a decimal number with an optional suffix D if ambiguity arises. Binary (Base 2) Number System: Binary number system has two symbols: 0 and 1, called bits. It is also a positional notation, for example, 10110B = 1×2^4 + 0×2^3 + 1×2^2 + 1×2^1 + 0×2^0 We shall denote a binary number with a suffix B. Some programming languages denote binary numbers with prefix 0b (e.g., 0b1001000), or prefix b with the bits quoted (e.g., b'10001111'). A binary digit is called a bit. Eight bits is called a byte (why 8-bit unit? Probably because 8=23). Hexadecimal (Base 16) Number System: Hexadecimal number system uses 16 symbols: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, and F, called hex digits. It is a positional notation, for example, A3EH = 10×16^2 + 3×16^1 + 14×16^0 We shall denote a hexadecimal number (in short, hex) with a suffix H. Some programming languages denote hex numbers with prefix 0x (e.g., 0x1A3C5F), or prefix x with hex digit quoted (e.g.,x'C3A4D98B'). Each hexadecimal digit is also called a hex digit. Most programming languages accept lowercase 'a' to 'f' as well as uppercase 'A' to 'F'. Octal (Base 8) Number System: Octal and hex are convenient ways to represent binary numbers, as used by computers. Computer engineers often need to write out binary quantities, but in practice writing out a binary number such as 1001001101010001 is tedious and prone to errors. Therefore, binary quantities are written in a base-8, or "octal", or, much more commonly, a base-16, "hexadecimal" or "hex", number format. In the decimal system, there are 10 digits, 0 through 9, which combine to form numbers. In an octal system, there are only 8 digits, 0 through

13. What is overflow, and how can it be detected? How does overflow in unsigned numbers differ from overflow in signed numbers?

Overflow Overflow : If the result of adding two numbers will be too long, it will take much space to be fit and the allotted space will not be enough. The condition of overflow will arise because it will go beyond the range. When adding two unsigned numbers, the carry will be come out from the leftmost digit and it causes overflow condition in the context of unsigned numbers. For example: To represent the decimal values from 0 to 15 we need 4 bits. Then, add two numbers 11012 (13)10 to 11012 (13)10. 1101 11010 13+ 13 will be 26 but it cannot be represented by 4 bits. Hence the condition of overflow will arise. When adding two signed numbers, it causes overflow because the carry into the sign bit will be different from the carry out of the sign bit. Or we can say if we are adding two numbers of same sign and the result will be of other sign, it causes an overflow. For example: 1101 (-3) +7= 1 0111 (-9)

19. What is a biased exponent, and what efficiencies can it provide?

The prevailing 14-bit floating point representation for binary numbers is as follows: The problem with the above representation is that while we are able to represent negative floating point integers, we are unable to express their negative exponents. This is due to the fact that the exponent field assumes that the data is positive. One way of getting around this problem is by adding a sign bit to the exponent, but it would become rather cumbersome. There is another way: using a biased exponent. What we are basically doing here is shifting the zero mark. Since the exponent is 5 bits long, we can represent 32 numbers (0 to 31). We can choose any number midway to be the 0 mark. This way, we can record both negative and positive exponents. It is also important to remember that when we encode the exponent we would need to add the bias. As an example, suppose we were to consider 16 i.e. (10000)2 as the zero mark or bias, then all numbers above 16 would be considered positive and those below, negative. So, suppose we were to encode the exponent +4, adding the bias of 16 to it would give us the number 20 (10100)2 which is our exponent. On the other hand, if we were to encode -4, again adding 16 would give us 12 (01100)2 which is our coded exponent.

27. Why was Unicode created?

Unicode was first introduced in 1991 by Unicode Consortium. When Unicode was not invented, various encoding systems were present in the market like ASCII, ISCII and EBCDIC. Unicode has 65,536 different characters including ASCII (128 characters), symbols and foreign languages. The Unicode is capable of representing Chinese, Korean, Japanese, Greek, and many other symbols along with all those represented by ASCII and EBCDIC. Almost all operating systems can support Unicode such as Windows, Linux and other. For Unicode no specific Operating system required. It also supports all browsers such as Internet Explorer, Firefox, Opera, and Mozilla. Therefore Unicode was created.

The technologist's notion of Moore's Law is that the number of transistors per chip doubles approximately every 18 months. In the 1990s, Moore's Law started to be described as the doubling of microprocessor power every 18 months. Given this new variation of Moore's Law, answer the following: a) After successfully completing your computer organization and architecture class, you have a brilliant idea for a new chip design that would make a processor six times faster than the fastest ones on the market today. Unfortunately, it will take you four and a half years to save the money, create the prototype, and build a finished product. If Moore's Law holds, should you spend your money developing and producing your chip or invest in some other venture?

a) Building a new chip would take 4.5 years and be 6 times faster. But if Moore's law holds, in 4.5 years, processors would be 8 times faster. So you should save your money and not build a new chip.

What is the difference between computer organization and computer architecture?

Organization deals with physical aspects of a computer like circuit design. Architecture include the instruction set and the number of bits used

What unit is typically used to measure the speed of a computer clock?

Hertz (Hz)

18. What are the three component parts of a floating-point number?

In floating-point numbers format there are three component parts + sign bit, an exponent part and a significand or a fractional part.

What is the full name of the organization that uses the initials ISO? Is ISO an acronym?

International Organization for Standardization. No.

What is the name of the Swiss organization that devotes itself to matters concerning telephony, telecommunications, and data communications?

International Telecommunications Union (ITU)

What was the significance of the punched card?

It is the medium by which people communicate with computers in the olden days

24. What is ASCII, and how did it originate?

ASCII ASCII stands for American Standard Code for Information Interchange. It is the most widely used alphanumeric code. It is used in most microcomputers, minicomputers and in many mainframes to represent text. It is a 7-bit code and has 27 = 128 possible code groups from 0 to 127. It is used to represent all of the standard keyboard characters as well as control functions. The ASCII code is used for the transfer of alphanumeric information between a computer and input/output such as printers. In early 1960s work on ASCII code was started and it was developed in 1963 by American National Standard Institute (ANSI). It was first developed for teletypewriter after that for personal computers.

How does the fetch-decode-execute cycle work?

Fetch instructions, decode instructions for CPU, process instructions

77. Using the CRC polynomial 1011, compute the CRC code word for the information word, 1011001. Check the division performed at the receiver.

The code word is 1011001011 (This is given at the back of the book, so the credit was for showing how you arrived at it. See below: I = 1011001 P = 1011 1. Shift I left by length of P - 1 = 4 - 1 = 3 to get new_I = 1011001000 2. Do mod 2 division of new_I by P. 1011 | 1011001000 1011 0000 0000001000 Bring down dividend until 1 aligns with first 1 of divisor 1011 0011 Remainder - add it to new_I to get codeword 3. 1011001000 11 1011001011 Codeword 4. Check by dividing codeword by P - the remainder should be zero. 1011 | 1011001011 1011 0000001011 1011 0000 Remainder is zero.)

10. How are complement systems similar to the odometer on a bicycle?

The complement systems are used for performing subtractions of one number from another. The way this is accomplished is from the number comprising of all digits as 9, (as many as those in the subtractor) subtract the subtrahend. This is known as the radix complement of the subtrahend. This is then added to the subtractor and finally a 1 (carry) is added. The leftmost digit is then discarded to get the result difference. The radix complement is a lot similar to the odometer on a bike, since, on reaching the highest value it circles back to the start. Even when the bicycle reverses (unlike in a car, where the odometer only goes forward) the odometer reverses too and circles back to the highest value on reaching the zero value. This is similar to calculating the radix complement, since it will always be less than the number comprising of as many digits as the subtractor, but all 9's.

ANSI is the acronym used by which organization?

American National Standards Institute

7. What does overflow mean in the context of unsigned numbers?

Consider a situation in which binary numbers are 4 bits in length, and we wish to add 11112 (1510) to 11112. We know that 15 plus 15 is 30, but 30 cannot be represented using only 4 bits. This is an example of a condition known as overflow, which occurs in unsigned binary representation when the result of an arithmetic operation is outside the range of allowable precision for the given number of bits.


Related study sets

Respiratory Failure and Acute Respiratory Distress Syndrome

View Set

ACCT 2100 Survey in Accounting Ch 2

View Set

NURB 3060 Heart and Neck Vessels Chp 19 Jarvis

View Set

The Musical Comedy of Murders of 1940: Marjorie Baverstock Lines

View Set

Ch. 32: Skin Integrity and wound care

View Set

TX GOVT 2306, Chap. 11, Homework, Prof. Clark, DMC

View Set

MUS 110 CH 20 Listening Study Guide: LG 9 Handel: Messiah No. 18 "Rejoice greatly", No. 44, "Hallelujah"

View Set

Chapter 3: Legal, Ethical, and Professional Issues in Information Security

View Set