Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 Please write neatly and enter your solutions in the space provided. If you need additional space, please insert an additional page into the PDF immediately after the problem in question. For full credit, you must show your work, so we can see how you arrived at a solution. For design problems #4 - #6, use only the gates listed in the table in #4. When the question says to “design a transistor-minimal circuit…”, show your design process ending with a schematic annotated with the final transistor count. Remember that all written work is expected to be individual. If you discussed these problems with anyone, please list them here (excluding teaching staff): __________________________________ __________________________________ __________________________________ __________________________________ https://xkcd.com/571/ 1 Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 1. Compute 105 + 15 - 68 using 8b 2’s complement. a. Manually convert the operands to 8b 2’s complement encodings. 105 = 64 + 32 + 8 + 1 => 01101001 15 = -68 = b. Perform binary additions to compute the sum of these three numbers. Be sure to show the carry bits and partial sums. 2 Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 2. Perform each addition below in the base specified. Your sums may have as many digits as needed. They need not match the operand widths. a. base 6 + 1 2 3 4 3 2 3 2 1 2 3 4 3 2 3 2 0 2 1 3 2 1 3 0 4 7 1 2 5 1 0 3 b. base 5 + c. base 4 + d. base 8 + 3 Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 3. For each pair of boolean expressions below, algebraically convert one side into the other. You may go either direction (i.e.,convert the right to match the left or vice versa). a. π(ππ + ππ) + π(π + ππ) = ππ + ππ b. π΄· π΅ + π΅ ·πΆ + π΅ · πΆ + π΄ ·π΅· πΆ = π΅ + π΄·πΆ 4 Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 c. πΆ(π΄ + π΅) + π΄ πΆ = π΄ + πΆπ΅ d. π΄ ·π΅· πΆ + π΄·π΅· πΆ + π΄ · π΅ · πΆ + π΄· π΅ ·πΆ+ π΄ · π΅ ·πΆ = π΄ ·πΆ + π΅ ·πΆ + πΆ ·π΅ 5 Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 4. In this problem you will optimize a circuit by minimizing the number of transistors needed to implement it. The table below shows how many transistors are needed to implement each boolean logic gate. 2-Input Gate Type # of CMOS Transistors NOT 2 AND 6 OR 6 NAND 4 NOR 4 XOR 8 XNOR 8 a. How many transistors are needed to implement the original circuit? 6 Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 b. Convert this schematic to a boolean expression and reduce it algebraically to minimize literals. c. Draw the schematic corresponding with the minimized expression. d. How many transistors are needed to implement this circuit? 7 Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 e. Can you reduce the transistor count further with bubble pushing? Show the minimization process and reduced circuit. f. What is the final minimized transistor count? 8 Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 5. In this problem you will design the control circuit for an elevator in a two story building. The controller has three bits of input: β call0, call1: call button presses on floor 0 and 1 respectively β curr: current elevator position on either floor 0 or 1 The controller produces one output bit: β move: true if the elevator should change floors, otherwise false The elevator should move if it is called elsewhere and is not also called to its current position. If it is not called anywhere it should not move. a. Give a truth table to specify the move function. 9 Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 b. Give an expression for move. c. Design a transistor-minimal circuit for move. 10 Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 6. In this problem, you will explore circuits that detect whether two DNA bases will pair or not. There are four types of base, A, C, G, and T. A and T pair with each other as do C and G. Bases pair only with their mate, so, for example, A does not pair with A, C or G. To begin, assume the bases are encoded using the 2b encoding below: A 00 C 01 G 10 T 11 a. Design a transistor-minimal circuit that takes the codes for two bases (x1, x0 and y1, y0) and produces a 1b pair signal that is true if and only if the two bases will pair. By convention, individual bits in a multibit value are numbered according to their position. So x0 is the LSB in x, and x1 is the MSB of x. Similarly y0 is the LSB of y and y1 is the MSB of y. 11 Fundamentals Of Computer Systems, Fall 2021 Problem Set #1 Due Sep 30 2021 b. Now assume the base pairs are encoded using a 4b one-hot encoding: A 1000 C 0100 G 0010 T 0001 Design a transistor-minimal circuit that takes the codes for two bases (x3, x2, x1, x0 and y3, y2, y1, y0) and produces the 1b pair signal that is true if and only if the two bases will pair. 12