微机启动过程分析

微机启动过程分析
微机启动过程分析

微机启动过程分析

微机在启动过程中要经历很多的操作,每一步工作完成后才能进行下一步工作。微机的大多数故障(特别是硬件故障)都出在微机启动阶段,深入了解微机启动的详细过程,就能够根据故障现象快速地推断出故障点所在,而不是盲目地试验。

微机的启动过程大致可分为如下几个阶段,每一阶段又可分为若干步骤。

一、微机启动第一阶段:电源开启阶段

第1步:按下电源开关。如果市电供电正常且主机电源开关正常,则220V、50HZ的市电输入到微机的主机电源中。

第2步:主机电源开始工作,将220V、50HZ交流电转换为±5V、±12V、3.3V等规格的直流电,并发送一个PG(Power Good)信号触发微机各部件开始工作。输出电压和电流值偏高或偏低均会引起微机工作不正常;其他电压输出正常,但PG信号不正常,微机也不能启动。

二、微机启动第二阶段:POST自检阶段

第1步:系统各部件进行初始化。

如果主机电源无故障(即上述第2步正常通过),则主机电源输出电压给CPU、主板及其他设备供电,各设备开始进入准备工作阶段。表现为以下一些现象:

①主机电源指示灯点亮;

②硬盘进行脱机自检:硬盘指示灯点亮,在安静环境下能听到硬盘有“嘀嘀嘀”的自检声,这种自检是硬盘的脱机自检,这是硬盘本身的功能,该自检过程不受CPU或其他设备的控制,只要给硬盘加电即进行,脱机自检完成后,硬盘指示灯熄灭;

③光驱指示灯闪亮一下即灭。有些光驱指示灯呈一直点亮状态,此过程表现为一种颜色(一般为黄色)变为另一种颜色(一般为绿色),然后恢复到初始状态;

④键盘的三个指示灯(Num Lock、Caps Lock、Scroll Lock)一起闪亮。

与此同时,电源输出的PG信号触发CPU内的各寄存器(通用寄存器、段寄存器、标志寄存器等)复位,然后主板的ROM BIOS开始将自己的例行自检程序装入内存并准备执行自检过程。

由于是主板的BIOS本身将存储在其中的例行自检程序装入内存并执行,并不需要外部干预,因而将这一过程称为“Power On Self Test”,简称POST,即加点时自检之意。

自检的主要作用有以下几方面:

①检测微机各主要部件(CPU、时钟、计数器等)是否正常;

②根据微机CMOS RAM中存储的配置信息去查找相关配置,并检查实际硬件设备参数与CMOS的设置信息是否一致;

③检查系统的即插即用设备,并将这些设备一一登记。

运行POST的基本条件是CPU、主板上的ROM BIOS、主板上的其他关键性部件及内存(至少16KB)处于正常工作状态,其中任一个工作不正常,则微机不能开始进行POST自检过程。

POST自检过程又可分为很多步,按先后顺序分述如下。

第2步:主板上的ROM BIOS将其中的POST自检程序装入内存,并开始执行POST例行程序。

第3步:检查计数器、刷新定时功能及其他主要系统部件是否工作正常。

如果不正常,系统处于黑屏死机状态,可能会有报警声音。正常则进入下一步。

第4步:检查显卡显存的状态、视频信号和同步信号。

如果不正常,系统会处于黑屏死机状态,并可能会有报警声音。

如果正常,则整个微机系统无致命性故障。此时可能会听到很清脆的“嘀”的一声(对于Award BIOS而言),有的微机是响两声,有的微机则并无提示声音。

此时,微机的显示子系统开始工作。对于较新的数控显示器,信号灯开始由一闪一闪状态(一般为黄色)变为点亮状态(一般为绿色),显示器屏幕顶端会出现显卡BIOS的版本信息、显卡类型、显存容量等信息。

显卡信息在屏幕上一闪而过,无法通过按“Pause”键停留住,冷开机或按RESET键能出现此信息,而按“Ctrl”+“Alt”+“Del”键重启时有时不会出现此信息。如果不知道显卡的型号或显存的数量,可用此方法查看。

当显卡子系统开始工作后,微机就可以将主板上的BIOS信息显示到屏幕上。此时可按“Pause”键停留住屏幕信息,以便仔细查看。

在以下的步骤中,POST自检程序开始按照CMOS RAM中存储的配置信息或主板上配置信息(如CPU的外频和倍频信息、内存数量等)去找相关设备,并进行对比,此时可以按“Del”键进入CMOS设置画面重新设置相关配置信息。

第5步:检查CPU的主频。有的微机系统CPU的频率是在CMOS中设置的,有的是通过主板上的跳线开关设置的。

第6步:检查RAM内存容量。如果在CMOS中将“Quick Power On Test”设置为“Disabled”,则将检测三次。

第7步:检查键盘功能,此时键盘的三个指示灯(Num Lock、Caps Lock、Scroll Lock)再次地一起闪亮。

第8步:检查主板及扩展槽上即插即用设备(如显示卡、声卡、视频卡、Modem等)和串口、并口等I/O设备,如果不正常,将给出相关的错误提示信息。

