计组实验报告
实验一 存储器实验一、实验目的1、掌握FPGA中lpm_ROM只读存储器配置方法。
2、用文本编辑器编辑mif文件配置ROM,加载于ROM中;
3、验证FPGA中mega_lpm_ROM的功能。
二.实验原理 ALTERA的FPGA中有许多可调用的LPM (Library Parameterized Modules)参数化的模块库,可构成如lpm_rom、lpm_ram_io、lpm_fifo、lpm_ram_dq的存储器结构。CPU中的重要部件,如RAM、ROM可直接调用他们构成,因此在FPGA中利用嵌入式阵列块EAB可以构成各种结构的存储器,lpm_ROM是其中的一种。lpm_ROM有3组信号:地址信号address[ ]、数据信号q[ ]、时钟信号clk。由于ROM是只读存储器,所以它的数据口是单向的输出端口,ROM中的数据是在对FPGA现场配置时,通过配置文件一起写入存储单元的。
三.实验步骤(1)用图形编辑,进入mega_lpm元件库,元件库
调用lpm_rom元件,设置时钟信号clk,地址总线宽度a[7..0],数据总线宽度q[7..0],即地址8位,数据8位,并添 ...
基于Wireshark的TCP原理解析
(2)基于 Wireshark 的 TCP 原理解析的实验完成情况TCP
TCP的特点:
1、TCP是面向连接的运输层协议
2、每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的
3、TCP提供可靠交付的服务
4、TCP提供全双工通信。数据在两个方向上独立的进行传输。因此,连接的每一端必须保持每个方向上的传输数据序号。
5、面向字节流。面向字节流的含义:虽然应用程序和TCP交互是一次一个数据块,但TCP应用程序交下来的数据仅仅是一连串的无结构的字节流。
1)实验过程1 、打开wireshark软件
2、选择网络捕获接口,选择WLAN
3、选择过滤器为HTTP,并右键选择追踪流-TCP流
可以点击查看下方的详情信息
其中
Frame 1667为物理层
Ethernet为数据链路层以太网2
Internet Protocol Version 4为网络层
Transmission Control Protocol为传输层TCP
Hypertext Transfer Protocol为应用层TCP
4、以下为TCP数据包,其中包含三次握手与四次挥手
首先对握手进行分析
选 ...
操作系统上机实验六
实验六 信号量实现进程同步【实验软硬件环境】 Linux、Win11、GCC
【实验目的】进程同步是操作系统多进程/多线程并发执行的关键之一,进程 同步是并发进程为了完成共同任务采用某个条件来协调他们的活 动,这是进程之间发生的一种直接制约关系。本次试验是利用信号 量进行进程同步。
【实验内容】生产者进程生产产品,消费者进程消费产品。 • 当生产者进程生产产品时,如果没有空缓冲区可用,那么生产 者进程必须等待消费者进程释放出一个缓冲区。 • 当消费者进程消费产品时,如果缓冲区中没有产品,那么消费 者进程将被阻塞,直到新的产品被生产出来
【实验程序及分析】Windows下代码mutex.cpp123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 ...
操作系统上机实验五
实验五 命名匿名管道通信【实验软硬件环境】 Linux、Win11、GCC
【实验目的与内容】学习使用命名匿名管道在多进程间建立通信。
建立父子进程,由父进程创建一个命名匿名管道,由子进程向 命名管道写入数据,由父进程从命名管道读取数据。
【实验程序及分析】Windows下父进程代码father.cpp1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#include <windows.h>#include <process.h>#include <cstring>#include <stdio.h>int main() { HANDLE hPipeRead; HANDLE hPipeWrite = CreateNamedPipe(TEXT("\\\\.\\Pipe\\test_write"), PIPE_ACCESS_DUPLEX,//创建命名管道 P ...
操作系统上机实验四
实验四 匿名管道通信【实验软硬件环境】 Linux、Win11、GCC
【实验目的与内容】学习使用匿名管道在两进程间建立通信。
父进程创建一个匿名管道,在父子进程间建立通信
【实验程序及分析】Windows下父进程代码father.cpp1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980#include <windows.h>#include <process.h>#include<stdio.h>int main() { HANDLE hParentRead, hParentWrite, hChildRead, hChildWrite; SECURITY_ATTRIBUTES sa = {0}; ZeroMemory(&sa, sizeof(SECURITY_A ...
线性时不变系统的描述方法关系研究
连续线性时不变系统的描述方法关系研究(有错误!!) 一般认为,系统是指若干相互关联、相互作用的事物按一定规律组合而成的具有特定功能的整体。线性时不变系统由离散和连续时间组成。在连续系统中,信号多由微分方程表示;在离散系统中,信号多由差分方程表示。其中线性系统包含时间域、频率域、s域模型,离散系统包含时间域、z域模型。并且均可用相对应变换的系统框图、信号流图以及状态方程与输出方程表示。离散系统与线性系统在某种程度上很相似,故本文针对线性系统着重讨论。
信号与系统在对电路的分析中应用较广,故以下讨论围绕连续线性时不变系统的电路展开。在电子系统中,系统通常是电子线路,信号通常是随时间变化的电压或电流。从数学观点考虑,这类信号是独立变量t的函数f(t)。
一、连续系统描述方法讨论(1)数学方程表示
取自课本23页,图1.5-1所示为RLC串联电路。将电压源Us(t)看作是激励,选电容两端电压Uc(t)为响应。
1.时域方程由基尔霍夫电压定律(KVL)有:
(1.1-1)
根据各元件电压和电流的关系,得
将它们带入式(1. ...
计图Jittor
关于计图的学习教程可以参考一下网站Jupyter Notebook Viewer (nbviewer.org)
Jittor/LearnJittorBasicIn60Min: 计图零基础快速入门教程(60分钟) (github.com)
Jittor(计图): 即时编译深度学习框架 — Jittor (tsinghua.edu.cn)
下面列出一下安装可能遇到的问题(单纯是因为我菜)在浏览器打开计图笔记本docker run -it jittor/jittor-cuda /bin/bash
由于我是在ubuntu虚拟机中拉取计图的docker,所以输出结果有所不同
由于使用虚拟机的浏览器有些麻烦,故想要在物理机中的浏览器打开
在虚拟机终端输入ifcongif查看虚拟机的ip地址,并确保可以在物理机中ping通
把地址前的127.0.0.1替换成虚拟机的ip地址即可,例如
http://192.168.174.128/:8888/?token=fecb3456098c882ac58399425fdae7aec1c84253bf3816d5
进入jittor容器创建一个新容器
dock ...
操作系统上机实验三
实验三 信号通信【实验软硬件环境】 Linux、Win11、GCC
【实验目的与内容】利用信号通信机制在父子进程几兄弟进程间进行通信。
父进程创建一个有名事件, 由子进程发送事件信号,父进程获取事 件信号后进行相应的处理
【实验程序及分析】Windows下父进程代码father.cpp12345678910111213141516171819202122#include <process.h>#include <windows.h>#include <stdio.h>int main( ) { STARTUPINFO sui; //启动信息结构体 PROCESS_INFORMATION pi; //在创建进程时相关的数据结构之一,该结构返回有关新进程及其主线程的信息。 ZeroMemory(&sui, sizeof(sui)); sui.cb = sizeof(STARTUPINFO); CreateEvent(NULL, FALSE, FALSE, TEXT("event&quo ...
操作系统上机实验二
实验二 线程共享进程中的数据【实验软硬件环境】 Linux、Win11、GCC
【实验目的与内容】了解线程和进程之间的数据共享关系。创建 一个线程,在线程中更改进程中的数据
在进程中定义全局共享数据,在线程中直接引用该数据进行更改并输出该数据
【实验程序及分析】Windows系统下father.cpp文件代码123456789101112131415161718192021222324252627#include <stdio.h>#include <windows.h>static int count;//定义全局共享数据DWORD WINAPI ThreadProc(LPVOID IpParameter) { //线程函数,其中规定了线程要做的事 printf("新线程运行!\n\n"); printf("当前进程ID为%d\n\n",GetCurrentThreadId()); for (count = 1; count <= 10; count = count + 2) { // ...
操作系统上机实验一
实验一 进程的建立【实验软硬件环境】 Linux、Win11、GCC
【实验目的与内容】 学会通过基本的Linux进程控制函数, 有父进程创建子进程,并实现协同工作。 创建两个进程,让子进程读取输入,父进 程等待子进程读完文件后继续执行。
【实验程序及分析】Windows系统下父进程代码 father.cpp123456789101112131415161718192021222324252627282930313233#include<stdio.h>#include<windows.h>int main(){ STARTUPINFO sui; //启动信息结构体 PROCESS_INFORMATION pi; //在创建进程时相关的数据结构之一,该结构返回有关新进程及其主线程的信息。 ZeroMemory(&sui,sizeof(sui)); sui.cb = sizeof(STARTUPINFO); //将cb成员设置为信息结构体的大小 int sum = 0; char conten ...