1/99
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Hardware
The physical elements of a computer.
Software
A series of instructions that can be
understood by a CPU. These instructions guide
the CPU to perform specific operations.
Peripheral
An auxiliary device that can communicate and
work with a computer
CPU
Central Processing Unit
- The "brain" of a computer system and can process data very
quickly but can only process data by following instructions. It
cannot actually "think" for itself.
- Works in the process phase.
- Retrieves and saves data from and to the storage, which is the primary memory of the computer system.
- Can only retrieve data from an input or primary memory.
- Contains: control unit (CU), arithmetic logic unit (ALU), memory address register (MAR), memory data register (MDR)
CU
Controle Unit
- Responsible for the operation of the CPU. It controls the retrieval of instructions from the primary memory as well as the sequence of their execution.
- It almost acts as a manager for the CPU: relaying the instructions for the job.
- Contains registers or small storage locations that can hold data. The basic registers are the MAR and MDR.
ALU
Arithmetic Logic Unit
- Performs all the basic arithmetic, logical, or input/output operations.
- The CU gives the ALU the data and the instructions on how to process that data.
- All this information at this level is communicated in binary which uses only 1's and 0's. Each 1 or 0 represents a binary digit or bit and 8 bits is a byte. You will often see sizes of files or data storage listed in KB, MB, GB, or TB.
MAR
Memory Address Register
- Communicates to the Primary Memory through the Memory Address Bus
- Holds the memory address so the ALU knows where to find the data in the primary memory. It can also store the location for the data to be stored after it is processed.
MDR
Memory Data Register
- Communicates to the primary memory through the Data Bus.
- Holds the corresponding data of the location that the MAR is holding. The ALU takes the data from the MDR then places the result data back into the MDR after it has been processed.Then the data is copied into the location stored in the MAR.
Address Bus
Transmits the location of stored information
Data Bus
Transfers data between a computer's memory and its CPU.
RAM
Random Access Memory
- Primary memory
- Temporary storage of data and instructions that the computer needs to use while it is running
- Fast but volatile (a computer storage that temporarily holds data being used or processed)
SRAM
Static Random Access Memory
- Maintains data without constant refreshing
- Very fast, very expensive
- Often used in processor caches
DRAM
Dynamic Random Access Memory
- Slower
- Faster than SSD/HDD
- Cheaper
- Main memory
ROM
Read Only Memory
- Non-volatile memory
- A storage medium that is used with computers and other electronic devices.
- Data stored in it may only be read.
- Permanent Storage.
Cache Memory
Holds information from Ram that is most actively used and accessed most frequently.
L1/L2/L3 Cache
L1: in the microprocessor; smaller & closer makes it faster
L2: between the RAM and microprocessor
L3: used by a CPU for short-term storage of data. It isn't always used, but when it is available, it is used after L1 and L2 cache
Primary Memory
The part of the memory where the data and programs that are in use at the time are stored.
Secondary Memory
- A type of memory that allows a user to store data and programs for as long as desired, in, for example, a hard disk drive.
- Needs to be passed through RAM first as it is unreadable to CPU.
- Relatively slow, most amount of memory.
- Non-volatile
Processor Speed
The speed, or frequency, (in MHz) at which the Central Processing Unit (CPU) in a computer operates.
Bandwidth
The amount of data that can be transmitted over a network in a given amount of time.
Screen Resolution
Indicates the number of pixels that the computer uses to display the letters, numbers, graphics, and background you see on the screen.
Graphics Processor
A special CPU chip whose hardware is specially designed for fast graphics and video processing.
Sound Processor
An integrated circuit that specializes in creating audio output to computer speakers.
Multitasking
An operating system feature that allows more than one application to run at a time.
Time Sharing
A special form of condominium ownership which allows multiple owners to use (share) the same unit but during different specified times each years.
Time Slicing
The technique of switching rapidly between two programs executing a few instructions from each.
Multiprocessing
The simultaneous execution of two or more instructions at the same time.
Multireading
A technology that allows multiple parts or threads from a program to run simultaneously.
Memory Leak
An undesirable state in which a program requests memory but never releases it, which can eventually prevent other programs from running.
Address Binding
The mapping from a logical address to a physical address.
Swapping/Paging
When pages and frames are swapped (data in virtual memory that is needed is swapped with data in RAM that is not needed).
Virtual Memory
Process of optimizing RAM storage by borrowing hard drive space.
Scheduling
The action of assigning resources to perform tasks. The resources may be processors, network links or expansion cards. The tasks may be threads, processes or data flows.
Interrupts
Signals that inform the OS that an event has occurred and is in need of immediate attention.
Device Driver
A software program that provides the instructions your computer needs to communicate with a device, such as a scanner.
Polling
The process where the computer or controlling device waits for an external device to check for its readiness or state, often with low-level hardware.
Dedicated OS
Dedicating an OS for a device allows resources to be managed differently for different devices.
Abstraction
The process of removing elements of a code or program that aren't relevant or that distract from more important elements.
Fundamental Operations
- Input
- Processing
- Output
- Storage
- Control
LOAD
Loads data from a given location in the RAM.
ADD
Adds the given value to the value currently stored in the accumulator.
STORE
Stores the contents of the accumulator (in the ALU) into the given location in the RAM.
COMPARE
Compares (<, >, =) the contents of two memory locations and return a "true" or "false" value.
Low-Level Languages
Programming language that provides little or no abstraction from a computer's instruction set architecture; commands or functions in the language are structurally similar to a processor's instructions.
Higher-Level Languages
Programming languages that are designed to allow humans to write computer programs and interact with a computer system without having to have specific knowledge of the processor or hardware that the program will run on.
Variables
Values that can be changed throughout runtime.
Constants
Numbers that cannot be changed throughout runtime.
Operators
- Used to manipulate operands
- Operands can be variables, boolean values, numerical values, text, etc.
- Operators can be arithmetic, relational, logical etc.
Algorithm
A series of unambiguous instructions designed in order to solve a problem and achieve a certain goal in a finite number of steps.
Input
Accepts a value from the user and returns it.
Output
Outputs are the items that will actually be displayed once the code is run.
= vs ==
=: equal to or the result of arithmetic operations
==: setting variables equal to one another (ex. y==x)
+
Addition between values (a + b)
++
+ 1
-
Subtraction between values (a - b).
--
- 1
*
Multiplies values to one another.
/
Division between two values.
div
Division that will result in the whole number (NOT ROUNDED).
%
Results in the remainder.
mod
Evaluates to the remainder when a is divided by b, assuming that a and b are positive integers.
,
Separates expressions (which have value) in a way analogous to how the semicolon terminates statements.
>
greater than
>=
greater than or equal to
<
less than
<=
less than or equal to
<>
not equal to
!=
not equal to
OOP
Object-Oriented Programming
- Objects are defined, each with its own properties or attributes
- Each object can also contain its own procedures or methods
- Software is designed by using objects that interact with one another
Object
An instance of a class containing data and methods.
Class
Blueprint for creating objects with shared properties.
UML
Unified Modeling Language for visualizing software design.
Unicode
A standard encoding system that assigns a unique numeric value to every character, regardless of the platform, program, or language.
AND
- Both inputs must be true in order for the output to remain true
- Both switches must be closed in order for the light to remain on
OR
- One or the other or both can be true for the output to remain true
- in a circuit, two switches in parallel to show that closing either will result in a light
NOT
Input results in the opposite for the output.
NAND
Output is the opposite of the AND operator.
NOR
Input results in the opposite of the OR operator.
XOR
Exclusive OR; either one or the other, but not both.
Word Processors
- A software application that is used for the production of any sort of document
- Includes tools for the composition, editing, formatting, and possibly printing of documents
- Word processing is the action of creating documents using a word processor
- While google docs makes it so a lot of this can now be done in a web browser, many computer systems still have all the windows applications installed on them
Spreadsheets
- A software application that is used for the organization and analysis of data
- The data in a spreadsheet application is represented as cells, organized in rows and columns
- Cells may contain numbers, text, or results of formulas that calculate and display values automatically on the basis of the contents in other cells
- Can compute fundamental operations of arithmetic and mathematical functions, provides common financial and statistical operations, and can be used to display the data visually in a variety of graphs and charts
Database Management Systems
- A software application that manages (creates, queries, updates, stores, modifies, and extracts information) databases and is designed to provide an interface between users and a database
- A database can be defined as an organized collection of data
- The data is organized into records
Web Browsers
- A software application used to access, retrieve, and present content on the World Wide Web
- This content may be web pages, images, videos, or other files and may be identified by a URI (Uniform Resource Identifier)
Electronic Mail
- A software application that allows for the exchange of digital messages from a single author to one or more recipients
The author and the recipients do not need to be online simultaneously to exchange the email
- Simple Mail Transfer Protocol (SMTP) is used to effectively transfer the mail to the right recipients with corresponding time stamped data
CAD
Computer-Aided Design
- A software that assists engineers to create, modify, analyze, and optimize a design
- Helps produce higher-quality designs as digital files that can be shared with those who need access
- Allows the engineers to inspect the design in a 3D space and look at all the angles
- Allows for materials, dimensions, and tolerances are presented and when one piece of information is changed, the dependent values are also changed accordingly
Graphic Processing Software
- Allows a user to manipulate visual images on a computer
- A user can edit an image with the use of tools in various ways, such as selecting and moving, cropping, scaling, erasing, etc.-
GUI
Graphical User Interface
- A type of user interface that allows users to interact with a computer or device using visual elements like icons, buttons, and menus
- Toolbar: buttons, icons, menus, or other input or output elements are placed
- Menu: displays a list of commands that can be chosen by the user to perform various functions
- Dialog Box: used to communicate information to the user and allow them to respond by choosing an option; some refer to these as pop-ups
Merger
Combination of two or more companies into a single firm.
Software as a System
- A computer system has the ability to run at least one software application, which has been installed by the manufacturer, to complete predefined tasks.
- Some computer systems (desktop, laptop, tablets, smartphones, etc.) allow the user to install a large number of software applications on to them. These applications allow the computers to complete more than just predefined tasks.
Parallel Changeover
The new system runs simultaneously with the old for a given period of time.
Direct Changeover
Switching from an old system to a new system at a single point in time, with no overlap.
Pilot Changeover
A conversion method involving testing the new system on a small scale within a test environment while continuing to use the old system.
Phased Changeover
Gradually replacing an old system with a new one, one part at a time, while still maintaining the old system for other areas.
Data Migration
- Refers to the transfer of data between different formats, storage types, and computer systems.
- Occurs when an organization changes, upgrades, or merges its information systems.
- Many problems may arise when transferring data from one system to another: incompatibility with the new system, non-recognizable data structures, data loss, incomplete data transfer, transfer errors, misinterpreted data due to incompatibilities
Alpha Testing
Done before the software product is made available to the general public. It is done by the company not the end-user.
Beta testing
Includes comments and suggestions of the users. Beta testing can be made available to the general public, but may be limited access. It also allows for the support team to anticipate expected issues.
Dry-Run Testing
Conducted using pen and paper by the programmer as they mentally run the algorithm and decide on what output of a run should become.
Unit Testing
Individual parts of a system are tested separately.
Integration Testing
The entire system is tested together to verify that all components work together.
User Acceptance Testing
Used to determine if the system satisfies the customer needs and in most cases is conducted in user premise before accepting transfer of ownership.