第9步:检查软驱子系统复位和寻道能力,如果在CMOS的设置中将“Boot up Floppy Seek”一项设为“Enabled”,则会看到软驱电源指示灯亮,同时伴有“嘎吱”的声音,这是软驱在寻道,即软驱的磁头来回移动一圈,并最后将磁头复位到0磁道的位置,随时准备读取软盘信息。如果不正常,将有错误提示信息。

第10步:检查IDE控制器状态(硬盘、光驱等),检测IDE接口的硬盘和光驱信息。此时硬盘电源指示灯闪亮。如果不正常,将给出错误提示信息。

第11步:如果以上一切正常,则将所有的设备信息做一总结,并在显示器上显示出来,如图4-3所示。

图4-3显示了POST检测到的系统设备和PCI即插即用设备信息,据此可确定某个设备是否有硬件损坏,如果能够检测到相关设备,则可以大致确定该设备无硬件故障。

最后,根据CMOS中所设置的引导顺序,准备引导系统。

三、微机启动第三阶段:系统引导阶段

第1步:如果从硬盘引导系统,则BIOS访问硬盘的0道0面1扇区,将硬盘的主引导代码的前部分装入内存,并将系统的控制权转交给硬盘的MBR。如果是软盘启动或光盘启动则没有此步操作。

第2步:如果从硬盘引导系统,硬盘MBR将C盘的DBR(逻辑0扇区,即硬盘物理地址的0道1面1扇区)的前部分装入内存,并将系统的控制权交给DBR。如果是从软盘启动或从光驱启动,则BIOS直接将软盘或光盘的DBR(逻辑0扇区)装入内存,同时将控制权移交给DBR。

在以下的步骤中,DOS和Windows98系统的启动过程有所不同。

对于DOS系统而言,有以下几步操作。

第3步:DBR将DOS的两个系统文件(Io.sys、Msdos.sys)装入内存。

第4步:将DOS的https://www.360docs.net/doc/4619103785.html,装入内存。

第5步:装载Config.sys中的设备驱动程序。

第6步:装载或运行Autoexec.bat中的程序或系统设置信息。

对于第5步和第6步的操作,可以在微机刚开始引导操作系统时(自检刚完成),通过按特殊功能键来有选择地执行这两步操作。有两种方式:

①按F5功能键,略过这两步的操作过程,直接进入命令提示符“C:\>_”状态,即不加载Config.sys中的设备驱动程序,也不运行Autoexec.bat中的批命令;

②按F8功能键,可以一步一步地有选择地执行Config.sys和Autoexec.bat中的每一行程序,如果微机故障出在这个阶段,可以通过这种方法来判断。

对于Windows98系统而言,系统文件和系统配置文件包括以下一些文件:Io.sys、Msdos.sys、Config.sys、Autoexec.bat和Bootlog.txt等。微机的启动方式和启动过程比DOS要复杂得多。Windows98有多种启动方式,通过设置Msdos.sys文本文件中的相关条目可以实现菜单启动方式(详见3.7.2节)。另外,在POST自检完成并开始启动Windows98系统时,按F8功能键也可激活Windows98的启动菜单。

①Normal:正常启动方式,默认的启动方式。

②Logged(\Bootlog.txt):按Bootlog.txt中的项目引导系统。

③Safe mode:安全模式启动方式。

④Step-by-Step confirmation:逐步确认启动方式。

⑤Command prompt only:命令提示符启动方式(DOS7.1的“C:\>_”状态)。

⑥Safe mode command prompt only:安全模式命令提示符启动方式。

⑦Previous Version of MS-DOS:启动到以前的DOS版本(DOS6)。

可以从中选择一种启动方式启动系统。

第7步:系统启动成功,开始运行相关应用软件。

电子信息工程专业自评报告

电子信息工程专业自评报告 一、基本情况介绍 XX大学XX学院电子信息工程专业始建于2006年,现归属于XX大学XX学院理工分院。目前在校学生有06、07、08、09级四个年级5个班共计330人。共有专职教师12名,建有9个专业实验室。理工分院开设有与该专业密切相关的通信工程、测控仪器与设备、计算机科学与技术专业,在师资力量和教学资源上对该专业提供了重要支撑。 XX学院有着一套独特而又务实的育人理念,把“让学生更好地走上社会”作为办学的宗旨;把“311”(掌握英语、计算机和中文写作3个交往工具,1个健康人格,1项专业知识和技能)作为人才培养的模式;将“五种素养”(工具、专业、人文、人格、行动力)和“五种能力”(学习能力、实践能力、适应能力、创新能力、可持续发展能力)作为培养的规格;以“应用型,实用性”作为培养的目标。 在广泛参照各高校的培养方案的基础上,根据该专业人才的社会需求情况,结合地方经济的发展,围绕学院办学理念和“311”人才培养模式,制定和调整本专业的人才培养方案。 本专业培养目标:“本专业培养适应社会主义现代化建设和市场经济发展的需要,德、智、体、美全面发展,系统掌握电子技术和计算机信息控制系统的基础理论和专业知识,能从事各类电子设备和计算机信息控制系统的研究、设计、开发和应用的具有创新精神和实践能力的应用型、实用性高级专门人才。” 二、自评情况 1.师资队伍 1.1队伍结构 电子信息工程专业具有较强的师资力量,有从事教学工作数十年、经验丰富的教师,在企业从事技术工作多年的高级工程师,年富力强的中年教师,以及充满活力和干劲的青年教师,是一支热爱教学、教育理念先进、有较强实践能力,结构较为合理、勇于创新、具有团队精神的教学队伍。 师资队伍结构表 1.2 主讲教师

