(1) Introduction to Pipelining
There are several key concepts that are used in many ways in computer architecture. One of these concepts is called pipelining and it is used in several ways in pretty much every computer nowadays.
Pipelining is crucial to improving performance in processors; it increases throughput and reduces cycle time. The downside of pipelines is the increase in hazards for both controls and data.
(2) The Real Oil Pipeline
So how do pipelining works? Let’s think about the following metaphor. Suppose we want to transport oil between a filling station and an oil production plant and we have two methods to do that. …
Let’s start by assuming that you have no Vagrant installed, you can go to the official website of Vagrant and download its latest version. You may also need to download Virtual Box.
2. Build the Top-level Directory
Now, let’s create a top-level directory that we plan to use for this series,
$ cd ~
$ mkdir CS6200
$ cd CS6200
$ mkdir pr1
$ mkdir pr3
$ mkdir pr4
Download and save the Vagrantfile from this link.
$ curl https://gist.githubusercontent.com/Sadamingh/4866874eb05cf1ae92de6d8ada756a26/raw/1258f3ba822d382c42096e65e33c40702a369c56/Vagrantfile > Vagrantfile
3. Set up the Virtual Machine
From the directory with a Vagrantfile
, we can use,
$ vagrant…
(1) VirtualBox Installation
In this section, we would like to set up the experiment environment by the virtual machine. To continue, let’s download and install the Oracle VM VirtualBox 6.1 (if there’s a new version, download the new one) from this link (for Mac OS). Then, this should be installed as the VirtualBox application.
In China, it can be quite slow when we do,
$ sudo apt-get update
How to deal with this?
Step 1. Open the sources.list
file
$ sudo gedit /etc/apt/sources.list
Step 2. Replace the content with the following sources
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ …
(1) The Definition of Operating System
In simplest terms, an operating system is a piece of software abstract and arbitrates the underlying hardware system. In this context, abstract means to simplify what the hardware actually looks like, and arbitrates means to manage and oversee the controlling of the hardware.
Note that the cache memory is not managed by the operating system. Instead, it is managed by the hardware.
(2) Three Functions of Operating System
(1) The Definition of Latency and Throughput
Usually, we say performance, we mean the “processor speed”. But even then, there are really two aspects of performance that are not necessarily identical. One is called latency, the other is called throughput.
We will see why they are not identical.
(2) The Relationship Between Latency and Throughput
Some may think that the value of the throughput is actually 1 over latency, which is,
(1) The Definition of Architecture
The concept of architecture means to design a building that is well-suited for its purpose.
(2) The Definition of Computer Architecture
The concept of computer architecture means to design a computer that is well-suited for its purpose.
(3) Goals of Computer Architecture
(4) Computer Architecture And Technology Trends
If we design computer architecture with the current technology then it will turn out to be an obsolete computer. …
// A basic C++ Program#include <iostream>
using namespace std;int main() {
cout << "Hello World!";
}
//
are used to denote this line as a comment.#
symbol means this line is a preprocessor directive. The preprocessors are the directives, which give instructions to the compiler to preprocess the information before the actual compilation starts. Preprocessor directives are not C++ statements, so they do not end in a semicolon ;
. This command requests the standard IO header file iostream
be included.std::cout
is equivalent to cout
. …A reduced instruction set computer, or RISC, is a computer with a small, highly optimized set of instructions. Microprocessor without Interlocked Pipelined Stages (MIPS) is a special kind of RISC architecture. The instruction set of the MIPS64 can be found here.
ADD R1, R2, R3
Or,
ADD R1 = R2 + R3
SUB R1, R4, R5
In this experiment, we are going to create a 4-digit clock with the time.c
module and the gpio.c
model. This clock should have the following features.
----
until the button is pressed.----
, the clock should count the loop from 0000
to 9999
.0000
and it should display ----
. …About