一、哈佛结构与冯·诺依曼结构

1、冯.诺曼结构处理器比较,哈佛结构处理器有两个明显的特点:

(1)、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;

(2)、使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。

改进的哈佛结构,其结构特点为:

(1)、使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存,以便实现并行处理;

(2)、具有一条独立的地址总线和一条独立的数据总线,利用公用地址总线访问两个存储模块(程序存储模块和数据存储模块),公用数据总线则被用来完成程序存储模块或数据存储模块与CPU之间的数据传输;

2、冯.诺曼结构处理器具有以下几个特点:

必须有一个存储器;

必须有一个控制器;

必须有一个运算器,用于完成算术运算和逻辑运算;

必须有输入和输出设备,用于进行人机通信。

二、cup结构

控制单元:控制单元是整个CPU的指挥控制中心,由程序计数器PC(Program Counter), 指令寄存器IR(Instruction Register)、指令译码器ID(Instruction Decoder)和操作控制器OC(Operation Controller)等,对协调整个电脑有序工作极为重要。它根据用户预先编好的程序,依次从存储器中取出各条指令,放在指令寄存器IR中,通过指令译码(分析)确定应该进行什么操作,然后通过操作控制器OC,按确定的时序,向相应的部件发出微操作控制信号。操作控制器OC中主要包括节拍脉冲发生器、控制矩阵、时钟脉冲发生器、复位电路和启停电路等控制逻辑。

运算单元:是运算器的核心。可以执行算术运算(包括加减乘数等基本运算及其附加运算)和逻辑运算(包括移位、逻辑测试或两个值比较)。相对控制单元而言,运算器接受控制单元的命令而进行动作,即运算单元所进行的全部操作都是由控制单元发出的控制信号来指挥的,所以它是执行部件。

存储单元:包括CPU片内缓存和寄存器组,是CPU中暂时存放数据的地方,里面保存着那些等待处理的数据,或已经处理过的数据,CPU访问寄存器所用的时间要比访问内存的时间短。采用寄存器,可以减少CPU访问内存的次数,从而提高了CPU的工作速度。但因为受到芯片面积和集成度所限,寄存器组的容量不可能很大。寄存器组可分为专用寄存器和通用寄存器。专用寄存器的作用是固定的,分别寄存相应的数据。而通用寄存器用途广泛并可由程序员规定其用途,通用寄存器的数目因微处理器而异。这个是我们以后要介绍这个重点,这里先提一下。

三、指令

1、指令的分类:

(1)数据传输指令:

(2)算术运算指令:

(3)逻辑运算指令:

(4)串指令:

(5)程序转移指令:

(6)伪指令

(7)处理机控制指令:标志处理指令

(8)浮点运算指令集

2、指令码格式:

IA-32指令码格式由四个主要部分构成:

可选的指令前缀;

指令前缀可以包含1个到4个修改操作码行为的 1 字节前缀。安装前缀的功能,这些前缀被分为 4个组。修改操作码时,每个组的前缀一次只能使用一个(因此最多有4 个前缀字节)。

b) 操作码(opcode)

IA-32指令码格式中唯一必须的不是就是操作码。每个指令码都必须包含操作码,它定义了处理器执行的基本功能或任务。 操作码的长度在 1 到3 字节之间,它唯一地定义要执行的功能。

c) 可选的修饰符

一些操作码需要另外的修饰符来定义执行的功能中涉及到什么寄存器和内存位置。

d) 可选的数据元素

指令码的最后一部分是该功能使用的数据元素。

一些指令码从内存位置或者处理器寄存器读取数据,而一些指令码在其本身之内包含数据。这个值经常被用于表示静态数字值(比如要加的数字)或者内存位置。根据数据长度,这个值可以包含1,2,或者 4 字节的信息。

四、程序的运行过程

控制单元在时序脉冲的作用下,将指令计数器里所指向的指令地址(这个地址是在内存里的)送到地址总线上去,然后CPU将这个地址里的指令读到指令寄存器进行译码。对于执行指令过程中所需要用到的数据,会将数据地址也送到地址总线,然后CPU把数据读到CPU的内部存储单元(就是内部寄存器)暂存起来,最后命令运算单元对数据进行处理加工。周而复始,一直这样执行下去,天荒地老,海枯石烂,直到停电。

1、取指令:CPU的控制器从内存读取一条指令并放入指令寄存器。