详解bootloader的执行流程与ARM Linux启动过程分析

详解bootloader的执行流程与ARM Linux启动过程分析 ARM Linux启动过程分析是本文要介绍的内容,嵌入式Linux 的可移植性使得我们可以在各种电子产品上看到它的身影。对于不同体系结构的处理器来说Linux的启动过程也有所不同。 本文以S3C2410 ARM处理器为例,详细分析了系统上电后bootloader的执行流程及ARM Linux的启动过程。 1、引言 Linux 最初是由瑞典赫尔辛基大学的学生Linus Torvalds在1991 年开发出来的,之后在GNU的支持下,Linux 获得了巨大的发展。虽然Linux 在桌面PC 机上的普及程度远不及微软的Windows 操作系统,但它的发展速度之快、用户数量的日益增多,也是微软所不能轻视的。而近些年来Linux 在嵌入式领域的迅猛发展,更是给Linux 注入了新的活力。 一个嵌入式Linux 系统从软件角度看可以分为四个部分:引导加载程序(bootloader),Linux 内核,文件系统,应用程序。 其中bootloader是系统启动或复位以后执行的第一段代码,它主要用来初始化处理器及外设,然后调用Linux 内核。 Linux 内核在完成系统的初始化之后需要挂载某个文件系统做为根文件系统(Root Filesystem)。 根文件系统是Linux 系统的核心组成部分,它可以做为Linux 系统中文件和数据的存储区域,通常它还包括系统配置文件和运行应用软件所需要的库。 应用程序可以说是嵌入式系统的“灵魂”,它所实现的功能通常就是设计该嵌入式系统所要达到的目标。如果没有应用程序的支持,任何硬件上设计精良的嵌入式系统都没有实用意义。 从以上分析我们可以看出bootloader 和Linux 内核在嵌入式系统中的关系和作用。Bootloader在运行过程中虽然具有初始化系统和执行用户输入的命令等作用,但它最根本

linux启动过程

Linux系统启动过程分析 by 王斌斌 binbinwang118@https://www.360docs.net/doc/4619103785.html, Linux系统启动过程分析 操作系统的启动过程,实际上是控制权移交的过程。Linux 系统启动包含四个主要的阶段:BIOS initialization, boot loader, kernel initialization, and init startup.见下图: 阶段一、BIOS initialization,主要功能如下: 1.Peripherals detected 2.Boot device selected 3.First sector of boot device read and executed 系统上电开机后,主板BIOS(Basic Input / Output System)运行POST(Power on self test)代码,检测系统外围关键设备(如:CPU、内存、显卡、I/O、键盘鼠标等)。硬件配置信息及一些用户配置参数存储在主板的CMOS( Complementary Metal Oxide Semiconductor)上(一般64字节),实际上就是主板上一块可读写的RAM芯片,由主板上的电池供电,系统掉电后,信息不会丢失。 执行POST代码对系统外围关键设备检测通过后,系统启动自举程序,根据我们在BIOS中设置的启动顺序搜索启动驱动器(比如的硬盘、光驱、网络服务器等)。选择合适的启动器,比如通常情况下的硬盘设备,BIOS会读取硬盘设备的第一个扇区(MBR,512字节),并执行其中的代码。实际上这里BIOS并不关心启动设备第一个扇区中是什么内容,它只是负责读取该扇区内容、并执行,BIOS的任务就完成了。此后将系统启动的控制权移交到MBR部分的代码。 注:在我们的现行系统中,大多关键设备都是连在主板上的。因此主板BIOS提供了一个操作系统(软件)和系统外围关键设备(硬件)最底级别的接口,在这个阶段,检测系统外围关键设备是否准备好,以供操作系 “” 统使用。 阶段二、Boot Loader 关于Boot Loader,简单的说就是启动操作系统的程序,如grub,lilo,也可以将boot loader本身看成一个小系统。 The BIOS invokes the boot loader in one of two ways: 1.It pass control to an initial program loader (IPL) installed within a driver's Master Boot Record (MBR) 2.It passes control to another boot loader, which passes control to an IPL installed within a partition's boot sector. In either case, the IPL must exist within a very small space, no larger than 446 bytes. Therefore, the IPL for GRUB is merely a first stage, whose sole task is to locate and load a second stage boot loader, which does most of the work to boot the system. There are two possible ways to configure boot loaders: Primary boot loader: Install the first stage of your Linux boot loader into the MBR. The boot loader must be configure to pass control to any other desired operating systems. Secondary boot loader: Install the first stage of your Linux boot loader into the boot sector of some partition. Another boot loader must be installed into the MBR, and configured to pass control to your Linux boot loader. 假设Boot Loader 为grub (grub-0.97),其引导系统的过程如下: grub 分为stage1 (stage1_5) stage2两个阶段。stage1 可以看成是initial program loaderI(IPL),而stage2则实现了grub 的主要功能,包括对特定文件系统的支持(如ext2,ext3,reiserfs等),grub自己的shell,以及内部程序(如:kernrl,initrd,root )等。

