计算机指令

linux的基本指令--第三节

我怕爱的太早我们不能终老 提交于 2020-02-21 19:47:56
查找与检索: 一.文件名查找:find . -name "test*" find 路径 查找类型 名字 未输入路径则默认当前路径 二 . 内容检索:grep "he*" ./ -R 查找内容为he*(e有0个或多个) 内容 路径 连同子目录中所有文件一起查找。 注意:文件名查找中的*是通配符。内容检索中的*是正则表达式 - c : 只输出匹配行的计数。 -i: 不区分大小写(只适用于单字符)。 -h : 查询多文件时不显示文件名。 -l : 查询多文件时只输出包含匹配字符的文件名。 -n: 显示匹配行及行号。 -s: 不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。 -R:连同子目录中所有文件一起查找。 磁盘管理: 一. 挂载和卸载U盘: 检测存储设备名称 : sudo fdisk -l 2.挂载存储设备sdbl到挂载点/mnt目录 sudo mount /dev/sdb1 /mnt 将/dev/sdb1(U盘所在设备) 挂载到/mnt    3. 访问 : /mnt 如果/mnt中为hqfs 表示失败    4.卸载/mnt : Sudo umount /mnt echo "hello" >Hi //>为输出重定向 二 . 拷贝: dd if=sfile of=dfile //if表示inputfile of表示outputfile

第五周学习总结

橙三吉。 提交于 2020-02-19 23:24:29
信息安全系统设计基础第六周学习总结 【学习时间: 6 小时】 一、学习过程 1.一个处理器支持的指令和指令的字节级编码称为它的指令集体系结构。 2.程序员可见的状态: Y86程序中的每条指令都会读取或者修改处理器状态中的某些部分。这称为程序员可见状态。 3.存储器:从概念上来说是一个很大的字节数组,保存着程序和数据。 4.程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状态;它会指示是正常运行还是出现了某种异常。 5.Y86指令不允许从一个存储器地址到另一个存储器地址,也不允许从立即数到存储器。 6.halt指令停止指令的执行。并将状态码设置为HLT。 7.Y86利用绝对地址进行寻址,而且使用小端法编码。 8.指令集的一个重要性质就是字节编码必须有唯一的解释。 9.Stat包括四种状态,除了AOK表示正常执行外,其他状态都会导致处理器停止。在更完整的设计中,处理器通常都会调用一个异常处理程序。 10.Y86与IA32代码主要的区别就是,前者需要多条指令去执行一条IA32指令完成的功能。 11.以“.”开头的是汇编器命令,它们告诉汇编器调整地址,以便在那产生代码或者是插入一些数据。 12.指令模拟器YIS 目的是模拟Y86机器代码程序的执行,而不用试图去模拟任何具体处理器实现的行为。 13.将很多的逻辑门组合成一个网,就能构建计算块,称为组合电路。限制如下:

PythonStudy——机器语言 Machine Language

霸气de小男生 提交于 2020-02-18 08:20:41
编程语言 编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 1、机器语言 :直接编写二进制指令的编程方式 机器语言(machine language)是一种 指令 集的体系。这种指令集,称 机器码 (machine code),是电脑的CPU可直接解读的数据。 机器码有时也被称为原生码(Native Code),这个名词比较强调某种 编程语言 或库,它与运行平台相关的部份。 机器语言是用 二进制 代码表示的计算机能直接识别和执行的一种 指令系统 的集合。 它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。 不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的 程序 ,不能在另一种计算机上执行。 一条指令就是 机器语言 的一个语句,它是一组有意义的二进制代码,指令的基本格式如,操作码字段和地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。 除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。 机器语言是微处理器理解和使用的,用于控制它的操作二进制代码。 8086 到

Sim300模块AT命令

£可爱£侵袭症+ 提交于 2020-02-18 08:08:56
GPRS模块和应用系统是通过串口连接的,控制系统可以发给GPRS模块AT命令的字符串来控制其行为。GPRS模块具有一套标准的AT命令集,包括一般命令、呼叫控制命令、网络服务相关命令、电话本命令、短消息命令、GPRS命令等。详细信息请参考相关的应用文档。用户可以直接将模块和计算机串口相连,打开超级终端并正确设置端口和如下参数:波特率设为115200,数据位为8,关闭奇偶校验,数据流控制采用硬件方式,停止位为1。然后可以在超级终端里面输入“AT”,即可以看到GPRS模块回显一个“AT”;亦可以尝试下列AT命令子集。 1) 一般命令 AT命令字符串功能描述: AT+CGMI :返回生产厂商标识 AT+CGMM:返回产品型号标识 AT+CGMR: 返回软件版本标识 ATI发行的产品信息 ATE<value> :决定是否回显输入的命令。value=0表示关闭回显,1为打开回显。 AT+CGSN :返回产品序列号标识 AT+CLVL? :读取受话器音量级别 AT+CLVL=<level>:设置受话器音量级别,level在0—100之间,数据越小则音量越轻。 AT+CHFA=<state>:切换音频通道。State=0为主音频通道,1为辅助音频通道。 AT+CMIC=<ch>,<gain>:改变MIC增益,ch=0为主MIC,1为辅助MIC;gain在0—15之间。 2) 呼叫控制命令

