Notes, summaries, assignments, exams, and problems for Computers

Sort by
Subject
Level

Essential MIPS Assembly Programming Practice Problems

Classified in Computers

Written on in English with a size of 2.83 KB

1. MIPS Addition of Four Variables

Code in MIPS to add the 4 integer variables: a, b, c, d.

add $e, $a, $b
add $e, $e, $c
add $e, $e, $d

2. MIPS Implementation of f = (g + h) - (i + j)

Mapping f, g, h, i, j to $s0, $s1, $s2, $s3, $s4:

add $t0, $s1, $s2
add $t1, $s3, $s4
sub $s0, $t0, $t1

3. Why is a MIPS Register 32 Bits?

32 bits occur frequently and thus in MIPS, it has a special name: ‘word’. A size of 32 aligns well with the MIPS instruction format.

4. Understanding Big Endian in MIPS

‘MIPS is Big Endian’ means the most significant byte is stored at the least address of a word.

5. Purpose of lw and sw Instructions

These are MIPS data transfer instructions used to access specific memory locations:

  • lw (load word): Transfer data from memory to
... Continue reading "Essential MIPS Assembly Programming Practice Problems" »

Understanding Microprocessor Architecture and Core Components

Classified in Computers

Written on in English with a size of 6.55 KB

  1. Introduction to Microprocessor

Definition:

  • “The microprocessor is a multipurpose, clock driven, register based, digital-integrated circuit which accepts binary data as input, processes it according to instructions stored in its memory, and provides results as output.”
    • “Microprocessor is a computer Central Processing Unit (CPU) on a single chip that contains millions of transistors connected by wires.” Introduction:
    • A microprocessor is designed to perform arithmetic and logic operations that make use of small number-holding areas called registers.
    • Typical microprocessor operations include adding, subtracting, comparing two numbers, and fetching numbers from one area to another.
  • Components of Microprocessor
    • Microprocessor is capable of performing
... Continue reading "Understanding Microprocessor Architecture and Core Components" »

Alpha Vantage API Integration for Stock Market Data

Classified in Computers

Written on in English with a size of 3.22 KB

Stock Market Data Integration

Listar

Stock Data Table Headers

OPENHIGHLOWCLOSEVOLUME

Alpha Vantage API Implementation

The following script utilizes jQuery AJAX to fetch real-time stock data for MSFT from the Alpha Vantage API.


