22. What is a computer?#

  • how, physically, do we get the components we have seen?

  • what other components do we need?

  • how are those implemented

How have computers changed over time?

  • at the physical level

  • what was the context and motivation for these advances?

  • how does that context influence how we use computers today?

  • how does that influence computing as a discipline?

22.1. Let’s start with a dictionary#

we can start with a dictionary

  • note that this starts with reference to a person.

22.1.1. Computers as people#

  • Use of the word computer to refer to the person still common how recently 1950s

  • the movie hidden figures is available on Disney+ with subscription or other streaming platforms for ~$4 streaming rental.

  • the book hidden figures is available at URI’s library

22.1.2. Computers as Machines#

Computers as machines started later. We started with mechanical, analog and then moved to electronic and then digital.

22.1.3. How much do we talk about computers?#

how much do we talk about them changes over time

22.2. Mechanical Calculators#

how do we actually like physically make it be machine

well we’ve we’ve talked we handed out that like it’s going to reduce down to or isn’t my check and logical operations write those de back much further than

pascal

what is the mechanical calculator it works by like incrementing rather than through the logic we worked out for a digital logic based adder.

Why did he make this?

He was 18 and his father was a tax commissioner in France and he wanted to like reduce his father’s workload

so he invented this calulator machine and received roayl privilege from France in 1649 to be only person allowed to build a manufactured Computing a calculator is like mechanical calculators

pascal schematic

Contrast this royal privelege with the 1970s where in resolving some other conflict, a court that declared the content of the computer that they cannot be found it at all and it’s free for anyone to use the concept of a computer

22.3. How did this change over time?#

calculators that are still analog so they’re still working with mechanical systems using Waze electricity becomes easier

timeline of computing

22.3.1. Model K Adder (1937)#

  • George Stibitz took some pieces at home from work at Bell Laboratory and got it working on his kitchen table.

  • it can do four bit addition

  • uses a telephone relay switch or an electromechanical switch so they’re using like a

Relays are designed to repeat, or relay, a signal to the next circuit to compelte long distance telegraphs and early telphone. As the signal transpits down the cable (one circuit) it gets weaker due to loss, so it has to be repeated at some point to amplify the magnitude of it for the next length of the journey.

precursor to the complex number calculator he demonstrated how this works in combination with Telegraph for the first remote access

  • complex number calulator was at Bell Labs in New York City at the time in 1940 at a Confrence at Dartmouth in Hanover New Hampshire and he use a telegraph to do remote calculations on this calculator and bring them the numbers back

22.3.2. Intel 4004 (1971)#

  • First commercially produced microprocessor

  • 2,250 transistors

  • Could perform up to 90,000 operations per second in four bit chunks

  • 740 kHz clock speed

22.3.3. So how do these thigns actually work#

As electricity became more available, they realized that in terms of mathematical operations, electrical components resemble springs and switches

  • first vaccuum tubes: or diodes

  • diodes prevent flow of electricity in one direction and allow in the other. they can be used to create circuits that behave like the logical operations, and create the gates.

  • diodes only are easy for & and | gates,

  • transistors can operate as a switch or amplifier and can also be used to build logic gates

  • they’re faster, smaller, and better at more types of gates than diodes

22.4. Early Computers#

During this time small, lots of small computers were made, but each was made completely by its creators, there was no standards, per say.

These computers were also stored program computers. Meaning their operation at a program level was fixed by the circuitry.

switch the circuit to do different things between the numbers so this would get us bitwise operations of an indoor and outdoor on our numbers

22.5. von Neumann Architecture#

Von Neumann Architecturediagram

a bit mroe detail

what else do we need besides ALU for to have like a whole computer

we eventually need clocks to time things and synchronize things to like know when to clear and when to change so that you if you want to do multiple things in sequence you can do that what else you need or want to do multiple things in sequence but don’t know what else we need a general now

In 1945 we get a draft of a general template. This is basically what we use today.

22.6. Apollo Guidance Computer (AGC)#

The AGC was the onboard computer for NASA’s Apollo programs. It provided navigation for the control capsule as well as controlled the spacecraft during moon landings. The AGC had only 72KB of fixed memory (589,824 bits). Unlike many early computers, the software for the AGC was stored in its memory and was not physically built into its hardware’s circuitry.

Additionally, this computer had RAM, which was memory that could be changed by the computer while it was running. This memory had a capacity of only 4KB (32,768 bits), which was still enough to store all the data needed to perform all calculations necessary for the missions. The AGC could be controlled by the astronauts in the command capsule by sending commands via a numeric keyboard. Its user interface consisted of a simple screen and a set of status lights that relayed information to the astronauts.

This computer is very similar to how modern computers work in the sense that it can keep data in its fixed memory even while the computer is off.

To learn more about the AGC and how it worked, you can view this article, or view the official NASA public docs on it.

22.7. Storage#

  • there are some thigns we have not yet seen in detail in that diagram

  • Ram Is Random Access we can access it whenever we want we can read and write to

  • ROM: is read only memory; the instructions are Permanently

In the stored program computers, the programs were in ROM.