2、指令译码:指令寄存器中的指令经过译码,决定该指令应进行何种操作(就是指令里的操作码)、操作数在哪里(操作数的地址)。

3、 执行指令,分两个阶段“取操作数”和“进行运算”。

4、 修改指令计数器,决定下一条指令的地址。

五、Linux操作系统

1、启动过程

.BIOS上电检测

.引导装载程序(GRUB2)

.内核初始化

.启动systemd,其实就是所有进程之父。

2、虚拟地址空间分布

1)、虚拟地址

在linux的内存管理中,用户使用0~3GB的地址空间。而内核仅仅是用了3GB~4GB区间的地址空间。共1GB。非连

续空间的物理映射就位于3GB~4GB之间。

2)内核地址分布

直接映射区:线性空间中从3G开始最大896M的区间,为直接内存映射区,该区域的线性地址和物理地址存在线性转换关系:线性地址=3G+物理地址。

动态内存映射区:该区域由内核函数vmalloc来分配,特点是:线性空间连续,但是对应的物理空间不一定连续。vmalloc分配的线性地址所对应的物理页可能处于低端内存,也可能处于高端内存。

永久内存映射区:该区域可访问高端内存。访问方法是使用alloc_page(_GFP_HIGHMEM)分配高端内存页或者使用kmap函数将分配到的高端内存映射到该区域。

固定映射区:该区域和4G的顶端只有4k的隔离带,其每个地址项都服务于特定的用途,如ACPI_BASE等。

3)、进程地址分布

linux采用虚拟内存管理技术,每一个进程都有一个3G大小的独立的进程地址空间,这个地址空间就是用户空间。每个进程的用户空间都是完全独立、互补相干的。进程访问内核空间的方式:系统调用和中断。

创建进程等进程相关操作都需要分配内存给进程。这时进程申请和获得的不是物理地址,仅仅是虚拟地址。

3、用户态与内核态

(1).操作系统需要两种CPU状态

内核态(Kernel Mode):运行操作系统程序,操作硬件

用户态(User Mode):运行用户程序

(2).指令划分

特权指令:只能由操作系统使用、用户程序不能使用的指令。 举例:启动I/O 内存清零 修改程序状态字 设置时钟 允许/禁止终端 停机

非特权指令:用户程序可以使用的指令。 举例:控制转移 算数运算 取数指令 访管指令(使用户程序从用户态陷入内核态)

(3).特权级别

特权环:R0、R1、R2和R3

R0相当于内核态,R3相当于用户态;

不同级别能够运行不同的指令集合;

(4).CPU状态之间的转换

用户态--->内核态:唯一途径是通过中断、异常、陷入机制(访管指令)

内核态--->用户态:设置程序状态字PSW

(5).内核态与用户态的区别

内核态与用户态是操作系统的两种运行级别,当程序运行在3级特权级上时,就可以称之为运行在用户态。因为这是最低特权级,是普通的用户进程运行的特权级,大部分用户直接面对的程序都是运行在用户态;

当程序运行在0级特权级上时,就可以称之为运行在内核态。

运行在用户态下的程序不能直接访问操作系统内核数据结构和程序。当我们在系统中执行一个程序时,大部分时间是运行在用户态下的,在其需要操作系统帮助完成某些它没有权力和能力完成的工作时就会切换到内核态(比如操作硬件)。

举报/反馈