function main() {
    $("#list").click(function() {
        $.ajax({
            type: "GET",
            url: "https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=1min&apikey=demo",
            success: function (azul) {
                var roxo = azul["Time Series (1min)"];
                for (var verde in roxo) {
                    var vermelho = roxo[verde];
                    var str = "<tr><td>" + vermelho["1. open"] + "</td>"
... Continue reading "Alpha Vantage API Integration for Stock Market Data" »

5 Essential Computer System Hardware Components Explained

Classified in Computers

Written on in English with a size of 1.76 KB

Computer System Components

There are five main hardware components in a computer system: Input, Processing, Storage, Output, and Communication devices. These devices are used for entering data or instructions into the central processing unit.

The Five Basic Components of a Computer System

  • Input Unit: Data and instructions must enter the computer system before any computation can be performed. The input unit links the external environment with the computer system to perform this task.
  • Output Unit: The job of an output unit is the reverse of an input unit. It supplies information and results of computation to the outside world, linking the computer with the external environment.
  • Storage Unit: Data and instructions entered through input units must
... Continue reading "5 Essential Computer System Hardware Components Explained" »

FIR vs. IIR Filters: Advantages, Disadvantages, & Structures

Classified in Computers

Written on in English with a size of 14.44 KB

FIR Filters

A Finite Impulse Response (FIR) filter is characterized by its finite-duration impulse response, settling to zero in a finite time. Unlike Infinite Impulse Response (IIR) filters, which can have internal feedback and respond indefinitely, an Nth-order discrete-time FIR filter's impulse response lasts precisely N+1 samples. FIR filters are predominantly implemented in software and can be continuous-time analog or digital and discrete-time.

Transfer Function of FIR Filter

Z

Frequency Response

Z

IIR Filters

An Infinite Impulse Response (IIR) filter is a recursive filter where the output is calculated using current and previous inputs and outputs. This feedback mechanism within the filter structure is a defining characteristic. IIR filter design... Continue reading "FIR vs. IIR Filters: Advantages, Disadvantages, & Structures" »

MIPS Architecture and Procedure Calls

Classified in Computers

Written on in English with a size of 3.74 KB

What is a Basic Block?

A basic block is a sequence of instructions with no embedded branches (except at the end) and no branch targets (except at the beginning). A compiler identifies basic blocks for optimization. An advanced processor can accelerate the execution of basic blocks.

Six Steps Involved in Procedure Calling

  1. Place parameters in registers.
  2. Transfer control to the procedure.
  3. Acquire storage resources.
  4. Perform the desired operation.
  5. Place the result in a register for the caller.
  6. Return to the point of origin.

Register Saving Responsibilities

Between the caller and callee, the responsibility for saving registers is as follows:

  • Temporary registers ($t*): Can be overwritten by the callee.
  • Saved temporary registers ($s*): Saved and restored by the
... Continue reading "MIPS Architecture and Procedure Calls" »

Dynamic Table Generator

Classified in Computers

Written on in English with a size of 59 bytes

Dynamic Table Generator

ROW:
COL:

MIPS Overflow, Floating-Point Arithmetic, and Digital Logic

Classified in Computers

Written on in English with a size of 6.76 KB

1. Half-Adder Truth Table and Circuit

For a two single-bit input, draw the truth table and corresponding circuit for the half-adder.

Truth Table

Where A and B are the input values, C is the output carry, and Σ is the sum.

ABC (Carry)Σ (Sum)
0000
0101
1001
1110

(The question also requires a circuit diagram, which typically consists of an XOR gate for the Sum and an AND gate for the Carry.)

2. MIPS Overflow Handling Options

MIPS provides the following instruction options to handle overflow:

  • add, addi, sub: These instructions cause an exception on overflow.
  • addu, addui, subu: These instructions do not cause an exception on overflow.

3. MIPS Signed Addition Overflow Check

To avoid exceptions when performing signed addition, one can use addu and check for overflow... Continue reading "MIPS Overflow, Floating-Point Arithmetic, and Digital Logic" »

C Development Tools and Functions: A Comprehensive Guide

Classified in Computers

Written on in English with a size of 2.85 KB

Which C development tool may add automatically malicious source code to the original application source code?

C Preprocessor

Which C software development tool may inadvertently add compiled object/binary code to the original compiled application object code?

Linker or Linkage Editor

If two programmers are developing two separate files a.c and b.c to be merged into one source code before compilation, and one declares in a.c global integer variable int j; how should the other programmer declare and use the same integer variable j in the source code b.c. Write a line of code that allows the second programmer to use in b.c declaration of variable j from the first file a.c?

extern int j;

What does ELF specify?

Executable file format, Executable file header,... Continue reading "C Development Tools and Functions: A Comprehensive Guide" »

Operating Systems: Functions, Components, and Network Basics

Classified in Computers

Written on in English with a size of 3.51 KB

Functions of Operating Systems

Processor Management

The Operating System distributes the processor between different programs.

Random Access Memory Management

The Operating System coordinates the memory space that each application has. When physical memory is insufficient, the Operating System can create a "virtual memory" on the hard disk.

Input/Output Management

The Operating System allows the unification of program access to material resources through controllers.

Execution of Application Administration

The Operating System is responsible for ensuring that applications run smoothly.

Authorization Management

Guarantees that resources are only used by programs and users with the corresponding authorizations.

File Management

The Operating System manages... Continue reading "Operating Systems: Functions, Components, and Network Basics" »