搞嵌入式的,为啥要有uboot

旧街凉风 提交于 2020-02-17 19:59:42
为什么要有uboot 1.1、计算机系统的主要部件 (1)计算机系统就是以CPU为核心来运行的系统。典型的计算机系统有:PC机(台式机+笔记本)、嵌入式设备(手机、平板电脑、游戏机)、单片机(家用电器像电饭锅、空调) (2)计算机系统的组成部件非常多,不同的计算机系统组成部件也不同。但是所有的计算机系统运行时需要的主要核心部件都是3个东西: CPU + 外部存储器(Flash/硬盘) + 内部存储器(DDR SDRAM/SDRAM/SRAM) 1.2、PC机的启动过程 (1)部署:典型的PC机的BIOS程序部署在PC机主板上(随主板出厂时已经预制了),操作系统部署在硬盘上,内存在掉电时无作用,CPU在掉电时不工作。 (2)启动过程:PC上电后先执行BIOS程序(实际上PC的BIOS就是NorFlash),BIOS程序负责初始化DDR内存,负责初始化硬盘,然后从硬盘上将OS镜像读取到DDR中,然后跳转到DDR中去执行OS直到启动(OS启动后BIOS就无用了) 1.3、典型嵌入式linux系统启动过程 (1)典型嵌入式系统的部署:uboot程序部署在Flash(能作为启动设备的Flash)上、OS部署在FLash(嵌入式系统中用Flash代替了硬盘)上、内存在掉电时无作用,CPU在掉电时不工作。 (2)启动过程:嵌入式系统上电后先执行uboot、然后uboot负责初始化DDR

汇编语言(四)--第一个程序

大兔子大兔子 提交于 2020-02-17 09:16:56
第四章 第一个程序 4.1 一个源程序从写出到执行的过程 简要过程: 编写 ⟶ \longrightarrow ⟶ 编译 ⟶ \longrightarrow ⟶ 连接 ⟶ \longrightarrow ⟶ 执行 编写汇编源程序 使用文本编辑器,用汇编语言编写汇编源程序 对源程序进行编译连接 使用汇编语言编译程序对源程序文件中的源程序进行编译,产生 目标文件 ;再用连接程序对目标文件进行连接,生成可在操作系统中直接运行的 可执行文件 。 可执行文件 可执行文件中包含两部分内容: 程序(从原程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据) 相关的描述信息(比如:程序有多大、要占多少内存空间等) 执行可执行文件中的程序 在操作系统中,执行可执行文件中的程序。 操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化(比如:设置CS:IP指向第一条要执行的指令),然后由CPU执行程序。 4.2 源程序 汇编指令 有对应的机器码的指令,可以被编译为机器指令,最终为CPU所执行 伪指令 没有对应的机器码的指令,最终不被CPU所执行。 谁来执行伪指令呢? 伪指令是由 编译器 来执行的指令,编译器根据伪指令来进行相关的编译工作 4.2.1 定义一个段 segment和ends是一对成对使用的伪指令,这是在写可被编译器编译的汇编程序时

第一篇:初识Python

可紊 提交于 2020-02-17 07:32:14
一 本节目标 二 了解编程语言 2.1 为什么要编程? 2.2 什么是编程语言? 2.3 编程语言分哪些种类? 三 python简介 3.1 Python的前世今身 3.2 Python可以应用于众多领域 3.3 python是一种怎样的语言 3.4 为何选择Python 3.5 Python解释器的种类 3.6 python解释器的发展史 四 python环境 五 python入门 5.1 第一句python代码 5.2 文件头 5.3 注释 5.4 执行脚本传入参数 5.5 了解pyc文件 六 变量 6.1 为何要有变量 6.2 变量的声明与引用 6.3 标识符命令规范: 6.4 变量的赋值 七 输入输出 八 简单的运算符 九 流程控制 9.1 条件语句 9.2 循环语句 十 本节练习 一 本节目标 了解编程语言 了解python及与其他语言的优劣对比 安装python解释器及环境变量配置、运行python交互式环境 打印hello world程序 初识变量、用户输入,流程控制,while循环 二 了解编程语言 2.1 为什么要编程? 解放人力 :让机器(比如计算机)按照人们事先为其编写好的程序自发地去工作 2.2 什么是编程语言? 人----------->汉语--------------->中国人 八格牙路----------->日本人 汪汪汪------------->狗

