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?