Monkeys deck for getting an A star Flashcards
What is CISC
Complex Instruction Set Computer
- Single Instruction can execute several low operations within single cycle
- takes less space in memory
- More expensive
- Makes programmers life easier
- Emphasis on hardware
- High Cycles per second
Application Software
Program Designed for user, people who actually use the product
-Communication Software, Digital Graphics, Animation, XBOX
General Purpose Software
Software for many purposes
-Word, PowerPoint Etc
Special Purpose Software
Specific Task
-Anti virus, Compression tool, Disk Defragmenter etc
Open Source
- Source Code can be accessed and modified by user
- Usually free
- Flexible
- Community Supported
- No warranty
- No updates from devs
Closed Source
Software where compiled code is released and the source code is closed.
- Restricts modification
- Can cost a lot
- May not fit user needs
- Comes with warranties
- Developers can hold copyright and restrict how software can be used
- Dev support
High Level Language
Source code is easy for human to write to , but computer needs to translate it into machine code before they can read it
- Code is easy to modify
- Must be translated into machine code
Low level Language
Hard for humans to red and write to but easy for computer to run
-Usually written for one type of machine
Sequence
Two or more statements executed one after the other, line by line and top down
Selection (Branching)
Used to select which statements will be executed next, depending on conditions i.e. IF , ELSE Statements
Iteration
Repetition, including Loop programs to repeat a number of statements i.e. FOR , WHILE Loops
Assembly Language
Part of low level languages
converted to machine code using assembler
uses mnemonics rather than binary
Assembly Language - (ADD)
Addition , add value at given memory address to value in accumulator
Assembly Language - (SUB)
Subtract , Subtract the value at given memory address to accumulator
Assembly Language - (STA)
Store, Store the value in Accumulator and the given memory address
Assembly Language - (LDA)
Load, Load the value at given memory into accumulator
Assembly Language - (INP)
Input , Allows the user to input a value which will be held in accumulator
Assembly Language - (OUT)
Output, Prints the value currently held in accumulator
Assembly Language - (HLT)
Halt, Stops the program at that line
Assembly Language - (DAT)
Data, Creates a flag with a label at which data is stored
Assembly Language - (BRZ)
Branch If Zero , Branches to a given address if the value in the accumulator is zero, This is conditional
Assembly Language - (BRP)
Branch If Positive , Branches to a given address if the value in the accumulator is Positive, This is conditional
Assembly Language - (BRA)
Branch If Always , Branches to a given address no matter the value of the accumulator, This is unconditional
TCP
Transmission Control Protocol
IP
Internet Protocol
Stages of TCP/IP Stack
- Application Layer - Specify what is being sent i.e Pop3 , HTTPS etc
- Transport Layer - Uses TCP to establish End-to-End connection. Splits data into Packets and labels packet with number
- Internet Layer - Adds source and destination IP address and IP port number (socket address). Router uses IP address to forward packet. Socket specifies device being sent to.
- Network Access/Link Layer - Physical Connection between network devices. Adds MAC address so packets can arrive at destination properly.
What is Abstraction
Abstraction - The process of removing excessive details to arrive at a representation of a problems that consist of only the key features.
-Hides complex information , prevents program from getting too large
Caching
Process of storing instruction or values in cache memory after they have been used.
Prefetching algorithms predict which instruction is likely to be fetched soon.
-Less time waiting
-difficult to implement
-accuracy of prefetched algorithm as information is predicted
Thinking Procedurally
-Breaks down into smaller parts which are easier to understand
- First stage - Break down into component parts. Decompose the problem into sub problems. Becomes more feasible to manage and divided between a group of people.
- Commonly used in top down design.
A Function
A subroutine which returns a value
A Procedure
A subroutine which does not return a value
Sections of Development in Waterfall and Rapid
- Feasibility
- Requirments
- Analysis and Design
- Implementation (Code)
- Testing
- Evaluation
- Maintaincance
Waterfall Application
Goes from one section to another allowing changes along the way each time. Very simple and fast allowing constant changes back. Well defined start and end. Client can only see product near end.
- Simple
- Clear stages
- Easy to keep to schedule
- Suitable for large products
- Carries risk
Rapid Application
Goes through cycle similar to waterfall but instead can only revert at the evaluation stage and go back to development, if its good it goes to maintenance. Great for rapidly developing software. Client needed at every stage.
- Continuous feedback from client
- Not good for large projects