MIPS学习笔记——持续更新

2024年最全四大主流芯片架构(X86、ARM、RISC-V和MIPS)(1),程序员必须要了解的知识点 随着CPU技术的不断发展,Intel陆续研制出更新型的i80386、i80486直到今天的 Pentium 4系列,但为了保证电脑能继续运行以往开发的各类应用程序以保护和继承丰富的软件资源,所以 Intel公司所生产的所有CPU仍然继续使用X86指令集。基于RISC-V 指令集架构可以设计服务器CPU,家用电器CPU,工控CPU和用在比指头小的传感器中的CPU。RISC-V 指令集完全开源,设计简单,易于移植Unix系统,模块化设计,完整工具链,同时有大量的开源实现和流片案例,得到很多芯片公司的认可。 阅读详情

MIPS学习笔记——持续更新

第二章

偏移量

lw $t0, offset($s0) //offset是以字节为单位

大端小端地址

字地址放在最高有效字节上
P113 2.7
内存的地址是以字节为单位,内存地址之间相差一个byte
1个字节=2个16进制字符,一个16进制位=0.5个字节,4个比特

QtSpim9.1.20:Windows环境下的MIPS架构模拟与学习 MIPS(Microprocessor without Interlocked Pipeline Stages)是一种采用了精简指令集计算(RISC)的处理器架构。其设计理念在于简化指令的执行流程,通过固定的指令长度和简单的寻址模式,使得计算机能更高效地处理指令,进而提高性能和速度。MIPS架构最初由MIPS计算机系统公司在1981年开发,并广泛应用于高性能工作站和服务器中。QtSpim9.1.20模拟器的界面设计简洁直观,主要由以下几个部分组成:主菜单栏(Main Menu) 阅读详情

相关推荐

掌握MIPS32指令集:lw指令与汇编精讲

MIPS32架构是一种采用精简指令集计算(RISC)原则设计的处理器架构,最初由MIPS Technologies公司开发。该架构主要用于实现高性能的处理器,广泛应用于嵌入式系统、移动设备、网络设备以及小型个人电脑等领域。MIPS32的特点在于其简洁的指令集、强大的指令流水线以及良好的可扩展性,这些都是为了满足日益增长的计算需求和实现高效能的系统设计。数据处理指令主要用于执行基本的算术和逻辑运算,是实现程序功能的核心。具体包括:算术运算指令:如加法(add)、减法(sub)和乘法(mult)

weixin_36213081的博客 994

MIPS单周期CPU设计——lw和sw指令的设计

1.lw,sw指令格式及功能 指令 [31:26] [25:21] [20:16] [15:0] 意义 lw 100011 rs rt offset 从数存(数据存储器)中取数据写进寄存器 sw 101011 rs rt offset 将寄存器中的值写入数存 2.所需模块框图及指令执行过程 lw指令和sw指令需要DataMem(数据存储器)来取数据或存数据。 执行过程: lw: 从数存中取数据写入寄存器,rega提供数存单元地址(源),regc提供寄存器地址(目的)。 ①IF模块将

吴立赛的博客 5万+

mips中文学习手册

mips 有效的学习RISC ,简单的介绍了mips 和他的指令集相关内容

MIPS架构下LW指令的重定位过程

通常我们不会去关心指令重定位(relocation)的细节,编译器的ld过程已经帮助我们做好了。由于最近在移植CRIU,涉及到指令的重定位计算,不得不细细研究代码重定位的细节知识。之前的文章介绍了MIPS架构下函数跳转指令bal和jal和重定位过程,感兴趣的同学可以跳转到××查看,本章通过分析lw 指令来分析从内存加载数据到寄存器的重定位的过程。 本文有点烧脑,看完注意休息 “_” 首先看下面的示...

海棠花的博客 7988

MIPS指令中文学习手册

