CSCI 2314 Exam 1 Concepts Review PDF
Document Details

Uploaded by GratifyingSard9787
Tags
Summary
This document is a review for CSCI 2314 Exam covering key concepts in computer organization, architecture, number systems, error detection, and more. Topics include computer components, IEEE standards, binary arithmetic, floating point representation, and embedded systems. This is a good resource for students preparing for the exam.
Full Transcript
**Chapter 1** Computer organization versus computer architecture - Computer organization - Encompasses all physical aspects of computer systems (e.g., circuit design, control signals, memory types). - How does a computer work? - Computer architecture - Logical asp...
**Chapter 1** Computer organization versus computer architecture - Computer organization - Encompasses all physical aspects of computer systems (e.g., circuit design, control signals, memory types). - How does a computer work? - Computer architecture - Logical aspects of system implementation as seen by the programmer (e.g., instruction sets, instruction formats, data types, addressing modes). - How do I design a computer? Principle of Equivalence of Hardware and Software: - Any task done by software can also be done using hardware, and any operation performed directly by hardware can be done using software Main components of a computer - At the most basic level, a computer is a device consisting of three pieces: - A processor to interpret and execute programs - A memory to store both data and programs - A mechanism for transferring data to and from the outside world Terms - Hertz - Bytes (storage unit size) - Measurements of time - Millisecond = 1 thousandth of a second - Hard disk drive access times are often 10 to 20 milliseconds. - Nanosecond = 1 billionth of a second - Main memory access times are often 50 to 70 nanoseconds. - Micron (micrometer) = 1 millionth of a meter - Circuits on computer chips are measured in microns. Standards - The Institute of Electrical and Electronics Engineers (IEEE) - Promotes the interests of the worldwide electrical engineering community - Establishes standards for computer components, data representation, and signaling protocols, among many other things - The International Telecommunications Union (ITU) - Concerns with the interoperability of telecommunications systems, including data communications and telephony - The American National Standards Institute (ANSI) - The British Standards Institution (BSI) - The International Organization for Standardization (ISO) - Establishes worldwide standards for everything from screw threads to photographic film - Is influential in formulating standards for computer hardware and software, including their methods of manufacture Historical Development - Generations - Moore's Law - Rock's Law The computer level hierarchy -- 7 levels (6 -- 0) The von Neumann model Non-von Neumann models - Harvard architecture - Parallel processing - Multicore (two or more processor cores sharing a single die) - Dual-processor (two processors, each processor plugs into the motherboard separately) **Chapter 2** Bit, byte, word, nibble (high-order and low-order), radix Number Systems Decimal to binary conversions and binary to hexadecimal relationship Carry verses overflow Signed versus unsigned numbers Signed integer representation - Signed magnitude - 1's complement - 2's complement - What is the issue with signed & 1's complement? - Excess-M representation Binary arithmetic Floating-point representation - Computers use a form of scientific notation for floating-point representation - Floating point representation of a number. The number shown is plus 1.25 times 10 to the power of negative 1. The plus symbol in front of the number is marked sign. The number 1.25 is the mantissa. The power of 10 which is negative 1 is marked exponent. -  - The IEEE-754 single-precision floating-point standard uses an 8-bit exponent (with a bias of 127) and a 23-bit significand - The IEEE-754 double-precision standard uses an 11-bit exponent (with a bias of 1023) and a 52-bit significand. - Floating-point Problem: - No matter how many bits we use in a floating-point representation, our model must be finite. - The real number system is, of course, infinite, so our models can give nothing more than an approximation of a real value. - At some point, every model breaks down, introducing errors into our calculations. - By using a greater number of bits in our model, we can reduce these errors, but we can never totally eliminate them. Character representation - BCD: Binary-coded decimal - EBCDIC: Extended Binary-Coded Decimal Interchange Code - ASCII - Unicode Error detection and correction - It is physically impossible for any data recording or transmission medium to be 100% perfect, 100% of the time, over its entire expected useful life - Checksum (fyi: also used in networking for verifying message transmissions) - A checksum is a fixed-length string of numbers and letters that verify the integrity of a file. Checksums are used to detect errors that may have occurred during transmission or storage. - How checksums work - A checksum is created using a cryptographic hash function that takes a file as input. - The checksum is a unique \"fingerprint\" of the file. - If the file is changed in any way, the checksum will change. - Cyclic redundancy checking (CRC) codes provide error detection for large blocks of data - A Cyclic Redundancy Check (CRC) is a mathematical technique used to detect errors in data transmission by generating a checksum value that is appended to the data, allowing the receiver to verify the integrity of the received data and identify any corruption that may have occurred during transmission; essentially, it acts as a way to check if data has been altered or damaged during transfer. - Hamming Code - Hamming code is a method for detecting **and** correcting errors in data that are transmitted or stored. It works by adding extra bits to the original data, called parity bits. - Uses minimum distance - How it works - Hamming code is a linear error-correcting code (ECC). - It operates on fixed-size blocks of data. - It can detect and correct single-bit and two-bit errors. - It can correct one-bit errors without detecting uncorrected errors. - Reed-Soloman **Chapter 3** Boolean algebra - is a mathematical system for the manipulation of variables that can have one of two values, true & false - Common Boolean operators include AND, OR, and NOT - Understand truth tables - A diagram of a mathematical equation AI-generated content may be incorrect. -  - NAND and NOR are known as universal gates because they are inexpensive to manufacture, and any Boolean function can be constructed using only NAND or only NOR gates. - Kmaps are a graphical representation of Boolean expressions to be able to simply the expression - Why do we want to be able to simplify Boolean expressions? To create simpler circuits. Logic gates - A combinational logic circuit is a digital circuit where the output is solely determined by the current input values, meaning it has no memory of past inputs and produces an output based only on the current combination of inputs at that specific time; essentially, the output changes immediately whenever the input changes, making it a \"combinational\" circuit. - Key points about combinational logic circuits: - No memory: - Unlike sequential circuits, combinational circuits do not store any previous state, so their output depends only on the current inputs. - Built with logic gates: - These circuits are constructed using basic logic gates like AND, OR, NOT, XOR, etc., which perform simple Boolean operations on the input signals. Combinational circuits - Decoders - A decoder is a digital circuit that takes in encoded binary data as input and converts it into a specific, recognizable output signal, essentially \"decoding\" the information by activating only one output line corresponding to the unique combination of input bits; it\'s like a translator that turns a coded message into a clear meaning, with only one output active at a time based on the input code. - Function: - To convert coded inputs (usually binary) into a set of distinct output signals, where only one output is active at a time based on the input code. - Applications: - Widely used in applications like driving 7-segment displays, memory addressing, selecting specific devices on a bus, and data transmission systems. - How it works: - A decoder takes a set of binary input signals and activates the corresponding output line that represents the specific combination of those inputs. - Multiplexers: - A multiplexer (MUX) is a device that chooses one of multiple inputs and sends it to a single output. It\'s also known as a data selector. - How does a multiplexer work? - A multiplexer has multiple inputs, a control input, and one output. - A control signal directs the multiplexer to select an input. - The selected input is then forwarded to the output. - Examples of multiplexers: - The source selection control on a home stereo - A phone system that allows multiple calls to be carried on a single wire - A remote control that allows you to select between a CD player, DVD player, or cable TV - A microcontroller that selects between different program instructions or data sources - Benefits of multiplexers - Multiplexers allow multiple input signals to share a single device or resource. - They enable sharing of transmission lines, which increases data transmission rates. - Biggest issue: no state, no storage/memoryless State: is the condition of a system at a given time. It includes the data and variables that define the system\'s configuration. Sequential circuits - Have state, have a storage element - Synchronous sequential circuits use a clock - State changes occur in sequential circuits only when the clock ticks, on the edge or level - Rely on feedback - Race Conditions -- undefined state - The D Flip Flop is a building block shift register. For example, by cascading eight D Flip Flops in sequence, a byte (8-bits) of information can be stored after 8 clock cycles. - By connecting the inverting output of the D Flip Flop to the D input, a simple divide by two circuit is created i.e. the D output changes state at half the frequency of the clock signal. By cascading D flip flops and through appropriate design of external combinational logic gates, a countdown timer can be created. Finite State Machines - Models for any system with a limited number of conditional states of being. - The makeup of a finite state machine consists of the following: - A set of potential input events. - A set of probable output events that correspond to the potential input events. - A set of expected states the system can exhibit. - Moore and Mealy State Machines - A couple of circles with numbers and a arrow AI-generated content may be incorrect. - Issues: - Neither state machine addresses the intricacies of timing very well. - It is often the case that an interaction of numerous signals is required to advance a machine from one state to the next - ASM -- Algorithmic State Machine - manage complex system behaviors in a structured and readable way by incorporating algorithms directly into state transitions, leading to improved code maintainability, easier debugging, and a clearer understanding of system logic, especially when dealing with varying conditions and inputs. Embedded Systems - a small computer that\'s part of a larger device or machine. Embedded systems control the device and allow users to interact with it. They are often designed to perform a specific task. - require special programming that demands an understanding of the operation of digital circuits - examples: - Consumer electronics: Digital watches, mobile devices, cameras, and toys - Industrial machines: Used in manufacturing, processing, and agricultural industries - Medical devices: Used in healthcare - Automotive: Used in cars and hybrid vehicles - Home security systems: Used in the Internet of Things (IoT)