chapter 3
play

Chapter 3: Programming CS105: Great Insights in Computer Science - PowerPoint PPT Presentation

Chapter 3: Programming CS105: Great Insights in Computer Science Administrative Homework 2 due Wednesday! Clickers Strike Back Todays Goals Cover 2.5 ideas First, idea of machine language, which we alluded to last time


  1. Chapter 3: Programming CS105: Great Insights in Computer Science

  2. Administrative • Homework 2 due Wednesday!

  3. Clickers Strike Back

  4. Today’s Goals • Cover 2.5 ideas • First, idea of machine language, which we alluded to last time • Second, idea of expression trees. which is yet another way of thinking about Boolean expressions • Half of idea, thinking about computer memory and how it works

  5. Memory • Need a place to store the various quantities we’re working with. • Main memory is like a giant filing cabinet, where each drawer is numbered consecutively and can store one value . • Need to be able to store and retrieve values.

  6. Variables • Let’s say we need to store 100 numbers. • Can name them: ‣ apple, asparagus, artichoke, apricot, banana, blueberry, blackberry, cantaloupe, ..., zucchini • Tedious to assign names to them all.

  7. A List of Variables • For convenience, if nothing else, use numbers to name the variables. ‣ item 1 of var, item 2 of var, ... , item 100 of var.

  8. Indirection • Naming the variables with numbers gives us some additional power! • Can use a variable to name another variable.

  9. Memory Circuit • Start small with a input two bit memory circuit address Memory A • Each one has an 2-bit name (0-3) called its Memory B 0 “address”. Multiplexer 1 Memory C • Each memory box can store a specific Memory D amount of bits. For output example, 7-bits

  10. Persistence of Memory • We can use this memory idea to store the Boolean variables (A-P). • We can also use another set of memory locations to store the series of instructions to be executed (program). • How is are the instructions stored?

  11. Key Insight • Make a language for expressing operations. • Complex enough to capture the important functions. • Simple enough to be implementable in hardware. Machine Language

  12. Break it Down • A= (A and not (B and C)) or (not A and (B and C)) acc = B acc = acc and C acc now holds “B and C” E = acc E now holds “B and C” acc = not A acc = acc and E acc now holds “not A and (B and C)” F = acc F now holds “not A and (B and C)” acc = not E acc now holds “not (B and C)” acc = acc and A acc now holds “A and not (B and C)” acc = acc or F acc now holds “(A and not (B and C)) or (not A and (B and C))” A = acc A holds the new value of the equation

  13. Instruction Set: 7 Bits • V in 0000...1111 • acc : special temporary (variables A- P) variable • 000V : acc = acc or V • 100V : V = acc or V • 001V : acc = acc and V • 101V : V = acc and V • 010V : acc = V • 110V : V = acc • 011V : acc = not V • 111V : V = not acc 0000 A 0010 C 0100 E 0110 G 1000 I 1010 K 1100 M 1110 O 0001 B 0011 D 0101 F 0111 H 1001 J 1011 L 1101 N 1111 P

  14. Bits For One Instruction b6 b5 b4 b3 b2 b1 b0 load/store (1 bit) variable name (4 bits) • 0: load; 1: store 1011000 instruction (2 bits) • store = 1 • 00: acc or V • instruction = 01 • 01: acc and V • constant = 1000 = I • 10: acc (load)/V (store) • So, “I = acc and I” • 11: not acc (load) / not V (store)

  15. Series of Instructions contents (binary) contents (decimal) Michael Littman’s Mini Logic address Machine Language (ML 3 ) contents (instruction) Registers: Boolean Program counter: variables and their values which address’s instruction to Accumulator: process next Special register

  16. von Neumann Architecture • A computer is just a big state mem acc PC reg machine. • Input: registers, memory, CYCLE input devices • Output: new values for registers, memory, output mem acc PC reg devices 7x32 bits 5 bits 1 bit 1x16 bits • PC = Program counter, the 246 bits total address of the statement to be CPU = Central executed. Processing Unit

  17. von Neumann Architecture • A computer is just a big state mem acc PC reg machine. • Input: registers, memory, CYCLE input devices • Output: new values for registers, memory, output mem acc PC reg devices 7x32 bits 5 bits 1 bit 1x16 bits • PC = Program counter, the 246 bits total address of the statement to be CPU = Central executed. Processing Unit

  18. Cycle: A Whole Computer mem acc PC reg [F, F, F, F, F, F, F, T] memlookup32x7 addbyte5 ir 0 ir 1 ir 2 v or and not memlookup16x1 and ifthenelse val not and3 ifthenelse memwrite16x1 and3 ifthenelse more of the same... mem acc PC reg

  19. Cycle: A Whole Computer mem acc PC reg [F, F, F, F, F, F, F, T] memlookup32x7 addbyte5 ir 0 ir 1 ir 2 v or and not memlookup16x1 and ifthenelse val not and3 ifthenelse memwrite16x1 and3 ifthenelse more of the same... mem acc PC reg

  20. Instruction Sets • ML 3 used a particular design that made it relatively easy to fit in a lecture slide while handling 2-bit addition. • Computer manufacturers have different goals in mind: cost, speed, ease of running modern programs. • Some quick examples:

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend