计算机指令

计算机组成原理学习1笔记1

别等时光非礼了梦想. 提交于 2020-01-22 23:52:36
计算机系统简介 硬件体系 讲授内容:计算机、组织(组成:计算机硬件系统的逻辑实现 ——数字电路、数字逻辑)、原理(不依托机器) 基本内容 基本部件的结构与组织方式 基本运算的操作原理 基本部件与基本单元的设计思想,如何将部件连接起来 特色 计算机组成的一般原理,不易具体机型为依托 采用自顶而下的方式、层层细化 教材:唐硕飞 - 计算机组成原理(第二版),学习指导与习题解答 参考教材: Patterson\Hennessy- 计算机组成与设计:硬 / 软件接口;数字设计和计算机体系结构(共有两部分,实现处理器) 计算机组成原理是连接软硬件的中间层 课程组织 1、概论 2、 计算机系统硬件结构 存储器、 IO 、 CPU 、系统总线 3、CPU ( ALU 、 CU 、寄存器) 4、CU (排队逻辑、寄存器解码器、控制存储器) 第一章 计算机系统概论 物联网:将传感器嵌入到各设备之中,并且被普遍连接,即 “物联网”, + “互联网” = 人类社会与物理系统的整合。 超算:HPC(higher performance computer) TF(千万亿次) 1.1计算机软硬件概念     计算机系统:硬件(实体)、软件(具有各类特殊功能的信息组成)   层次结构——软件:系统软件(管理整个计算机系统;语言处理程序,操作系统,服务性程序(数学库),数据库管理系统)、应用软件

计算机组成原理复习题目