MIPS 是高效精简指令集计算机(RISC)体系结构中最优雅的一种; MIPS的指令格式只有3种: 1、 R(register)类型的指令。该类型指令从寄 存器堆(register file)中读取两个源操作数,计算结果写回寄存器堆。 2、I(immediate)类型的指令。该类型指令使用一个 16位的立即数作为一个源操作数。 3、J(jump)类型的指令。该类型指令使用一个26位的立即数作为跳转的目标地址(target address)。

硬件工程师八大细分岗位详解:从芯片到整机的技术分工与职业选择

硬件工程作为电子系统设计的核心领域,涉及从芯片级到整机级的完整技术链条。其基本原理是通过电路设计、信号处理和功率管理等技术,将电子元件集成为功能完备的硬件系统。随着产品复杂度提升,硬件工程师岗位出现高度专业化分工,这种细分不仅提升了技术深度,更优化了团队协作效率。在工程实践中,信号完整性和电源完整性成为高速数字设计的两个关键技术挑战,直接影响系统稳定性。本文基于行业热词"硬件工程师"和"信号完整性",深入解析八大细分岗位的技术差异,帮助从业者明确职业发展方向,构建系统化的硬件设计思维。

weixin_33811539的博客 450

系统规定偏移量左移2位以指示以字为单位的偏移量

系统规定偏移量左移2位以指示以字为单位的偏移量 mips按字节编址。 一个字(word)是4个字节。 字节的编号采取大端寻址:字地址放在最高有效字节上 byte 1 byte 2 byte 3 byte 4 byte 5 地址(字节)编号: 0 1 2 3 4 字编号: 0 x x x 1 如果偏移量以字为单位,mips按字节编址: 加入偏移量为1个字,实际上是偏移4个字...

TreepoBear的博客 2409

别再死记公式了!用TL072运放设计带通滤波器,调出干净正弦波的实战心得与误区盘点

本文分享了使用TL072运放设计带通滤波器的实战经验,重点解决波形失真问题,提供单电源供电优化、动态调谐技巧及仿真与现实的参数修正方法,帮助工程师调出纯净正弦波。内容涵盖模拟电路设计中的常见误区与解决方案,适合电子工程师和爱好者参考。

weixin_29172963的博客 404

MIPS指令集的常用指令分类和相关解释

MIPS(Microprocessor without Interlocked Pipeline Stages)是一种基于精简指令集(Reduced Instruction Set Computing,RISC)架构的32位微处理器。 MIPS指令集由约60条指令组成,支持基本的算术和逻辑运算、存储器访问、分支和跳转等操作,同时也支持异常处理和中断。MIPS架构的寄存器文件包含32个32位寄存器,其中0号寄存器始终为0,另外26个寄存器用于存储临时数据,而6个寄存器则用于存储函数调用和返回的地址。1.立即数

it3140257561的博客 1万+

PTA 7-8 暴力小学(二年级篇)-求出4个数字 (10分)java

PTA 7-8 暴力小学(二年级篇)-求出4个数字 (10分)java 小博是新城小学二年级学生,这孩子人很老实,数学、语文成绩都是中等。不过一旦坐在电脑前,写起代码来,则有些霸气侧漏,尤其擅长各种暴力方法。本题就是数学莫老师的题目之一,请你和小博一起暴力求解吧。 输入格式: 第一行给出这个和N(图中例子的和N为2000)。 输出格式: 第一行输出所有解的数目K,随后K行按照DCBA 4位数字从...

qryzhfj的博客 2188

从零到一:Cadence AC仿真中的运放性能参数深度解析与实战避坑指南

本文深度解析Cadence AC仿真中运放性能参数的精确测量方法,包括开环增益、带宽和相位裕度等关键指标。通过实战案例分享常见设置错误的避坑技巧,帮助工程师提升设计成功率和仿真效率,特别针对全差分运放和工艺角分析提供专业指导。

www00的博客 294

MIPS汇编自学 #1

内存地址的取决于操作数的存储的地方;.data: 表示在其后的若干行存储data数据格式如下.text: 表示在其后才是指令区;

qq_73669431的博客 419

79.ScottPlot的MVVM实现 C#例子 WPF例子