微机原理第二版答案

3.2设(DS)=6000H,(ES)=2000H,(SS)=1500H,(Si)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H. 请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少? (1) MOV AX,BX (2) MOV DL,80H (3) MOV AX, VAR (4) MOV AX,VAR[BX][SI] (5) MOV AL,‘B' (6) MOV DI, ES: [BX] (7) MOV DX,[BP] (8) MOV BX,20H[BX] 解: (1)寄存器寻址。因源操作数是寄存器,故寄存器BX就是操作数的地址. (2)立即寻址。操作数80H存放于代码段中指令码MOV之后。 (3)直接寻址。 (4)基址一变址一相对寻址.

操作数的物理地址=(DS) × 16+(SI)+(BX)+VAR = 60000H+00A0H+0800H+0050H=608F0H (5)立即寻址 (6)寄存器间接寻址. 操作数的物理地址 = (ES) × 16+(BX) = 20000H+0800H = 20800H (7)寄存器间接寻址。 操作数的物理地址= (SS) × 16+(BP) = 15000H+1200H= 16200H (8)寄存器相对寻址. 操作数的物理地址=(DS) × 16+(BX)+20H = 60000H+0800H+20H= 60820H 3.3 假设(DS)= 212AH,(CS)= 0200H,(IP)= 1200H,(BX)= 0500H,位移量DATA=40H,(217A0H) =2300H,(217E0H)=0400H,(217E2H) =9000H 试确定下列转移指令的转移地址. (1) JMP BX (2) JMP WORD PTR[BX] (3) JMP DWORD PTR[BX+DATA] 解:转移指令分为段内转移和段间转移,根据其寻址方式的不同,又有段内的直接转移和间接转移,以及段间的直接转移和间接转移地址。对直接转移,其转移地址为当前指令的偏移地址(即IP的内容)加上位移量或由指令中直接得出;对间接转移,转移地址等于指令中寄存器的内容或由寄存器内容所指向的存储单元的内容。 (1) 段内间接转移。转移的物理地址=(CS) × l6 +0500H =02000H+0500H=02500H (2)段内间接转移。转移的物理地址= (CS) × 16+ [BX] = (CS) × l6+(217A0H) =02000H+2300H=04300H (3)段间间接转移。转移的物理地址=[BX+DATA] [IP]=[DS×l6+BX+DATA[=[217E0] =(217E2H) × l6+(217E0H) [CS]=[217E2H]=9000H =90000H+0400H=90400H 3.4试说明指令MOV BX,5[BX]与指令LEA BX,5[BX]的区别。 解:前者是数据传送类指令,表示将数据段中以(BX+5)为偏移地址的16位数据送寄存器BX.;后者是取偏移地址指令,执行的结果是(BX)= (BX)+5,即操作数的偏移地址为(BX)+5。 3.5设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSH AX后,(SP)=?,再执行指令PUSH BX及POP AX之后,(SP)= ?(AX)= ?(BX)=? 解:堆栈指针SP总是指向栈顶,每执行一次PUSH指令SP-2,执行一次POP指令SP+2.所以,执行PUSH AX指令后,(SP)=22FEH;再执行PUSH BX及POP AX后,(SP)=22FEH,(AX)=(BX)=1234H 3.6 指出下列指令的错误: (1) MOV AH,CX (2) MOV 33H,AL (3) MOV AX, [SI][DI] (4) MOV [BX],[SI] (5) ADD BYTE PTR[BP],256 (6) MOV DATA[SI],ES:AX (7) JMP BYTE PTR[BX] (8) OUT 230H,AX (9) MOV DS,BP (10) MUL 39H 解: (1)指令错。两操作数字长不相等

微机原理期末复习总结

一、基本知识 1、微机的三总线是什么? 答:它们是地址总线、数据总线、控制总线。 2、8086 CPU启动时对RESET要求?8086/8088 CPU复位时有何操作? 答:复位信号维高电平有效。8086/8088 要求复位信号至少维持 4 个时钟周期的高电平才有效。复位信号来到后,CPU 便结束当前操作,并对处理器标志寄存器,IP,DS,SS,ES 及指令队列清零,而将cs 设置为FFFFH, 当复位信号变成地电平时,CPU 从FFFF0H 开始执行程序 3、中断向量是是什么?堆栈指针的作用是是什么?什么是堆栈? 答:中断向量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。堆栈指针的作用是指示栈顶指针的地址,堆栈指以先进后出方式工作的一块存储区域,用于保存断点地址、PSW 等重要信息。 4、累加器暂时的是什么?ALU 能完成什么运算? 答:累加器的同容是ALU 每次运行结果的暂存储器。在CPU 中起着存放中间结果的作用。ALU 称为算术逻辑部件,它能完成算术运算的加减法及逻辑运算的“与”、“或”、“比较”等运算功能。 5、8086 CPU EU、BIU的功能是什么? 答:EU(执行部件)的功能是负责指令的执行,将指令译码并利用内部的寄存器和ALU对数据进行所需的处理BIU(总线接口部件)的功能是负责与存储器、I/O 端口传送数据。 6、CPU响应可屏蔽中断的条件? 答:CPU 承认INTR 中断请求,必须满足以下 4 个条件: 1 )一条指令执行结束。CPU 在一条指令执行的最后一个时钟周期对请求进行检测, 当满足我们要叙述的4 个条件时,本指令结束,即可响应。 2 )CPU 处于开中断状态。只有在CPU 的IF=1 ,即处于开中断时,CPU 才有可能响应可屏蔽中断请求。 3 )没有发生复位(RESET ),保持(HOLD )和非屏蔽中断请求(NMI )。在复 位或保持时,CPU 不工作,不可能响应中断请求;而NMI 的优先级比INTR 高,CPU 响应NMI 而不响应INTR 。 4 )开中断指令(STI )、中断返回指令(IRET )执行完,还需要执行一条指令才 能响应INTR 请求。另外,一些前缀指令,如LOCK、REP 等,将它们后面的指令看作一个总体,直到这种指令执行完,方可响应INTR 请求。 7、8086 CPU的地址加法器的作用是什么? 答:8086 可用20 位地址寻址1M 字节的内存空间,但8086 内部所有的寄存器都是16 位的,所以需要由一个附加的机构来根据16 位寄存器提供的信息计算出20 位的物理地址,这个机构就是20 位的地址加法器。 8、如何选择8253、 8255A 控制字? 答:将地址总线中的A1、A0都置1 9、DAC精度是什么? 答:分辨率指最小输出电压(对应的输入数字量只有最低有效位为“1 ”)与最大输出电压(对应的输入数字量所有有效位全为“1 ”)之比。如N 位D/A 转换器,其分辨率为1/ (2--N —1 )。在实际使用中,表示分辨率大小的方法也用输入数字量的位数来表示。 10、DAC0830双缓冲方式是什么?

