Elements of Computer Architecture

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/18

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

19 Terms

1
New cards

Hardware

comprised of physical, tangible parts.

Example: CPU, monitor, motherboard

2
New cards

Software

comprised of programs and operating systems.
Example: Windows, Linux, Microsoft Office, Zoom

3
New cards

Programs

composed of collections of instructions and procedures
that perform specific tasks on a computer.

4
New cards

Windows Command Line (CMD)

Windows’ text-based command interpreter that lets users interact with the computer by typing commands.

5
New cards

WMIC (Windows Management Instrumentation Command-line)

utility that queries, configures, and manages system settings via the WMI framework.

6
New cards

Binary: computers use the binary system, a system with two states. passing current or no current —> 1 or 0 ← called bit

true

7
New cards

How does the computer run a program?

The program is stored in RAM (memory cells with binary addresses), and the CPU executes it using the fetch–decode–execute cycle.

8
New cards

Von Neumann Architecture

  • One shared memory unit for program instructions and data, and one bus for memory access.

  • One arithmetic unit and one program control unit.

  • Instruction is fetched from memory and decoded, then relevant data is
    fetched, then instruction is executed.

  • Requires at least two clock cycles to execute an instruction.

  • Due to single memory unit and single bus, limited bandwidth causes a
    bottleneck situation.

  • Most commonly used in PCs.

9
New cards

Harvard Architecture

  • Two separate memory units: one for program instructions and one for

    data.

  • A set of address and data buses to read and write data to memory, and another set of address and data buses to fetch instructions.

  • Can fetch instruction and data simultaneously.

  • Can execute an instruction in only one clock cycle.

  • Faster and no bottleneck issues.

  • Requires more memory and hardware.

  • Most commonly used in embedded devices and signal processing.

  • More and more modern computers are using this.

10
New cards

The algorithm can be described in a variety of ways

  • Plain English

  • Pseudo-code

  • Flowchart

11
New cards

Pseudocode

  • an artificial and informal language that helps
    programmers develop algorithms.

  • "text-based" detail (algorithmic) design tool.

12
New cards

flowchart

a picture of the separate steps of a process in sequential

order. It is a generic tool that can be adapted for a wide variety of

purposes, and can be used to describe various processes, such as a

manufacturing process, an administrative or service process, or a

project plan.

23

13
New cards

programming language


a formal language comprising a set of
strings that produce various kinds of machine code output.

14
New cards

Program code

Implementation of an algorithm in a programming language.

15
New cards

Compiled

-Compiler converts the whole program to executable (machine code) before running.

-Runs faster and compiler not required to run the executable, but is more complex to develop.

-Allows the developer to have more control over hardware specs, i.e., memory management, CPU usage.

Examples: C, C++, Java, Rust, Go

16
New cards

Interpreted

converts the program to machine code instruction by instruction.
Easy to debug but a little slower - always requires interpreter to run.
More flexible, offer dynamic typing and smaller program size.
Examples: Python, Javascript, PHP, Ruby.


17
New cards

Strongly typed

A language that requires variable and object data types to be specified (integer,
string, float).
Allows for more structure, but less flexible

18
New cards

Loosely typed

A language that does not require variable and object data types to be specified.
More flexible and faster, but errors are more likely to occur.
Examples: JavaScript, Perl, Python, Ruby.

19
New cards

Fetch–Decode–Execute

  1. Fetch Instruction (Control Unit → Main Memory):

The CPU’s Control Unit gets (fetches) the next instruction from Main Memory and stores it in a register.

  1. Decode Instruction (Control Unit):

The Control Unit decodes the fetched instruction, figuring out what needs to be done.

  1. Get Data (ALU → Registers/Main Memory):

If the instruction needs data (like numbers for a calculation), the CPU retrieves it from memory or registers.

  1. Execute Instruction (ALU):

The Arithmetic Logic Unit (ALU) carries out the action (e.g., add, compare, move data).

Results may be stored back in registers or main memory.

👉 Then the cycle repeats for the next instruction.

<ol><li><p><span style="color: rgb(232, 4, 4);"><strong>Fetch Instruction (Control Unit → Main Memory):</strong></span></p></li></ol><p>The CPU’s Control Unit gets (fetches) the next instruction from Main Memory and stores it in a register.</p><ol start="2"><li><p><span style="color: rgb(250, 2, 2);"><strong>Decode Instruction (Control Unit):</strong></span></p></li></ol><p>The Control Unit decodes the fetched instruction, figuring out what needs to be done.</p><ol start="3"><li><p><span style="color: rgb(255, 6, 6);"><strong>Get Data (ALU → Registers/Main Memory):</strong></span></p></li></ol><p>If the instruction needs data (like numbers for a calculation), the CPU retrieves it from memory or registers.</p><ol start="4"><li><p><span style="color: rgb(253, 0, 0);"><strong>Execute Instruction (ALU):</strong></span></p></li></ol><p>The Arithmetic Logic Unit (ALU) carries out the action (e.g., add, compare, move data).</p><p>Results may be stored back in registers or main memory.</p><p><span data-name="point_right" data-type="emoji">👉</span> Then the cycle repeats for the next instruction.</p>