简述计算机控制系统调试和运行的过程,简述计算机原理与系统启动过程相关推荐

  1. 简述计算机控制系统调试和运行的过程,简述计算机控制系统的一般控制过程

    <简述计算机控制系统的一般控制过程>由会员分享,可在线阅读,更多相关<简述计算机控制系统的一般控制过程(2页珍藏版)>请在人人文库网上搜索. 1.1. 简述计算机控制系统的一般 ...

  2. 计算机控制系统为什么会受到干扰,浅谈计算机控制系统中的干扰及其抑制措施...

    摘要:具有良好的抗干扰性,是衡量计算机控制系统可靠性的一个标准.国内外的学者,曾经研究过这一课题,认为抗抗干扰性的理论十分复杂,技术也十分精密,需要大量的实践才能解决.本文通过对计算机控制系统中存在的 ...

  3. 打游戏提示计算机丢失,Windows7电脑运行某游戏提示“计算机丢失mxvcp120.dll”怎么办...

    许多用户都很喜欢在windows7系统中玩一些游戏,而在玩游戏的时候难免碰上一些错误提示,比如最近有windows7系统用户发现在运行某款游戏的时候,提示"计算机丢失mxvcp120.dll ...

  4. 计算机控制系统的模拟控制器,导 读 利用计算机代替常规的模拟控制器,使它成为控制系统的一个组成部分,这种有计算机参加控制的系统简称为计算机控制系统。...

    导 读 利用计算机代替常规的模拟控制器,使它成为控制系统的一个组成部分,这种有计算机参加控制的系统简称为计算机控制系统. View 59 Download 0 Embed Size (px) 344 ...

  5. linux efi 启动原理,Linux系统启动过程

    了解Linux系统的启动过程有助于我们深入理解Linux系统运行原理,下面我们将介绍一些系统启动过程中一些重要的细节.在这里,我们将Linux系统启动过程分成7个步骤介绍,这个过程如下图所示. 1.启 ...

  6. 调试QEMU运行xv6时黑框闪烁问题的过程

    前言 最近一段时间终于有了连续的空闲,重新拿起xv6,复习os内容,同时记录一下一个bug的调试经历. 问题 在看过xv6和类似os的相关文章后,我开始自己动手写一个minios.发现,在笔记本电脑上 ...

  7. 山东科技大学计算机控制系统期末考试试卷,山东科技大学_计算机操作系统试题A...

    山东科技大学 计算机操作系统 一.单项选择题(每小题2分,共30分) 1. 有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量 的变化范围是(d ). A. 1至m B. ...

  8. 无法自动进入单步执行服务器。未能连接到服务器计算机“×.×.×.×”。调试器无法连接到远程计算机。原因是远程计算机不存在或防火墙阻止与远程计算机通信。请参阅”帮助“以协助解决问题

    因为每个人的情况可能不同,先描述我出现这个问题的情况,在Winform程序中调用WebService时出现这个错误,解决方法: 一般情况下这样就可以了

  9. 计算机控制系统的典型类型是什么,计算机控制系统作业参考答案

    计算机控制系统作业参考答案 (15页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 计算机控制系统作业参考答案作业一第一章11什么是计算机控 ...

最新文章

  1. AC日记——[USACO07DEC]手链Charm Bracelet 洛谷 P2871
  2. k近邻算法C++二维情况下的实现
  3. 电源模块的9个主要性能指标及其作用
  4. php 类名 属性6,php基础知识(类中属性和方法练习)--2018年9月6日14:01:15
  5. python化学公式_(CSP)201912-3化学方程式-python实现
  6. MySQL高级建表语句
  7. MATLAB之Simulink基础
  8. python抠图 removebg,removebg包:一键抠图换证件照底色
  9. 每日一书丨金融反欺诈的底层逻辑
  10. matlab 线性拟合polyfit_Matlab 线性拟合 非线性拟合_matlab非线性拟合函数
  11. srand( 在php,PHP srand( )用法及代码示例
  12. 认识很浅的云南最后的秘境
  13. 什么是前向纠错(FEC)?FEC最全解析
  14. ? 一图看完国内手机市场占有率
  15. OpenGL透视投影
  16. 【数理逻辑与集合论】第一章 命题逻辑
  17. 基础实验6-2.5 城市间紧急救援
  18. Qt 调用海康威视的SDK进行视频预览及云台控制
  19. 在电脑上弹钢琴是什么体验?
  20. 什么性格的人适合做好的程序员?

热门文章

  1. python email模块详解_python email模块
  2. oracle 分析函数_数据分析系列笔试题(6)
  3. php把二维数组变为一维,如何将PHP二维数组转换为一维数组
  4. ajax post json php,ajax POST json对象给PHP,PHP怎么接收值
  5. general protection fault怎么办_法院离婚调解书我想办补充协议怎么办?-免费法律咨询...
  6. 显示器分辨率一直跳_2020如何选择适合自己的显示器?小白选购电脑显示器必看!...
  7. mysql 用户划表_mysql用户表
  8. python分类器鸢尾花怎么写_python机器学习基础教程:鸢尾花分类
  9. 梅林安装opkg后安装iperf3_阳台到底有没有必要安装推拉门?利与弊告诉你,不要等安装后后悔...
  10. lock mysql unlock_MySql中Lock命令和unlock命令