linux内核启动 Android系统启动过程详解

linux内核启动+Android系统启动过程详解 第一部分:汇编部分 Linux启动之 linux-rk3288-tchip/kernel/arch/arm/boot/compressed/ head.S分析这段代码是linux boot后执行的第一个程序,完成的主要工作是解压内核,然后跳转到相关执行地址。这部分代码在做驱动开发时不需要改动,但分析其执行流程对是理解android的第一步 开头有一段宏定义这是gnu arm汇编的宏定义。关于GUN 的汇编和其他编译器,在指令语法上有很大差别,具体可查询相关GUN汇编语法了解 另外此段代码必须不能包括重定位部分。因为这时一开始必须要立即运行的。所谓重定位,比如当编译时某个文件用到外部符号是用动态链接库的方式,那么该文件生成的目标文件将包含重定位信息,在加载时需要重定位该符号,否则执行时将因找不到地址而出错 #ifdef DEBUG//开始是调试用,主要是一些打印输出函数,不用关心 #if defined(CONFIG_DEBUG_ICEDCC)

……具体代码略 #endif 宏定义结束之后定义了一个段, .section ".start", #alloc, #execinstr 这个段的段名是 .start,#alloc表示Section contains allocated data, #execinstr表示Section contains executable instructions. 生成最终映像时,这段代码会放在最开头 .align start: .type start,#function /*.type指定start这个符号是函数类型*/ .rept 8 mov r0, r0 //将此命令重复8次,相当于nop,这里是为中断向量保存空间 .endr b 1f .word 0x016f2818 @ Magic numbers to help the loader

微机原理[第三版]课后练习答案解析

1 思考与练习题 一、选择题 1.计算机硬件中最核心的部件是( )。C A.运算器 B.主存储器 C.CPU D.输入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示器 3.计算机中带符号数的表示通常采用( )。C A.原码 B.反码 C.补码 D.BCD码 4.采用补码表示的8位二进制数真值范围是( )。C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。B A.41H B.42H C.61H D.62H 6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。C A.10010011B B.93H C.93 D.147 二、填空题 1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9 3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9 4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16 6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19 三、判断题 1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。( )√ 2.计算机中数据的表示范围不受计算机字长的限制。( )× 3.计算机地址总线的宽度决定了内存容量的大小。( )√ 4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。( )× (键盘与计算机通信采用ASCII码) 2 思考与练习题 一、选择题 1.在EU中起数据加工与处理作用的功能部件是( )。A A.ALU B.数据暂存器 C.数据寄存器 D.EU控制电路 2.以下不属于BIU中的功能部件是( )。 B A.地址加法器 B.地址寄存器 C.段寄存器 D.指令队列缓冲器

分析Android 开机启动慢的原因

