Transcript Document
Data Manipulation CSC 2001 TTU Now what? Program can be represented (and stored) like data. So, now what happens? The program needs to retrieved from memory and executed. Program execution Need to “add” some special purpose registers to the CPU to help with this. Program counter Keeps up with location in program (address of next instruction). Instruction register Holds the instruction being executed. Program execution Control unit’s basic algorithm the machine cycle fetch decode execute repeat Program execution Fetch Retrieve the next instruction from memory and increment the program counter. Decode Decode the bit pattern in the instruction register. Execute Perform the action required by the decoded instruction. Example Let’s say each memory cell is a byte. Our memory addresses are 1 byte. Program counter: 1 byte Our instructions each take 2 bytes. Instruction register: 2 bytes Must increment program counter by 2 each time. Example (continued) 2141: A1 3138: A3 2142: A5 3170: A7 1138: A9 1270: AB 3170: AD 3238: AF C000: 21 31 21 31 11 12 31 32 A2 A4 A6 A8 AA AC AE B0 41 38 42 70 39 70 70 38 B1 C0 B2 1. 2. 3. 4. 5. 6. 7. 00 Program counter: A1 Instruction register: 2141 Program counter: A3 Decode 2141 Execute 2141 Instruction register: 3138 Program counter: A5 Decode 3138 Execute 3138 . . . Instruction set We’ve seen addition, jump, load, store. We haven’t looked at logical operations AND, OR, XOR Logic instructions: AND 10011010 AND 11001001 10001000 00001111 AND 10101010 Logic instructions: OR OR 10011010 11001001 11011011 OR 00001111 10101010 Logic instructions: XOR 10011010 XOR 11001001 01010011 00001111 XOR 10101010 10100101 Bit maps and masking Using a bit string to represent the presence (or absence) of something. Meaning of bit string specific to use. Examples: attendance keeping up with what users have seen within a computer application Masking with AND Checking for the presence of a 1. 10011010 AND 10000000 10000000 10011010 AND 00000001 00000000 Masking with OR Setting a bit without disturbing other bits OR 10011010 00000001 10011011 OR 10011010 10000000 10011010 Masking with XOR Complementing a bit map (or part of a bit map) XOR 10011010 11111111 01100101 XOR 10011010 11110000 01101010 Rotating/shifting 10011010 01001101 circular shift 10011010 two’s complement representation 10110100 10110100 logical shifts doubling 11011010 halving Communicating with other devices Controllers mediates communication between computer and device translates messages back and forth has to speak both “languages” plugs in system bus and can be found at a particular “port” on the bus Communicating with other devices Computer typically doesn’t blindly flood a device with data. Device might not be able to keep up. Coordination occurs through a two-way communication (handshake) that lets the computer know about the device’s status Communication rates Rate of bit transfer bps (bits per second) Kbps Mbps Gbps Communication types parallel multiple bits sent simultaneously down several lines faster, but more complicated serial one bit at a time sent along same wire Exam 1 review Try not to surprise on tests However, these notes are not necessarily comprehensive Aim for understanding over memorizing But the two are not mutually exclusive Exam 1 review Chapters 0 - 2 0.1 - 0.4 1.1 - 1.7 2.1 - 2.5 Lectures Chapter 0 What is an algorithm? What is the process of abstraction? Charles Babbage Ada Byron, Countess of Lovelace Grace Hopper Will not ask much on history. Will not ask dates. Data storage Boolean operators Gates Evaluate inputs Translate between Boolean logic and circuit Convert between bases 10, 2, and 16 Basic memory organization Understand seek time, latency time, access time, transfer time Data storage Representing text Don’t memorize ASCII table Basic difference between ASCII and UNICODE Bitmap images Representing sound Data storage Numbers Integers Two’s complement Conversion Adding Overflow problem Floating point Given rules regarding translation, perform translation Data manipulation Basic architecture Basic machine language RISC vs. CISC Understand and be able to work with sample machine language (Appendix will be provided here if needed.)