1/50
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
-An electronic device that processes data
-Converting data into useful info
-Can store data for future use
What is a computer?
Two main parts of a Computer System
-Hardware (Physical components)
-Software (Intangible parts that control the hardware)
Discrete Information Processing System
Another name for a computer
Hardware affects the correctness and performance of programs.
Hardware affects the _______ and ________ of programs.
-Fetch and execution of an instruction
-Repeats forever
Instruction cycle
-Personal Computers
-Server Computers (Serve many users)
-Super Computers (Large computers used for extensive application like weather forcast, or GPS)
-Embedded Computers (Washing machine, microwave, robots, etc)
What are the classes of computers?
-Transmission of data
What is a signal?
-Analog Signal
-Digital Signal
Types of signals?
-1969 to 1973
-By Dennis Ritchie of Bell Labratories
When was the C programming language developed?
-Core part of the OS
What does kernel mean?
-GNU Compiler Collection (GCC)
-collection of programming compilers
What is a gcc compiler?
1. Preprocessor
2. Compiler
3. Assembler
4. Linker
What are the four phases of the compilation system?
-Modifies original C program according to directives that begin with '#'
-#include
-Result is another C program with .i suffix
Explain Preprocessing phase
-Translates file with .i suffix into text file .s suffix
-Text file contains an assembly-language program
Explain Compilation phase
-Translates .s file into machine-language
-Packages them in a form known as relocatable object program
-Stores the result in object file .o suffix
-.o file is a binary file
Explain Assembly Phase
-Merges other functions into the .o file
-Eg. printf resides in a different object file
-The Linker merges the hello.o and printf.o
-Result is an executable object file that is ready to be loaded into memory
Explain Linking phase
1. CPU (or Processor)
-GPU
-Accelerated Processing unit (APU = CPU + GPU)
-FPGA
2. I/O devices
3. Main Memory
4. Buses
5. Registers
List the hardware components in a computer system
-Parallel wires
-Carry data from one component to another
-Typically designed to transfers fix chunks of bytes called words
Purpose of buses
-Enhance creation of images for a display
-Many small and more efficient cores made to handle multiple tasks simultaneously
Purpose of GPU?
- Offers parallel processing, allowing multiple tasks to run simultaneously for high performance in specialized applications.
What is a field programmable gate array (FPGA)?
-By either a controller or an adapter
How are I/O devices connected to the I/O bus?
-Controllers are chip sets in the device itself or on the system's motherboard
What is a controller (in terms of I/O connection)?
-An adapter is a card that plugs into a slot on the motherboard
What is an adapter (in terms of I/O connection)?
-Temporary storage location
-Holds both a program and the data for the executing program
What is main memory?
-Primary Memory
-RAM (Dynamic Ram and Static Ram)
-ROM (EEPROM and EAPROM)
-Secondary Memory
-USB, Floppy Disk, CD
What does main memory consist of?
SRAM
-Retains value as long as power is supplied
-Typically faster than DRAM
-Cost per memory cell is greater than DRAM
DRAM
-Semiconductor memory
-Data stored in form of a charge
-Each memory is made up of a capacitor and transistor
-Capacitors leak, memory needs to be regularly refreshed
DRAM vs SRAM
-As a linear array of bytes
-with its own unique address
How is memory logically organized?
-The engine that interprets (or executes) instructions stored in the main memory
-At its core is a storage device (or register) called the program counter (PC)
What is the CPU (aka Processor)?
-Computes new data and address values
What does the Arithmetic Logic Unit (ALU) do?
-Word sized storage device in main memory
What are registers?
-PC is a special register pointing at some machine instruction stored in main memory
-PC increased after the fetch cycle
What is a program counter (pc)?
-Serve as temporary staging areas for info that the processor is likely to need in the near future
-Speeds up program execution
Purpose of cache memories (aka caches)
-On processor chip
-Holds 10's of thousands of bytes
-Can be accessed almost as fast as the register file
L1 cache?
-Larger than L1 cache but slower to acess
-holds 100's of thousands to millions of bytes
-Connected to processor by a special bus
-Faster than accessing main memory
L2 cache?
-Static random access memory (SRAM)
How are L1 and L2 caches implemented?
-Top of the hierarchy to bottom
-Devices become slower, larger and less costly
-Register file occupies the top (0 or L0)
-Explain memory hierarchy of storage devices in a computer system
-Set of 7-bits assigned together to represent data
-For each unique character a byte sized integer is assigned
ASCII code?
-File is the collection of data
-Text file is a collection of characters in user readable form
What is a file?
-A collection of characters
-In only machine readable form
-Used for the computer to read and execute
What is a binary file?
-Application Software
-Systems Software
Software categories?
-Bridge between hardware and the user
1. Protect hardware from misuse by runaway applications
2. Provide applications with simple and uniform mechanisms for manipulating complicated and different low-level hardware devices
Purpose of the Operating System (OS)?
-Via fundamental abstractions:
1. Processes
2. Virtual Memory
3. Files
How does the OS achieve it's primary purposes?
-One instruction in main memory
-PC points to instruction
-CPU fetches(reads) and executes instruction
-PC increased after execution to get ready for next instruction
What is an instruction cycle?
-OS's abstract for a running program
-An executing instance of a program (aka Task)
-eg. the MSWord software running in a process
What is a process?
-Different processes run by taking turns
-The instructions of one process are interleaved with the instructions of another process
What does concurrently mean in terms of processes?
A thread is a lightweight part of a process that runs independently, sharing the same code and global data with other threads, but having its own local variables—for example, typing and auto-saving in Word happen in separate threads.
What are threads?
-A set of hardware devices connected together, physically, or logically,
-So that they may share or exchange information
-eg. Internet
What is a network?
- The defined set of rules, algorithms, messages, and other mechanisms that the software and hardware must follow to communicate effectively
What is a protocol (In terms of networking)?
-The connecting hardware on the network
What are nodes (In terms of networking)?
-Allocate memory for local variables and functions as they are called
Purpose of a stack
-Dynamic memory allocation
-malloc (), calloc()
Purpose of a Heap