开机启动花了40多秒,正常开机只需要28秒就能开机起来。 内核的启动我没有去分析,另一个同事分析的。我主要是分析从SystemServer启来到开机动画结束显示解锁界面的这段时间,也就是开机动画的第三个动画开始到结束这段时间,这是个比较耗时阶段,一般都在17秒左右(见过牛B的手机,只需5秒)。 SystemServer分两步执行:init1和init2。init1主要是初始化native的服务,代码在sy stem_init.cpp的system_init,初始化了SurfaceFlinger和SensorService这两个native的服务。init2启动的是java的服务,比如ActivityManagerService、WindowManagerService、PackageManagerService等,在这个过程中PackageManagerService用的时间最长,因为PackageManagerService会去扫描特定目录下的jar包和apk文件。 在开机时间需要40多秒的时,从Log上可以看到,从SurfaceFlinger初始化到动画结束,要27秒左右的时间,即从SurfaceFlinger::init的LOGI("SurfaceFlinger is starting")这句Log到void SurfaceFlinger::bootFinished()的LOGI("Boot is finished (%ld ms)", long(ns 2ms(duration)) ),需要27秒左右的时间,这显然是太长了,但到底是慢在哪了呢?应该在个中间的点,二分一下,于是想到了以启动服务前后作为分隔:是服务启动慢了,还是在服务启动后的这段时间慢?以ActivityManagerService的Slog.i(TAG, "System now ready")的这句Log为分割点,对比了一下,在从SurfaceFlinger is starting到System now read y多了7秒左右的时间,这说明SystemServer在init1和init2过程中启动慢了,通过排查,发现在init1启动的时候,花了7秒多的时间,也就是system_init的LOGI("Entered system _init()")到LOGI("System server: starting Android runtime.\n")这段时间用了7秒多,而正常情况是400毫秒便可以初始化完,通过添加Log看到,在SensorService启动时,用了比较长的时间。 不断的添加Log发现,在启动SensorService时候,关闭设备文件变慢了,每次关闭一个/dev/input/下的设备文件需要100ms左右,而SensorService有60~70次的关闭文件,大概有7s左右的时间。 调用流程是: frameworks/base/cmds/system_server/library/system_init.cpp: system_init->SensorServi ce::instantiate frameworks/native/services/sensorservice/SensorService.cpp: void SensorService::onFi rstRef()->SensorDevice& dev(SensorDevice::getInstance()) hardware/libsensors/SensorDevice.cpp: SensorDevice::SensorDevice()->sensors_open hardware/libsensors/sensors.cpp: open_sensors->sensors_poll_context_t sensors_poll_context_t执行打开每个传感器设备时,遍历/dev/input/目录下的设备文件,以匹配当前需要打开的设备,遍历文件是在 hardware/libsensors/SensorBase.cpp的openInput下实现,如果打开的设备文件不是正在打开的设备文件,会执行下面语句的else部分: if (!strcmp(name, inputName)) { strcpy(input_name, filename); break;

2016-2017学年上学期期末考试试卷抽查与分析报告

2016-2017学年上学期期末考试试卷抽查与分析报告 一、试卷抽查的目的 考试是教学过程中一个重要环节,试卷命题的质量以及学生考试成绩的高低,既反映教师的教学水平和教学质量,也反映学生的学习态度和学习效果,同时又是学校教学管理水平的集中体现。通过试卷抽查,可以进一步加强我校本科教学质量监控的广度和力度,提高试卷命题的质量和考试管理水平,规范试卷评阅工作,确保阅卷质量。 二、抽查对象 教学督导组11位专家对2016-2017学年上学期的期末试卷进行了检查。 根据教学督导工作计划,教务处总共抽取了60位教师的试卷,每位专家对5-6位教师的试卷进行检查。采集到的有效样本59个分布如下: 表1试卷样本信息一览表 学院经 管 学 院 政 法 学 院 外 语 学 院 文 学 院 数 学 学 院 物 理 学 院 信 息 学 院 计 算 机 学 院 机 电 学 院 土 木 学 院 化 环 学 院 纺 织 学 院 艺 术 设 计 学 院 轨 道 交 通 学 院 马 克 思 主 义 学 院 抽取教 师人数 444344444444444 三、结果与分析 (一)试卷清洁度、评分情况、试卷袋填写以及试卷装袋的抽查结果与分析

表2试卷抽查评审指标与内容统计 评审指标与内容 评审指标与内容 清 洁 度5 分 评分情况60分试卷袋填写20分试卷装袋15分 总 分 改 卷 清 洁 , 无 涂 改 阅 卷 严 格 按 评 分 标 准 给 分 有标 准答 案且 正 确, 有各 题要 点或 步骤 评分 标准 小 分 统 计 准 确 无 误 总分 统计 准确 无 误, 并与 成绩 单一 致 用红 笔批 卷, 并有 得 (或 扣) 分标 记, 无乱 涂 改, 改动 处应 有签 名 总成 绩考 虑平 时成 绩 时, 应提 供平 时成 绩依 据 各项 内容 填写 完 整、 详细 考 试 科 目 与 标 签 上 考 试 科 目 一 致 成绩 登记 表填 写完 整、 正确 有 评 卷 记 录 并 认 真 填 写 装订 整 齐、 规 范, 数量 完整 按 成 绩 单 顺 序 排 列 的 试 卷 试 卷 份 数 与 参 考 人 数 及 登 录 成 绩 人 数 相 符 全 校 平 均 分 4.269.098.919.189.178.618.76 4.76 5.00 4.81 4.88 4.96 4.70 4.9091.99 从表中可以看到,全校的平均分为91.99分。其中做得最好的环节是装订整齐、规范,数量完整以及考试科目与标签上考试科目一致两项,分别得了4.96分和5.00分。改卷清洁无涂改这一项的得分相对来说较低,只有4.26分,需加以改善。总体来讲,试卷袋填写与试卷装袋这两大指标的评分相对较高,满分20分和15分,分别得了19.45分和14.56分。 (二)专家反馈存在问题 根据11位专家对试卷的检查,教师们的试卷主要存在以下问题:

微机原理习题册答案整理

1.2 课后练习题 一、填空题 1.将二进制数1011011.1转换为十六进制数为__5B.8H_____。2.将十进制数199转换为二进制数为____ 11000111____B。3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD码。 4.十进制数36.875转换成二进制是___100100.111____________。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。 6.十进制数98.45转换成二进制为__1100010.0111_B、八进制__142.3463________Q、十六进制__62.7333________H。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出B)后进先出C)随机读写D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? 将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 指令按其在存储器中存放的顺序执行; 由控制器控制整个程序和数据的存取以及程序的执行; 以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为___0。1μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU 采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。 5. 在8086系统中,若某一存贮单元的逻辑地址为7FFFH:5020H,则其物理地址为_____85010H__________。 6. 8086的输入信号Ready 为低电平的作用是说明___存储器或I/O接口未准备好____________。 7. 8088 CPU的NMI 引脚提出的中断请求称为:___非屏蔽中断____________。 8. CPU从主存取出一条指令并执行该指令的时间称为___指令周期____________。 9. 在8086系统中,从奇地址读写两个字时,需要___ 4______个总线周期。 二、简答题 1. 在内部结构上,微处理器主要有那些功能部件组成? 1) 算术逻辑部件2) 累加器和通用寄存器组 3) 程序计数器4) 时序和控制部件(意思相近 2. 微处理器一般应具有那些基本功能? 本身具有运算能力和控制功能3. 什么是总线周期? CPU使用总线完成一次存储器或I/O接口的存取所用的时间, 称为总线周期,一个基本的总线周期包含4个T状态,分别 称为T1、T2、T3、T4。(意思相近即可) 三、判断题 6.8086的每个存储单元地址既是字节地址又是字地址。 ( √) 7. 同一个物理地址可以由不同的段地址和偏移量组合得到。 ( √) 3.2 课后练习题 一、简答题 1. 若(AX)=9C5AH,(BX)=9754H,执行下列指令序列后,程 序转向何处执行。 ADD AX,BX JNC L3 JNO L1JNO L4 JNC L2JMP L5 SUB AX,BX L3 2. 中断服务程序结束时,用RET指令代替IRET指令能否返 回主程序?这样做存在什么问题? RET应该可以使中断服务程序返回主程序,但因为RETF是 子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态 字PSW得以恢复,所以不能使断点完全恢复,对源程序的继 续执行造成不良影响。(回答可以返回2分,出现的问题3分, 意思相近即可) 3. 写出把首地址为BLOCK字数组中的第6个字,送到DX 寄存的指令(或指令组),要求使用以下几种寻址方式: (1) 寄存间接寻址 (2) 寄存相对寻址 (3) 基址变址寻址 1) MOV BX,OFFSET BLOCK+6 2) LEA BX,BLOCK 3) LEA BX,BLOCK MOV DX,[BX] MOV DX,[BX+12] MOV SI,12 MOV DX,[BX+SI] 4. 设BX=134AH,BP=1580H,DI=0528H,SI=0234H, DS=3200H,SS=5100H,求在各种寻址方式下源操作数的物 理地址。 1) MOV AX, [2400H] 34400H 2) MOV AX, [BX] 33580H 3) MOV AX, [SI] 32234H 4) MOV AX, [BX+2400H] 3574AH 5) MOV AX, [BP+2400H] 54980H 6) MOV AX, [BX+DI] 33872H 7) MOV AX, [BP+SI+2400H] 54BB4H 二、阅读下面的程序段,写出运行结果 1. CLC MOV AX,248BH MOV CL,3 RCL AX,CL 执行以上程序序列后,AX=_2458H__。 2. MOV BX,6D16H MOV CL,7 SHR BX,CL 执行后BX寄存器中的内容__00DAH___。 3. MOV DX,01H MOV AX,42H MOV CL,4 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 执行后 (DX)=_0010H___,(AX)=__0420H__________ 4. mov ax,693ah mov al,ah not al add al,ah inc al 程序段执行后,AL=_0000H__ 、ZF= ___1___________。 5. 根据程序填空(程序段顺序执行) MOV CL, 58H ;CL= 58 MOV AL, 79H ;AL= 79 ADD AL, CL ;AL= D1 H, AF= 1 , CF= DAA ;AL= 37H , AF= 0 , CF= 1 三、判断题 2. 执行下列指令可以将其00H送到端口地址为2F8H的外设 上:( √) MOV AL,00H MOV DX,2F8H OUT DX,AL 3. 8088的MOV指令不能进行两个存储器单元之间的数据直 接传送。( √) 6. 判断下列指令是否正确 JMP BX对 in al,dx对 mov ds,ax对 mov al,【bx+10h】对 push ss对 mov cs,ax对 4.2 课后练习题 一、填空题 1. 定义段结束的伪指令是____ ENDS _______;定义子程序结 束的伪指令是___ ENDP _____。 2.伪指令X DB 4 DUP (6,2 DUP(6,8));Y DW 6800H; 设X的偏移地址为2000H,则Y的偏移地址为 _2014H________H,若执行指令MOV BL,BYTE PTR Y后, 则(BL)=___ 00_____。 3.伪指令VR1 DB 2 DUP(?,3 DUP(1,2),5)在存贮器中被分配 了_______16个________字节。 二、选择题 1.下面表示段定义结束的伪指令是______C____。 A)END B)ENDP C)ENDS D)ENDM 2.变量的类型属性如下,下面错误的类型是___B_______。 A)字节型B)字符型C)字型D)双字 型 3.设有一程序定义如下: ORG 0024H AR1 DW 4,5,$+4 … MOV AX,AR1+4 执行以上指令后,AX中的内容正确的是____D___________。 A)0028H B)0032H C)002AH D) 002CH 4.现用数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP (1,0));问定义后,存储单元中有数据0100H的字单元个 数是_C___________。 A)4 B)3 C)8 D)12 5.下列伪指令中定义字节变量的是___A_____。 A)DB B)DW C)DD D)DT 6.使用DOS功能调用时,子功能号应放在( B )寄存器中。 A)AL B)AH C)DL D)DH 三、程序设计 1、、设正数个数存放于BX中,负数个数存放于DI中,零的 个数存放于DX中 MOV AX,0100H JZ ZERO MOV DS,AX JL NEGAT MOV BX,0 INC BX MOV DX,0 JMP NEXT1