The very earliest computers could not store any values without power.

  • Register: data currently processing

  • Memory: will be required for processing

  • Disk: long term storage

22.8. Questions After Class#

22.8.1. Why did we stray away from simplicity of early computers?#

Computers got more complex in their architecutre so that they can complete more complex calculations and run more complex problems.

22.8.2. My question is if we are in a plateau now or if it is possible to go through another massive leap in tech soon?#

We’re out of the range where Moore’s law applies. Quantum computing is on the horizon, but it breaks the abstractions. It switches from bits being the basis to cubits, which are stochastic as the basis.

22.8.3. What are the PC, MAR, MDR, etc. and what do they do#

They are various registers that each have a specific role. Learning all of these these in more detail is a good Explore badge or a single one is in more practice.

22.8.4. how does a motherboard work with all of these#

A motherboard contains all most of those components. This is also a good Deeper explroation.

22.8.5. How can I learn more about the basics of Computers?#

The computer histroy museum links above are a good place to start.

This is a good explore badge topic.

22.8.6. What are some examples of von Neumann Architectures?#

This is the desing that our computers all use.

22.8.7. Is Gigahertz a measure of electricity or computing speed?#

it is a measurement of frequency which is the inverse of time. If somethign happens at a frequency of 1Hz, it occurs once per second. 10Hz is 10 time per second.

In the processor it is the speed of the clock signal; a factor in howmany calculations the comptuer can do per second.

22.8.8. At what point were most, if not all, human computers phased out?#

Some point in the late 70s or 80s I think. NASA employed people in this role throught 70s.

More research on this detail is a good community badge option.

22.8.9. If we tried to add a GPU to Von Neumann’s architecture, would it just be its own thing or there would be a way to fit it in the diagram?#

It is outside of the CPU, but it is also newer as a separate component, so it is separate.

22.8.10. What other types of architecture were there?#

The main competing architecutre was the Harvard architecutre. This is a good explore badge topic.

22.8.11. When defining a computer, is it best to define the most current model of a computer? Or how everything functions bare bones?#

What definition dependsd on the context. If you are talking to a child who is trying to learn basic typing they need to know different things than a teenager trying to choose what type of comptuer to bring to college, which is different than the model you need to keep in mind when you’re working in a high level language, which is different than what you need when you are writing drivers.

22.8.12. How do Quantum computer logic gates differ from what we use now exactly#

Quantum computers operate on a fundamentally different object, instead of bits they have qubits. There represent, essetially some uncertainty, or randomness in the behavior, so then there are different operations needed.

URI has a MS in Quantum Computing in the Physics Dept

22.8.13. Intel 4004 (1971) -> How it worked by Tyler Hanlon#

This was the first general purpose programmable processor which people could buy and then make or buy their own software to customize it with. This was a breakthorugh in computing as it allowed consumers to have a say in what software was used in their electronics without having to make their own. This was extremely influential advancmenet inearly comuting technologies becuase it made multiple softwares more accessible and deliverable to a wider audience. It is one of the smallest microprocessors ever made, and was develope for use in a Japanese calculator company, but was powerful enought o actually be used for a wide variety of functions.

Sources: https://www.intel.com/content/www/us/en/history/museum-story-of-intel-4004.html#:~:text=That’s when the Intel®,wide variety of electronic devices.

https://spectrum.ieee.org/chip-hall-of-fame-intel-4004-microprocessor

22.9. Prepare for Next Class#

Spend a few minutes thinking about what you know about memory and reading and writing files in programming. Make some notes about it (that you do not need to submit). (you’ll discuss this with classmates at the start of class)

22.10. Review today’s class#

  1. Pick a component that is in the more detailed von Neumann (other than the ALU) and contribute an explanation of what it is to your group repo. Coordinate with your team so that each contribution is a different component by creating an issue stating what you will work on before contributing. Link to your PR in the group repo in your badge PR. All contributions should include a description of the component- what it does and how it is built- and it’s predecessors. All must include sources as markdown links.

  2. review a classmate’s PR providing feedback and either approving or requesting changes

  3. Work with your group mates to ensure both your PR and the one you reviewed get approved and merged.

22.11. More Practice#

  1. Pick a component that is in the more detailed von Neumann (other than the ALU) and contribute an explanation of what it is to your group repo. Coordinate with your team so that each contribution is a different component by creating an issue stating what you will work on before contributing. Link to your PR in the group repo in your badge PR. All contributions should include a description of the component- what it does and how it is built- and it’s predecessors. All must include sources as markdown links.

  2. review a classmate’s PR providing feedback and either approving or requesting changes

  3. Work with your group mates to ensure both your PR and the one you reviewed get approved and merged.

  4. Read about systems abstractions in CACM and answer reflection questions below in systemsabstractions.md based on the systems abstraction reading:

1. What are your overall thoughts on this article?  (include how much is neew vs familar, easy vs hard to understand, etc)
2. How has you undertanding of these changed during this course.
3. Do you think you understand this article more now than you would have at the beginning of the semester
4. Write 3 questions and their answers that could be a quiz to see if someone understood or had misconceptions about the abstractions in this article.

22.12. Experience Report Evidence#

22.13. Questions After Today’s Class#