微笑、不失礼 提交于 2020-01-22 02:10:21
计算机组成原理期末复习题 世界第一台通用电子计算机ENIAC,1946 第一台存储程序式计算机-EDSAC,1949 数据校验码主要有奇偶校验码、海明校验码和循环冗余校验码 磁表面存储器记录信息是利用磁性材料的磁滞回归线特性( 计算机的字长取决于运算器一次运算二进制数的位数 模m交叉存储器有m个存储模块,它们有各自的地址寄存器和数据缓冲寄存器 使用虚拟存储器时,由操作系统完成地址转换 若显示器灰度级为32,则每像素应用5位表示 RAM芯片位扩展可以增加存储器字长 输入输出指令的功能是CPU与外设的数据传送 假设校验位的个数为r,k=2r-1-r个信息能用于纠正被传送数据的位数,需满足:2r≥k+r+1 某计算机字长是16位,它的存储容量是1MB,按字编址,它的寻址范围是0-219-1 操作数在寄存器中的寻址方式称为寄存器寻址;操作数在指令中的寻址方式称为立即寻址,相对寻址中,指令地址码给出一个偏移量(带符号数),基准地址隐含由PC给出。 操作码的编码有两种方式:定长操作码法,扩展操作码编法 串行传输时数据位的低位在前,高位在后。 DMA控制器与CPU分时使用内存常采用以下三种方法:停止CPU访内,周期挪用和交替访问。 流水线中的主要相关问题指资源相关、数据相关和控制相关。 双端口存储器中一个存储器具有两组相互独立的读写控制电路,可进行并行的独立操作。

程序执行的过程 - 一文看懂计算机执行程序的过程

旧街凉风 提交于 2020-01-20 13:15:53
程序就是指令的集合,为使计算机按预定要求工作,首先要编制程序。程序是一个特定的指令序列,它告诉计算机要做哪些事,按什么步骤去做。指令是一组二进制信息的代码,用来表示计算机所能完成的基本操作。   1、程序   程序是为求解某个特定问题而设计的指令序列。程序中的每条指令规定机器完成一组基本操作。如果把计算机完成一次任务的过程比作乐队的一次演奏,那么控制器就好比是一位指挥,计算机的其它功能部件就好比是各种乐器与演员,而程序就好像是乐谱。计算机的工作过程就是执行程序的过程,或者说,控制器是根据程序的规定对计算机实施控制的。例如,对于算式      计算机的解题步骤可作如下安排:   步骤1:取a ;   步骤2:取b ;   步骤3:判断 ;   若 b≥0,执行步骤4   若b<0,执行步骤6   步骤4:执行a+b;   步骤5:转步骤7;   步骤6:执行a-b;   步骤7:结束。   计算机的工作过程可归结为:取指令→分析指令→执行指令→再取下一条指令,直到程序结束的反复循环过程。通常把其中的一次循环称为计算机的一个指令周期。总之,我们可把程序对计算机的控制归结为每个指令周期中指令对计算机的控制。   2、指令   程序是由指令组成的。指令是机器所能识别的一组编制成特定格式的代码串,它要求机器在一个规定的时间段(指令周期)内,完成一组特定的操作

第一周:通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的

邮差的信 提交于 2020-01-20 13:14:56
姓名:吕松鸿 学号:20135229 ( *原创作品转载请注明出处*) ( 学习课程:《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ) 一、存储程序计算机 1.1冯诺依曼体系结构:即具有存储程序的计算机体系结构 目前大多数拥有计算和存储功能的设备(智能手机、平板、计算机等)其核心构造均为冯诺依曼体系结构 从硬件来看 CPU与内存通过主线连接,CPU上的IP(可能是16、32、64位)总指向内存的某一块区域;IP指向的CS(代码段)也在内存中;CPU总是执行IP指向的指令。 2. 从软件来看 API(应用程序编程接口,与编程人员)与ABI(程序与CPU的借口界面) 是两个比较重要的软件接口 1.2 关于ABI:指令编码;指令中涉及的寄存器布局;大多数指令可以直接访问内存 1.3 (E代表32位系统)EIP在CPU执行完一条指令之后自加一(自动加一条指令,而不是一个字节或是32位),当然也可以被其它指令,如CALL,RET等修改 二、x86汇编基础 2.1 x86(32位)的寄存器中,低16位作为16位register 2.2 关于堆栈段寄存器 EBP(堆栈基址寄存器);ESP(堆栈顶指针寄存器)。上述两个寄存器较为频繁地使用于汇编程序中 2.3 关于代码段寄存器 CPU实际取指令的时候通过cs

windows CMD指令

流过昼夜 提交于 2020-01-20 10:53:27
1. calc-----------启动计算器  2.certmgr.msc----证书管理实用程序 3.charmap--------启动字符映射表   5. chkdsk.exe-----Chkdsk磁盘检查 6. ciadv.msc------索引服务程序   7. cleanmgr-------垃圾整理  8. cliconfg-------SQL SERVER 客户端网络实用程序 9. Clipbrd--------剪贴板查看器 10. cmd.exe--------CMD命令提示符  11. compmgmt.msc---计算机管理  12. conf-----------启动netmeeting  13. dcomcnfg-------打开系统组件服务 14. ddeshare-------打开DDE共享设置 15. devmgmt.msc--- 设备管理器 16. dfrg.msc-------磁盘碎片整理程序 17. diskmgmt.msc---磁盘管理实用程序 18. drwtsn32------ 系统医生 19. dvdplay--------DVD播放器  20. dxdiag---------检查DirectX信息 21. explorer-------打开资源管理器  22. eudcedit-------造字程序  23. eventvwr-----

shell常用指令

谁说胖子不能爱 提交于 2020-01-19 20:31:17
Linux $xxxx --help:帮助指令 $sudo xx:以管理员方式执行 $date:显示日期 $ifconfig:显示网络信息 $free -h:打印内存使用结果 $fdisk -l:打印磁盘信息 $lsusb:打印usb设备情况 $lscpu:打印CPU信息 $uname:打印系统及计算机名称 $shutdown -h now:关机 $shutdown -r now:重启 $sudo reboot:重启 树莓派 $sudo raspi-config:基本设置 $vcgencmd measure_temp:返回CPU温度 ==>树莓派提供了vcgencmd指令用于和树莓派的硬件直接互动。 来源: CSDN 作者: 于子豪 链接: https://blog.csdn.net/qq_45467083/article/details/104044367

ARM 汇编基础

你。 提交于 2020-01-19 18:47:10
转载连接: 1 ARM汇编以及汇编语言基础介绍 2 ARM汇编中的数据类型 3 ARM汇编常用指令集 4 ARM汇编内存访问相关指令 5 ARM汇编之连续存取 6 ARM汇编之条件执行与分支 7 ARM汇编之栈与函数 英文原文链接: https://azeria-labs.com/arm-data-types-and-registers-part-2/ 本文只是转载部分内容,具体请参考原文。 1. ARM汇编基础介绍 1.1 ARM VS. INTEL ARM处理器Intel处理器有很多不同,但是最主要的不同怕是指令集了。Intel属于复杂指令集(CISC)处理器,有很多特性丰富的访问内存的复杂指令集。因此它拥有更多指令代码以及取址都是,但是寄存器比ARM的要少。复杂指令集处理器主要被应用在PC机,工作站以及服务器上。 ARM属于简单指令集(RISC)处理器,所以与复杂指令集先比,只有简单的差不多100条指令集,但会有更多的寄存器。与Intel不同,ARM的指令集仅仅操作寄存器或者是用于从内存的加载/储存过程,这也就是说,简单的加载/存储指令即可访问到内存。这意味着在ARM中,要对特定地址中存储的的32位值加一的话,仅仅需要从内存中加载到寄存器,加一,再从寄存器储存到内存即可。 简单的指令集既有好处也有坏处。一个好处就是代码的执行变得更快了。

02 编程语言与Python介绍

别等时光非礼了梦想. 提交于 2020-01-19 04:43:19
编程语言与Python介绍 一 引子 二 编程语言分类 2.1 机器语言 2.2 汇编语言 2.3 高级语言 2.3.1 编译型(如C语言) 2.3.2 解释型(如python) 2.4 总结 三 Python介绍 3.1 Python解释器的发展史 3.2 Python解释器有哪些种类? 四 安装Cpython解释器 4.1、下载python解释器 4.2、安装python解释器 4.3、测试安装是否成功 五 第一个Python程序 5.1 运行python程序有两种方式 5.2 Python执行程序的三个阶段 5.3 注释 六 IDE工具Pycharm的使用 6.1 什么是IDE?为什么要有IDE? 6.2 pycharm安装 6.3 Pycharm 创建文件夹 6.4 创建文件并编写程序执行 一 引子 基于上一章所学,有了计算机硬件,在在硬件之上安装好操作系统,我们就有了一个应用程序的运行平台,我们接下来的任务就是学习如何用某款编程语言来开发应用程序。 本章的主题是带大家熟悉一下编程语言,然后重点介绍python这门编程语言。 二 编程语言分类 2.1 机器语言 机器语言是站在计算机(奴隶)的角度,说计算机能听懂/理解的语言。 而计算机能直接理解的就是二进制指令,所以机器语言就是直接用二进制编程。 这意味着机器语言是直接操作硬件的,因此 机器语言属于低级语言 。

volatile深度解析

南楼画角 提交于 2020-01-17 09:03:53
volatile深度解析 volatile是什么 volatile是Java虚拟机提供的 轻量级 的 同步机制 。它有三个特征: 保证可见性 不保证原子性 禁止指令重排 想要理解volatile的工作机制首先要了解JMM,java memory model,即java内存模型。 Java内存模型(JMM) JMM本身是一种抽象的概念,并不真实存在。它描述的是一组 规则或规范 ,通过这组规范定义了程序中各个 变量 (包括实例字段、静态字段和构成数组对象的元素)的 访问方式 。 注意,JMM只是一种规则,在java多线程情况下,如果 不做任何处理 ,每个线程都有自己的工作内存,如果访问主内存中的变量,将会从主内存中拷贝一份到工作内存,即使在某个线程的工作内存中做了修改, 没有刷新回主内存 ,那么对其他线程来说这个修改将是不可见的。具体如下图所示: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u6DHsKZd-1578637312474)(https://i.bmp.ovh/imgs/2019/06/5d19bc34bec03701.png)] 所以为了保证每个线程对主内存中的变量的修改对其他线程是可见的,就要引入volatile关键字。volatile不能保证原子性,但可以保证可见性和有序性(禁止指令重排)。 验证volatile可见性 class

Linux内核分析课程笔记(一)

牧云@^-^@ 提交于 2020-01-17 02:29:49
linux内核分析课程笔记(一) 冯诺依曼体系结构 冯诺依曼体系结构实际上就是存储程序计算机。 从两个层面来讲: 从硬件的角度来看,冯诺依曼体系结构逻辑上可以抽象成CPU和内存,通过总线相连。CPU上有一些寄存器,IP(Instruction Pointer)是一个指针,总是指向内存的某一块区域CS(Code Segment),CPU即从IP指向的地址取一条指令进行执行,执行完之后IP自增1,加到下一条指令(逻辑意义上的1,因为有些指令系统是变长指令) 从程序员的角度来看,存储程序计算机。CPU从程序员的角度可以抽象成一个无条件的for循环,总是执行下一条指令。 for(;;){ next instruction(); } API(Application Program Interface) ABI(Application Binary Interface) 32位的x86中EIP的三条特性: 每条指令执行完成后EIP自加1 指令的长度不同 EIP还可能会被一些指令修改,如:CALL、RET、JMP以及条件JUMP x86汇编基础 x86寄存器 有8位、16位和32位的寄存器。 16位:AX、BX、CX、DX、BP、SI、DI、SP 32位:EAX(累加器)、EBX(基地址寄存器)、ECX(计数寄存器)、EDX(数据寄存器)、EBP(堆栈基址指针)、ESI与EDI(变址寄存器)