generated from open-education-hub/oer-template
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Laborator 1 și Tutorial Docker Windows (#8)
- Loading branch information
Showing
61 changed files
with
464 additions
and
124 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Utilizare imagine docker Linux | ||
|
||
## Cerințe necesare | ||
|
||
## Rulare | ||
|
||
### Opțiunea 1 din Visual Studio Code | ||
|
||
1. Deschideți directorul repo-ului în Visual Studio Code. | ||
```bash | ||
code computer-architecture | ||
``` | ||
|
||
2. Instalați extensia [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). | ||
|
||
3. După veți avea opțiunea "Dev Containers: Reopen in container" (`CTRL+SHIFT+P`). | ||
|
||
### Opțiunea 2 prin docker | ||
|
||
1. Descărcați imaginea cu docker | ||
```bash | ||
docker pull gitlab.cs.pub.ro:5050/ac/ac-public/vivado-slim:1.0.0 | ||
``` | ||
|
||
2. Rulați un container cu imaginea | ||
```bash | ||
docker run --rm -it -v /dev:/dev gitlab.cs.pub.ro:5050/ac/ac-public/vivado-slim:1.0.0 /bin/bash | ||
``` | ||
|
||
3. Rulați vivado din imagine | ||
```bash | ||
vivado | ||
``` |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
# Utilizare imagine docker Windows | ||
|
||
## Cerințe necesare | ||
|
||
### WSL | ||
|
||
1. Deschideți meniul Start și tastați "Windows features" în bara de căutare și faceți clic pe "Turn Windows Features On or Off". | ||
|
||
2. Bifați casetele "Windows Subsystem for Linux" și "Virtual Machine Platform" și apăsați butonul "OK". | ||
|
||
3. Când operațiunea este completă, vi se va cere să reporniți computerul. | ||
|
||
4. Instalați distribuția dorită din command prompt: | ||
```bash | ||
wsl --install -d Ubuntu-22.04 | ||
``` | ||
|
||
Alt tutorial [Ubuntu](https://linuxconfig.org/ubuntu-22-04-on-wsl-windows-subsystem-for-linux) | ||
|
||
### Docker Desktop | ||
|
||
Instalare [Docker Desktop](https://www.docker.com/products/docker-desktop/). | ||
|
||
### Instalre XLaunch | ||
|
||
1. Descărcați [Xming X Server](http://www.straightrunning.com/XmingNotes/) - Public Domain Releases | ||
|
||
![installxlaunch1](../media/installxlaunch1.png) | ||
|
||
2. Deschideți installer-ul și apăsați butonul "Next". | ||
|
||
![installxlaunch2](../media/installxlaunch2.png) | ||
|
||
3. Apăsați butonul "Next". | ||
|
||
![installxlaunch3](../media/installxlaunch3.png) | ||
|
||
4. Apăsați butonul "Next". | ||
|
||
![installxlaunch4](../media/installxlaunch4.png) | ||
|
||
5. Apăsați butonul "Next". | ||
|
||
![installxlaunch5](../media/installxlaunch5.png) | ||
|
||
6. Selectați "Create a desktop icon for XLaunch" și apăsați butonul "Next". | ||
|
||
![installxlaunch6](../media/installxlaunch6.png) | ||
|
||
7. Apăsați butonul "Install". | ||
|
||
![installxlaunch7](../media/installxlaunch7.png) | ||
|
||
8. Apăsați butonul "Finish". | ||
|
||
![installxlaunch8](../media/installxlaunch8.png) | ||
|
||
### Visual Studio Code | ||
|
||
Descărcați și instalați [Visual Studio Code](https://code.visualstudio.com/download) | ||
|
||
### Clonați repo-ul materiei | ||
|
||
```bash | ||
git clone https://github.com/cs-pub-ro/computer-architecture.git | ||
``` | ||
|
||
## Rulare | ||
|
||
### Porniți XLaunch | ||
1. Deschideți XLaunch (Desktop sau Start Menu) | ||
|
||
2. Selectați opțiunile pentru Disaply și apăsați butonul "Next". | ||
|
||
![runxlaunch1](../media/runxlaunch1.png) | ||
|
||
3. Selectați "Start no client" și apăsați butonul "Next". | ||
|
||
![runxlaunch2](../media/runxlaunch2.png) | ||
|
||
4. Selectați "No access control" și apăsați butonul "Next". | ||
|
||
![runxlaunch3](../media/runxlaunch3.png) | ||
|
||
5. Apăsați butonul "Finish". | ||
|
||
![runxlaunch4](../media/runxlaunch4.png) | ||
|
||
|
||
### Opțiunea 1 din Visual Studio Code | ||
|
||
1. Deschideți directorul repo-ului în Visual Studio Code. | ||
```bash | ||
code computer-architecture | ||
``` | ||
|
||
2. Instalați extensia [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). | ||
|
||
3. După veți avea opțiunea "Dev Containers: Reopen in container" (`CTRL+SHIFT+P`). | ||
|
||
### Opțiunea 2 prin docker | ||
|
||
1. Descărcați imaginea cu docker | ||
```bash | ||
docker pull gitlab.cs.pub.ro:5050/ac/ac-public/vivado-slim:1.0.0 | ||
``` | ||
|
||
2. Rulați un container cu imaginea | ||
```bash | ||
docker run --rm -it -v /dev:/dev gitlab.cs.pub.ro:5050/ac/ac-public/vivado-slim:1.0.0 /bin/bash | ||
``` | ||
|
||
3. Rulați vivado din imagine | ||
```bash | ||
vivado | ||
``` |
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Template Chapter | ||
|
||
This is an instance of a lab placeholder. | ||
This will be used to showcase the different highlights of the syntax. | ||
|
||
This is another sentence | ||
|
||
In order to use links to to outside resources, you can add them as [such](http://example.com). | ||
|
||
This is a list of all the best cuisines in the world | ||
- Indian | ||
- Italian | ||
- French | ||
|
||
In order to make emphasize keywords, you can use **bold** words. | ||
To suggest a more metaphorical and less literal meaning of a phrase, you can use _italic_ words. | ||
|
||
## Section the first | ||
|
||
For each skill learned in the lab, you will use a subsection which will touch up on new concepts. | ||
|
||
For integrating figures, you will use `![Example SVG](../media/app-os-cpu-interaction.svg)`. | ||
|
||
![Example SVG](../media/app-os-cpu-interaction.svg) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
/slides.md | ||
/_site/ | ||
/media/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
RVMD = reveal-md | ||
MDPP = markdown-pp | ||
FFMPEG = ffmpeg | ||
|
||
SLIDES ?= slides.mdpp | ||
SLIDES_OUT ?= slides.md | ||
MEDIA_DIR ?= ../media | ||
SITE ?= _site | ||
OPEN ?= xdg-open | ||
|
||
.PHONY: all html clean videos | ||
|
||
all: videos html | ||
|
||
html: $(SITE) | ||
|
||
$(SITE): $(SLIDES) | ||
$(MDPP) $< -o $(SLIDES_OUT) | ||
$(RVMD) $(SLIDES_OUT) --static $@ | ||
|
||
videos: | ||
test -z $(TARGETS) || for TARGET in $(TARGETS); do \ | ||
$(FFMPEG) -framerate 0.5 -f image2 -y \ | ||
-i "$(MEDIA_DIR)/$$TARGET/$$TARGET-%d.svg" -vf format=yuv420p $(MEDIA_DIR)/$$TARGET-generated.gif; \ | ||
done | ||
|
||
open: $(SITE) | ||
$(OPEN) $</index.html | ||
|
||
clean: | ||
-rm -f $(MEDIA_DIR)/*-generated.gif | ||
-rm -fr media/ | ||
-rm -fr $(SITE) | ||
-rm -f $(SLIDES_OUT) | ||
-rm -f *~ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
|
||
#### Structură Calculator Numeric | ||
|
||
![Model general calculator numeric](media/mgcn.png) | ||
|
||
---- | ||
|
||
![Model structural calculator numeric](media/mscn.png) | ||
|
||
---- | ||
|
||
![Structură calculator numeric](media/scn.png) | ||
|
||
---- | ||
|
||
![Structură bloc calculator numeric](media/sbcn.png) | ||
|
||
--- | ||
|
||
#### Transfer memorie | ||
|
||
- Programat | ||
- Prin access direct la memorie | ||
- Prin canal I/E | ||
|
||
--- | ||
|
||
#### Modelul funcțional al unui Calcualtor Numeric |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
## Arhitectura Calculatoarelor (seria AB) | ||
|
||
### Ștefan Dan Ciocîrlan | ||
|
||
--- | ||
|
||
<!-- ### Biografie | ||
- Licență: UPB-ACS/IPP-ENSTA "Interacțiunea om-robot într-un context de asistență socială" | ||
- Disertație: UPB-ACS/IPP-ENSTA "Social engineering attack using humanoid robots" | ||
- Doctorat: UPB-ACS/NUS "Number representation systems in computer engineering" | ||
- Post-Doctorat: NUS "Singapore Blockchain Innovation Programme" | ||
- Proiecte: CuEVM, NRSL/HNRSL, ENRICHME | ||
--- --> | ||
|
||
### Cuprins materie | ||
|
||
0. Introducere | ||
1. Structură Calculator Numeric | ||
2. Reprezentarea și prelucrarea informației | ||
3. Memorii | ||
4. UAL | ||
5. Arhitectura Calculatorului Didactic | ||
6. Limbaje de asamblare | ||
7. Subsistem intrare/ieșire | ||
8. Întreruperi | ||
9. Microprogramare | ||
|
||
--- | ||
|
||
### Obiectivele materiei | ||
|
||
- Cultură generală despre arhitectura calculatoarelor | ||
- Reprezentarea informației | ||
- Memorii | ||
- Seturi de instrucțiuni | ||
- Codificare instrucțiuni | ||
- Limbaj de asamblare | ||
- Întreruperi de procesor | ||
- Descriere hardware a unui procesor prin limbajul Verilog |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
title: "Computer Architecture: 0 Introduction" | ||
revealOptions: | ||
background-color: 'white' | ||
transition: 'none' | ||
slideNumber: true | ||
autoAnimateDuration: 0.0 | ||
--- | ||
|
||
!INCLUDE "intro.md" | ||
|
||
--- | ||
|
||
!INCLUDE "content.md" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,34 @@ | ||
# Practice: Basic structural | ||
- Simulați un **sumator elementar complet**, utilizând sumatoare elementare parțiale. | ||
- Simulați un **sumator pe 4 biți**, cu două intrări și două ieșiri. Verificați corectitudinea sumatorului vizualizând semnalele în baza 10. | ||
- Simulați un **sumator pe 6 biți**, cu două intrări și o ieșire. | ||
- Simulați un **comparator** pe un bit. Acesta are două intrări și 3 ieșiri (pentru mai mic, egal și mai mare). | ||
# Practică: | ||
|
||
## 1. **Sumator elementar complet**, utilizând sumatoare elementare parțiale. | ||
Soluția se află în repo-ul materiei [GitHub](https://github.com/cs-pub-ro/computer-architecture/tree/main/chapters/verilog/basic/drills/tasks/fulladder). Implementarea unui sumatoar elementar parțial se poate găsi în fișierul `halfadder.v`, iar sumator elementar complet în `fulladder.v`. Observați modul în care sunt declarate sumatoarele elementare partțiale. | ||
```verilog | ||
halfadder l_m_halfadder_0( .o_w_s(l_w_s0), .o_w_cout(l_w_c0), .i_w_a(i_w_a), .i_w_b(i_w_b) ); | ||
halfadder l_m_halfadder_1( .o_w_s(o_w_s), .o_w_cout(l_w_c1), .i_w_a(i_w_cin), .i_w_b(l_w_s0) ); | ||
``` | ||
Pentru a crea proiectul putem folosi comanda ```make build```. Pentru simulare ```make simluation``` și pentru a deschide întreg proiectul în vivado și a avea posibilitatea de a încărca pe FPGA ```make vivado```. | ||
|
||
## 2. **Sumator pe 4 biți**, cu două intrări și două ieșiri. | ||
Soluția se află în repo-ul materiei [GitHub](https://github.com/cs-pub-ro/computer-architecture/tree/main/chapters/verilog/basic/drills/tasks/adder_4bits). Rulați simulare (```make simluation```) și verificați corectitudinea sumatorului vizualizând semnalele în baza 10. | ||
|
||
## 3. **Sumator pe 6 biți**, cu două intrări și o ieșire. | ||
Soluția se află în repo-ul materiei [GitHub](https://github.com/cs-pub-ro/computer-architecture/tree/main/chapters/verilog/basic/drills/tasks/adder_6bits). Încărcați programul pe FPGA (```make vivado```), urmărind ghidul. | ||
|
||
## 4. **Comparator** pe un bit. | ||
Acesta are două intrări și 3 ieșiri (pentru mai mic, egal și mai mare). Soluția se află în repo-ul materiei [GitHub](https://github.com/cs-pub-ro/computer-architecture/tree/main/chapters/verilog/basic/drills/tasks/comparator). Simulați și încărcați pe FPGA. | ||
|
||
## Test | ||
Aveți următorul tabel de adevăr: | ||
|
||
| a | b | c | f | | ||
| - | - | - | - | | ||
| 0 | 0 | 0 | 1 | | ||
| 0 | 0 | 1 | 0 | | ||
| 0 | 1 | 0 | 0 | | ||
| 0 | 1 | 1 | 0 | | ||
| 1 | 0 | 0 | 1 | | ||
| 1 | 0 | 1 | 1 | | ||
| 1 | 1 | 0 | 1 | | ||
| 1 | 1 | 1 | 0 | | ||
|
||
Intrările sun `a`, `b`, `c` iar ieșirea este `f`. Implementați modulul verilog este definit de acest tabel de adevăr. |
File renamed without changes.
Oops, something went wrong.