# DyingLoveGrape.

## Part 1, Section 1: Introduction to System Architecture.

### System Architecture.

Computers are quite complex beasts. But, like tall buildings and houses, at the basic level they share most of the basic foundational architecture. In the case of computers, the basic architecture has been around since the mid-1940's and is called the von Neumann architecture. The way that we'll access and use this architecture is through assembly language. If we think of the computer's architecture as a building, then learning to read assembly language will allow us to read the blueprints to see where everything is and what everything does, and learning to write in assembly language will allow us to create blueprints to add things to our building (which, for computers, are called programs). We'll talk about assembly after this.

• A 4-minute video intro to computer architecture.

• A 6-minute video that'll introduce you to some logic gate ideas; this is to get ready for the next video.

• Exercises.

• Click the question box to show/hide the hint/solution.

• In what cases will this diagram turn on Q?

If A is on, then D is on, then Q is on (regardless of what else is on). If A is off, suppose B is on: then D is on, so Q is on (regardless of what else is on). If A and B are both off then D is off, so we must have E on; but we can't have E on since the AND gate would require B to be on, which it isn't!

• This 14-minute video is a bit fast-paced, but it's a neat little video about how computers do a simple addition operation. Feel free to stop watching around 9:00 if you get too confused; just know what is happening in the case when we're just adding 1 and 1.

• Exercises.

• Click the question box to show/hide the hint/solution.

• What is 0110 in decimal? What is 9 in binary? What is 0110 + 0011 in binary; what is its equivalent decimal value?

6. 1001. 1001. 9.

• What happens in this figure if A is off (A = 0) and B is on (B = 1)? What about if both are on (A = B = 1)? What do these results mean?

For the first case, since only (B = 1) the XOR gate gives us that S should be on (that is, that S = 1). The AND gate gives us that C should be off (that is, C = 0) since it would need A and B on, but A is not on. We can read our number as CS which means we obtain 01. This makes sense, since 01 + 00 = 01 in binary (and, correspondingly, 1 + 0 = 1 in decimal). For the second case, the XOR gate gives that S should be off (that is, S = 0) and the AND gate gives us that C should be on (that is, C = 1). What does all this mean? The first case is adding 0 and 1 together (A + B), and we expect to get 1; the result is given by concatinating CS together, so our result for the first case is 01, as we expected. For the second case, we are adding 1 and 1 together. Rememeber, this is binary! This means that we should expect to get 10 (which is 2 in binary). By concatinating as before, our result is CS = 10, which is exactly what we wanted.

• This is a cute little chart giving examples of the way we measure the size of things in computing: bits, bytes, and so forth. You don't need to memorize all of this (or even most of it), but it's good to have as a general reference.

• Exercises.

• Click the question box to show/hide the hint/solution.

• How large in Bytes is the letter A? What about the word APPLE? What about the number 1234567890? What about the number 499602d2 (which is 1234567890 in base 16)?

1. 5. 10. 8.

• A standard mp3 is around 3mb in size. If you opened up a notepad document and just kept typing "A", how many A's would you need to type in order to make your notepad file the same size as the mp3?

3mb = $3\times 1,048,576$ bytes, which is 3,145,728 bytes, so we'd need to write 3,145,728 letter A's since each of those is 1 byte. (Note, some places will assume that 1mb = 1,000,000 bytes, for an easy approximation; this is why estimates and the actual byte-usage on computers may be a bit off.)

 ⇐ Back to 0.1 Home Onwards to 2.1 ⇒