类文件结构

北城余情 提交于 2020-02-17 06:46:55
1. 概述   计算机只认识0和1,所以我们写的程序需要经过编译器翻译成0和1构成的二进制格式才能由计算机执行,现在越来越多的程序语言选择了与操作系统和机器指令集无关的、平台中立的格式作为程序编译后的存储格式。各种不同平台的虚拟机与所有平台都统一使用的程序存储格式--字节码,是构成平台无关性的基石。同时Java虚拟机也在发展语言无关性,目前java虚拟机之上可以运行的语言有:Clojure、Groovy、JRuby、Jython和Scala等。实现语言无关性的基础仍然是虚拟机和字节码存储格式,java虚拟机不和包括java在内的任何语言绑定,它只和“Class文件“这种特定的二进制文件格式所关联,Class文件中包含了java虚拟机指令集和符号表以及若干辅助信息。Class文件是java虚拟机执行引擎的数据入口。 2.Class类文件的结构   Class文件是一组以8位字节为基础单位的二进制流。Class文件只有2种数据类型:无符号数和表。   无符号数属于基本的数据类型,以u1、u2、u4、u8来分别代表1个字节、2个字节、4个字节和8个字节的无符号数,无符号数可以用来描述数字、索引引用、数量值或者按照UTF-8编码构成的字符串值。   表是由多个无符号数或者其它表作为数据项构成的复合数据类型。   (1) 魔数与Class文件的版本    

体系结构复习3

送分小仙女□ 提交于 2020-02-16 02:45:28
流水线技术 访问主存的冲突解决 设置两个独立编址的存储器 指令和数据依然混合放在同一个主存,但设置两个Cache:指令Cache和数据Cache。程序空间和指令空间相互独立的系统结构称为哈佛结构。 指令和数据依然混合放在统一主存,但主存采用多体交叉结构。(有一定的局限性) 在主存和指令分析部件之间增设指令缓冲站 先行指令缓冲站 先行程序计数器PC1 先行程序计数器PC 指令缓冲 存储区 主 存 指令分析部件 指令寄存器IR 控 制 控制逻辑 器 指令缓冲存储区&控制逻辑 a) 按队列方式工作 b) 只要指令缓冲站不满,他就自动地向主存控制发取指令请求,不断地取指令 指令分析部件 a) 每分析完一条指令,就自动向指令缓冲站发出取下一条指令的请求。指令取出之后就把指令缓冲站中的指令作废。 b) 指令缓冲器中存放的指令条数是动态变化的 两个程序计数器 a) 先行程序计数器PC1:用于从主存预取指令 b) 现行程序计数器PC:用来记录指令分析部件当前正在分析的指令的地址 先行控制 先行控制技术:缓冲技术和预处理技术的结合 a) 缓冲技术:在 工作速度不固定 的两个功能部件之间设置缓冲器,用以 平滑 它们的工作。 b) 预处理技术:预取指令、对指令进行加工以及预取操作数等。 采用先行控制方式的处理机结构 主存储器 存储控制器 先行指令缓冲站 先行读数站 指令分析部件 先行操作站 运算控制器

CPU中断的工作原理,从最底层讲起

a 夏天 提交于 2020-02-15 13:23:23
  前言   中断的概念属于硬件层。虽然我们在进行软件编程时不会直接使用中断,但理解它对我们来说依然重要。   我们在使用线程切换及状态管理、异常处理、硬件与处理器的交互、I/O操作等指令时,中断都在默默的为我们服务。   处理器基于硬件封装对外的指令集,底层语言封装指令集为我们提供更加简单的抽象,高级语言基于底层语言赋予程序更明确的语义。可以看到在这条关系链条中,下层的变动会牵一发而动全身影响上层。而上层想要提高效率,改变机制也必须得到下层的支持。   像 I/O 处理的不断演进,从占用CPU等待到通过中断阻塞等待到多路复用与异步,如果没有下层的支持上层是不可能实现的。而不了解下层的原理我们也很难真正理解一个机制的高效的原因。因此了解下层的原理对应用层工程师来说同样重要。   什么是中断   现代计算机具有多任务处理的能力,往往一台我们办公使用的普通计算机上都会同时运行着几十上百的任务(进程)。我们很难想象,我们点击一下鼠标,需要等待计算机的进程调度模块调度到鼠标处理任务后再给我们做出响应,这对我们来说是不可接受的。   现实是我们在点击鼠标或键盘时(正如我现在在做的事情),计算机会立即给我反馈处理结果,计算机与我们之间是在进行实时交互的。而实时性的实现便是依赖了中断,中断是为了顺应人们对实时性交互的需求而产生的技术。中断之所以有用,是因为它会立刻停下当前的程序(软件