在你的 WPF 窗口的 XAML 文件中,定义一个,并将其Content属性绑定到 ViewModel 中的属性。这样可以将WpfPlot控件动态绑定到 ViewModel。

S13461120713的博客 2571

MIPS快速入门(原文+翻译):MIPS Architecture and Assembly Language Overview(持续更新中)

前言 发布该文章的网站已经无法访问,无法获得相关翻译授权,本人的翻译仅供大家参考学习,尽可能使用直译,并加上一些译者注(使用“ [1] ”的形式),以减少信息损失,本人水平有限,还请见谅。本文不得用于其他用途,侵删。 Adapted from: http://edge.mcs.dre.g.el.edu/GICL/people/sevy/architecture/MIPSRef(SPIM).html 点此获取 >>> 英文原文资源链接 其实我并不建议你看中译本,因为无论如何,翻译过后都会

X 5145

解锁Jetbrains AI助手:中国开发者实战配置与效率跃迁指南

本文为中国开发者提供了一份详细的Jetbrains AI助手实战配置指南。针对服务地域限制,核心解决方案是通过修改Jetbrains账户区域信息并配置网络代理,实现插件的稳定启用。文章进一步分享了AI助手在解读遗留代码、生成中文提交信息、智能问答等场景下的具体应用,旨在帮助开发者深度集成这一工具,实现编码生产力的显著提升。

weixin_28832121的博客 576

安卓讲课笔记1.1 安装Android Studio

1. 能安装配置Android Studio; 2. 能创建安卓虚拟机(AVD); 3. 能创建简单安卓应用

howard2005的专栏 3371

《初学计算机组成原理之MIPS指令集及汇编》

MIPS指令集及汇编 文章目录MIPS指令集及汇编前言一、从指令讲起(1)寄存器(2)指令的表示R型格式(register format)I型格式(Immediate format)J型格式(Jump format)二、MIPS汇编语言应用举例1.赋值语句2.决策指令:条件分支、循环总结 前言 本篇基于《计算机组成与设计:硬件、软件》和其他博客资料(链接放在文章尾部),供本人学习记录用,若有错漏欢迎指正 一、从指令讲起 MIPS指令集,就是计算机的“方言”手册,通过这些指令来操作计算机。那么,指令在计算机

oyx的博客 1万+

Python 爬虫反爬突破:浏览器指纹深度伪装技术

在当前网络安全与反爬虫技术日趋成熟的环境下,传统的请求头伪装、IP 代理已无法满足复杂站点的爬虫需求。浏览器指纹作为网站识别爬虫、区分真实用户与自动化程序的核心技术,成为爬虫进阶必须突破的关键壁垒。浏览器指纹通过采集浏览器环境、硬件信息、渲染特性等多维数据生成唯一标识,即使更换 IP、清除 Cookie,网站仍可精准识别爬虫程序。本文聚焦浏览器指纹深度伪装技术,从指纹生成原理、核心指纹类型、Python 实现方案、高匿伪装实战到风控绕过策略,全方位讲解浏览器指纹的突破方法。Selenium 官方文档。

2503_91057718的博客 639

MIPS CPU 开源项目教程

MIPS CPU 开源项目教程 项目介绍 本项目是由GitHub用户Hellsegamosken2001维护的一个实现MIPS架构CPU的开源项目。MIPS(Microprocessor without Interlocked Pipeline Stages)是一种精简指令集计算(RISC)架构,广泛应用于嵌入式系统、教育领域以及早期的高性能计算机中。该项目旨在通过软件模拟的方式展示一个基本的MI...

gitblog_00057的博客 475

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

MIPS rop gadgets记录贴&&持续更新

前言 本帖记录一些常用的,效果好的 rop gadgets. uClibc 从栈中设置$t9 并跳到 $t9 的gadgets , __thread_start 函数第二行 使用 案例 使用tips: 调用函数时,进入函数内部时要求 $t9 指向函数的起始地址。 lw $t9, arg_0($sp) jalr $t9 四个组合使用,调用栈中 shellcode 的 rop_g...

