1/53
Flashcards based on lecture notes about Computer Systems Design.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
In general, computers all have ___.
Processors, memory, storage, and input/output devices such as keyboards, screens, and speakers.
A computer’s main job, as you may have guessed, is ___.
To do computations—a lot of computations.
The difference between the computer inside your watch and the one running the big sites is ___.
The number and strength of processors (computer brain), the size of memory and disks (main means of storage), and how these many pieces are connected to each other.
TechWorks is taking advantage of leverages such as ___.
The latest nanotechnology, processor models known as neuromorphic processors.
At its core, a computer system is ___.
An electronic device that does computations.
A computer system consists of two major parts: ___.
Hardware and software.
Computers do not understand English or other natural languages; they can only relate to ___.
Strings of 1s and 0s.
A 1 or a 0 is called a ___.
Binary digit or bit.
Other types, still not in the mainstream market but in design and testing stages, such as quantum computers, do not use bits but use something else called ___.
Quantum bits or qubits.
This special software that translates HLLs to executables includes tools called ___.
Compilers, assemblers, and linkers.
After the instruction has been decoded, the CPU instructs the ___ to execute it.
Arithmetic logic unit (ALU).
All the pieces—CPU, memory, graphics card—are connected via a collection of wires referred to as ___.
A bus.
For the CPU to execute programs and process data stored locally, it needs to obtain them from the computer's disk, and temporarily stores it in faster storage referred to as ___.
Main memory or random access memory (RAM).
The ___ is the removal of unimportant elements of a program or computer code that distract from its process.
Removal of unimportant elements of a program or computer code that distract from its process.
This solution layout is called an ___.
Algorithm.
These programs are called ___, and there are billions of them in existence today.
Application programs, or simply, programs.
A ___ is the most evolved method by which a human can direct a computer on how to perform tasks and applications.
High-level language (HLL).
A ___ is a piece of software that takes a program written in a given HLL and generates another program that does the same task as the initial program but is written in a language that is much friendlier to the computer called assembly language.
Compiler.
The ___ is the set of instructions recognized by each processor family.
Instruction set architecture (ISA).
As we cross the layer of ISA in Figure 5.5, we cross the boundary between software and hardware. Before we discuss hardware, we need to understand two words: ___ and ___.
Translator; Interpreter.
___ is a popular example of an interpreted language.
Python.
The architecture (i.e., design) of the microprocessor (i.e., the processor) is called ___.
Microarchitecture.
The main building block that forms the processor is called a ___.
Logic gate.
The main building block of all logic gates, and hence of all processors, is the ___.
Transistor.
If we try to see how transistors are built and work, then we move to the ___ level.
Semiconductor.
The ___ is similar to any application program in the sense that it has to be written in an HLL, typically C/C++, and passed through the compiler and assembler to generate machine code.
Operating system (OS).
In order for the OS to do its job efficiently, it stores the data and programs on disk in an organized way using a ___.
File system.
There is a generic name for all programs running on your computer: ___.
Process.
The technique that the OS uses to isolate different programs from each other so that they do not overwrite each other’s data or corrupt each other’s files is called ___.
Virtual memory.
Scientists are trying, for example, to build computers using DNA. We have DNA computing, and we have a prototype for DNA storage, too. We have several prototypes from various companies of quantum computing where instead of using bits, 1 and 0, the machines use ___ that take a value between 1 and 0.
Quantum bits (qubits).
Another form of a non-traditional computer is a ___, which is built to act like a simplified version of the brain.
Neuromorphic computer.
In this section we look at two very important and widely used types of information: ___.
Numbers and text.
What about ___ numbers? These numbers use base-2 and are presented as a series of 1s and 0s.
Binary.
An ___ is a non-negative integer that starts from 0.
Unsigned integer.
A ___ is an integer that can be negative or positive.
Signed integer.
The third method is called ___which is the least intuitive method.
The two’s complement.
Each printable and non-printable character on the keyboard has a unit code or unique binary number. These codes are known as ___.
American Standard Code for Information Interchange (ASCII).
A ___, such as 3.14, is also called a __ because there is a decimal point somewhere in the middle.
Real number; Floating point number.
The first tool in this workflow that recognizes that all the files belong to the same program is the ___.
Liker.
At that moment, a part of the operating system, called the ___, loads the executable into the memory and arranges its content in a specific way to make it ready for execution by the processor.
Loader.
A ___ is when more libraries may be linked during execution or while the program is running.
Dynamic library.
The family of processors from Intel and AMD share the same ISA called ___.
x86 (x86-64 for the relatively newer version for later processors).
The complex architecture structure that assists in executing operations such as mathematical computations and memory storage is called __
Complex instruction set computer (CISC).
Moving into the 1990s, and the appearance of portable devices with their sensitivity to power consumption and battery life, another disadvantage of CISC arose: complex instructions make the processor not only slow, but also power hungry. And, thus, the other viewpoint of simpler instructions called ___ came to be the norm.
Reduced instruction set computer (RISC).
In some cases, there are assembly instructions that do not have a counterpart in the machine code called __.
Pseudo-assembly.
Also, it is useful to keep some information about the result of the instructions executed, such as whether the result generated by the current instruction is positive, negative, or zero, which is the job of the __.
Flag.
A ___ is a memory unit that functions at very high speed.
Register
Assembly uses the concept of a ___, the very well-known data structure that works as last-in-first-out, to simulate the notion of local variables.
Stack.
Also, if we reuse the data as much as possible, we get better performance because the data is available in the cache, and we can increase the cache hits. We call this second criteria temporal locality.
Spatial locality.
If there are different types of CPUs, some are fast but power hungry while others are slow but power efficient, the design is called __.
Heterogeneous.
In 1965, Gordon Moore (cofounder of Intel) published a short paper that predicted that the number of devices inside the processor would double every 18 months, called __.
Moore’s law.
Another type of parallelism is superscalar capability, which is an execution unit that allows several instructions to be executed at the same time using another type of parallelism, __.
Spatial parallelism.
The next step in enhancing a processor’s performance is to fetch instructions from more than one thread, and you can technically execute two or more programs on the same processor at the same time, which is called __.
Simultaneous multithreading (SMT).
On one chip, instead of putting one processor, designers decided to put multiple processors called ___ inside the same chip which started the multicore era.
Cores.