You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucy.apache.org by Kurt Starsinic <ks...@gmail.com> on 2013/05/01 03:13:43 UTC

[lucy-dev] Tonight's book club

Hi all,

I'm not up to it tonight. Sorry for the short notice. See you next week!

- Kurt

Re: [lucy-dev] Tonight's book club

Posted by Marvin Humphrey <ma...@rectangular.com>.
On Tue, Apr 30, 2013 at 6:13 PM, Kurt Starsinic <ks...@gmail.com> wrote:
> I'm not up to it tonight. Sorry for the short notice. See you next week!

It's always fun when you manage to make it to our sessions, Kurt.

Our wiki has been down so I haven't been able to post discussion questions.
They're listed below.

Marvin Humphrey


1.  What is hardware?  What is software?  What is the "hardware/software
    interface" as defined by the instructors?  What do you, personally, hope
    to gain from studying the "hardware/software interface"?

2.  What attributes of assembly language make it easier to understand than
    machine code?

3.  Why might a computer process/thread be described as an "illusion"?

4.  What aspect of the low and high voltages representing zeroes and ones
    limits CPU clock speed?

5.  In what sense are CPU registers, CPU cache, main memory, persistent
    storage (e.g. hard disk), and offline storage (e.g. offsite backups) all
    "memory"?  How do they differ?

6.  What are the advantages of little-endian architecture with respect to
    casting between integer widths?

7.  Adding 1 to a pointer adds how much to the address?

8.  In a C assignment statement, what must the left-hand side evaluate to, and
    what must the right-hand side evaluate to?  What do scalar variable names
    in C represent?

9.  What determines the value of the expression `&array[1] - &array[0]` ?

10. How would you implement a `show_bits` function to complement the
    `show_bytes` function from the lecture on arrays?

11. What are the practical applications of DeMorgan's Law?

12. Why doesn't C provide support for bit arrays, instead only supporting the
    application of "bitwise" operators to integral data types?  There has to
    be a better way... right?

13. In C, how do the logical complement operator and the bitwise complement
    operator differ?

14. What set operations do the four bitwise operators `& | ^ !` correspond to?

15. What is a _one-hot_ encoding?  A _two-hot_ encoding?

16. What are the drawbacks of _sign-and-magnitude_ representation of negative
    numbers?

17. In a 8-bit _two's-complement_ representation, what is the value of the
    LSB?  Of bits 2-7?  And finally, what is the value of the MSB?

18. Which representation allows for reuse of the adder used for unsigned
    integers on the CPU chip: one's complement, or two's complement?

19. How can an adder be adapted to perform binary subtraction?

20. When casting, what operations does the processor actually perform?  In
    what cases is casting just a matter of reinterpreting a bit pattern which
    exists in memory, and in what cases does the bit pattern have to be
    changed?

21. What is the result of the C expression `-1 < 0U` ?

22. Of the problems you solved in bits.c programming assignment, which was the
    most satisfying and why?