weixin_30339457的博客 714

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

北航计组实验代码、电路(持续更新)

警告!!!北航计算机学院严查代码,请勿完全抄袭。如被查重导致成绩取消或受校纪处分后果自负。鼓励自行思考,因为课上测试不允许自带材料。一、教程、p0、p1、p2二、p3--Logisim单周期处理器三、p4--Verilog单周期处理器(更新中,课程要求可能有变) 一、教程、p0、p1、p2 前六周为教程部分,需自学数字电路、Verilog、MIPS(含Logisim、ISE、Mars汇编器三种软件...

zhangwancongcsdn的博客 1万+

处理器架构、指令集和汇编语言,三者有何关系?_mips架构指令和汇编有什么关系

其次汇编语言对应一条条指令集,所以当指令集改变时,就得修改相应汇编语言,导致其可移植性很差,不能跨平台使用,如ARM的汇编语言与Intel X86的就不同。这时人们就想开发一种更方便操作,超越指令集的语言,于是有了C,C++等。我打个比方,一个人买回来一个电灯,他使用时并不需要知道电灯发光的原理,只要看说明书使用方法:怎样接线就能实现发光的效果。前端怎么实现取指令啊,解码怎么让其他部件的得知将要执行的指令,怎样分发指令,执行,写回,操作数旁路转移,预取指令,,机器能理解的),汇编就是给人看的,人能理解的。

2401_84919801的博客 1234

探秘HUST CS MIPS CPU: 构建自己的模拟计算机

探秘HUST CS MIPS CPU: 构建自己的模拟计算机 项目简介 在软件的世界里,理解硬件的工作原理是提升技能深度的重要一环。 是一个开源项目,它提供了一个完整的MIPS(Microprocessor without Interlocked Pipelined Stages)指令集架构的CPU模型,由华中科技大学计算机科学与技术学院的学生开发。通过这个项目,你可以学习到计算机体系结构的基础知...

gitblog_00014的博客 373

MIPS32多周期CPU设计与实现:引领你探索计算机组成原理的奥秘

MIPS32多周期CPU设计与实现:引领你探索计算机组成原理的奥秘 去发现同类优质开源项目:https://gitcode.com/ 在计算机科学领域,理解CPU的工作原理至关重要。今天,我们将为您介绍一个开源项目——MIPS32多周期CPU设计与实现(含报告),该项目不仅能够帮助您深入理解计算机组成原理,还能在实际操作中提升您的设计与实现能力。 项目简介 MIPS32多周期CPU设计与实现项目是...

gitblog_06713的博客 1032

探索 UltraMIPS_NSCSCC:一款高效的 MIPS 模拟器与编译器

探索 UltraMIPS_NSCSCC:一款高效的 MIPS 模拟器与编译器 去发现同类优质开源项目:https://gitcode.com/ 在计算机科学的世界里,理解和模拟处理器架构是基础教育和研究的关键环节。而 是一个专为 MIPS 架构设计的强大开源工具,它集 MIPS 模拟器与编译器于一身,提供了一个高效、灵活且易于使用的平台,无论是学习还是开发,都能提供极大的便利。 项目简介 Ult...

gitblog_00085的博客 843

oracle 客户端 for mips,Imagination/Oracle携手推支持MIPS架构的Java SE 8

ImaginaTIon宣布支持MIPS架构的Java SE 8现已正式上市,此新版本是ImaginaTIon和甲骨文(Oracle)持续合作的成果之一,目标是要为嵌入式和物联网(IoT)的应用增强Java,并为MIPS CPU架构优化Java效能。ImaginaTIon营销执行副总裁Tony King-Smith表示,随着网关和路由器日益增加更多功能,以及越来越多的各类产品都彼此互连,因此使Jav...

weixin_42227109的博客 181
上一篇: 德才论
下一篇: 算法分析--第一章
ZanLanguage
博客等级 码龄7年 2粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值