微机原理与接口技术-期末考试试题答案3

“微机原理与接口技术” 1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。 2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什 么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU 与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对 20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的

内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令 的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址 为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意 义各是什么? 答:状态标志位有6个: ZF,SF,CF,OF,AF,PF。其意思是用 来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的 指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么? 答:INTR是可屏蔽请求信号,INTA中断响应信号,NMI是不可屏 蔽中断请求信号,ALE是地址锁存允许信号,HOLD总线请求信 号,HLDA总线请求响应信号。 11.虚拟存储器有哪两部分组成?

Android 开机启动流程

Android的开机流程 1. 系统引导bootloader 1) 源码:bootable/bootloader/* 2) 说明:加电后,CPU将先执行bootloader程序,此处有三种选择 a) 开机按Camera+Power启动到fastboot,即命令或SD卡烧写模式,不加载内核及文件系统,此处可以进行工厂模式的烧写 b) 开机按Home+Power启动到recovery模式,加载recovery.img,recovery.i mg包含内核,基本的文件系统,用于工程模式的烧写 c) 开机按Power,正常启动系统,加载boot.img,boot.img包含内核,基本文件系统,用于正常启动手机(以下只分析正常启动的情况) 2. 内核kernel 1) 源码:kernel/* 2) 说明:kernel由bootloader加载 3. 文件系统及应用init 1) 源码:system/core/init/* 2) 配置文件:system/rootdir/init.rc, 3) 说明:init是一个由内核启动的用户级进程,它按照init.rc中的设置执行:启动服务(这里的服务指linux底层服务,如adbd提供adb支持,vold提供SD卡挂载等),执行命令和按其中的配置语句执行相应功能 4. 重要的后台程序zygote 1)源码:frameworks/base/cmds/app_main.cpp等 2) 说明:zygote是一个在init.rc中被指定启动的服务,该服务对应的命令是/system/bin/app_process a)建立Java Runtime,建立虚拟机 b) 建立Socket接收ActivityManangerService的请求,用于Fork应用程序 c) 启动System Server 5. 系统服务system server 1)源码:frameworks/base/services/java/com/android/server/SystemServer.jav a 2) 说明:被zygote启动,通过SystemManager管理android的服务(这里的服务指frameworks/base/services下的服务,如卫星定位服务,剪切板服务等) 6. 桌面launcher 1)源码:ActivityManagerService.java为入口,packages/apps/launcher*实现 2) 说明:系统启动成功后SystemServer使用xxx.systemReady()通知各个服务,系统已经就绪,桌面程序Home就是在ActivityManagerService.systemReady()通知的过程中建立的,最终调用()启launcher 7. 解锁 1) 源码: frameworks/policies/base/phone/com/android/internal/policy/impl/*lock* 2) 说明:系统启动成功后SystemServer调用wm.systemReady()通知WindowManagerService,进而调用PhoneWindowManager,最终通过LockPatternKeyguardView显示解锁界面,跟踪代码可以看到解锁界面并不是一个Activity,这是只是向特定层上绘图,其代码了存放在特殊的位置

相关文档
最新文档