笔记本开机原理分析

硬件启动原理

在常态下POWER中的PS-ON是高电平,只有当PS-ON处于低电平时,POWER开始工作.如上图,在常态时,SOUTHBRIDGE的SUSC#应为高电平,因为此信号是低电平有效,此时三极管的极基为低电平,三极管截止,5V-SB直接加到PS-ON,使电源保持常态.POWER无法送出PG信号给SOUTH BRIDGE,系统无法工作.当POWER BUTTON BOARD触发有效时﹐SUSC#为低电平,此时三极管的基极为高电平导通,5V-SB直接接地,从而PS-ON被拉低,POWER工作,同时向SOUTH BRIDGE,NOTTHBRIDGE及CPU发送PG信号,当SOUTH接到PG,CLOCK GENERATION送来的CLOCK开始工作,并输出RESET#到ISA,PCI,AGP总线,NORTH? BRIDGE收到PG,PCI RESET#及CLOCK后输出CORREST#给CPU,CPU接到CORREST#信号﹐开始动作并送出FFFFFFF0地址经南﹐北桥指向BIOS.硬件启动部分到此结束,系统启动权交由BIOS.进入软启动状态

软启动过程

软件启动过程主要是BIOS(Base Input Output System)的POST(Power On Self Test-上电自检).CPU工作后,系统的高端内存的分布如下

…………………..
A0000…BFFFF:为 VIDEO? MEMORY
C0000…C7FFF:为 VGA BIOS
C8000…CFFFF:为 I/O ROM
D0000…DFFFF为 Optional ROM & Buffer Area
E0000…FFFFF:为 系统BIOS

CPU复位时,将CS=FFFF,IP=0000,准备从FFFF0处进行POST自检程序,称为FETCH CODE.CPU在每一个FETCH CODE周期会连续发出32个20位地址(分8次从PCI总在线取得数据,运行1次所取得的数据以PCI上的TRDY和IRDR信号为标志,而期间SOUTH BRIDGE负责将每个地址传送到ISA总线并从BIOS中获取数据,由于BIOS上的仅有8位数据,而PCI BUS 为32为总线,故SOUTH BRIDGE每读BIOS数据4次(以I/O TRDY#为标志)才发出TRDY和IRDY信号向CPU传送,传送8次后,CPU从FFFF0开始执行数据中的代码,其后,进行下一次的FETCH CODE.CUP正是以这样的方式完成BIOS的整个POST过程.

(0)

相关推荐

  • 笔记本开机原理分析

    硬件启动原理 在常态下POWER中的PS-ON是高电平,只有当PS-ON处于低电平时,POWER开始工作.如上图,在常态时,SOUTHBRIDGE的SUSC#应为高电平,因为此信号是低电平有效,此时三极管的极基为低电平,三极管截止,5V-SB直接加到PS-ON,使电源保持常态.POWER无法送出PG信号给SOUTH BRIDGE,系统无法工作.当POWER BUTTON BOARD触发有效时﹐SUSC#为低电平,此时三极管的基极为高电平导通,5V-SB直接接地,从而PS-ON被拉低,POWER工

  • 对一个vbs脚本病毒的病毒原理分析

    一.前言 病毒课老师丢给我们一份加密过的vbs脚本病毒的代码去尝试分析,这里把分析过程发出来,供大家参考,如果发现文中有什么错误或者是有啥建议,可以直接留言给我,谢谢! 二.目录 整个分析过程可以分为以下几个部分: 0x00 准备工作 0x01 解密部分 0x02 功能分析 三.分析过程 0x00 准备工作 windows xp的虚拟机(在自己的windows下也可以做) vbs的一些基本语法 0x01 解密部分 右击病毒文件然后编辑打开或者是直接把其后缀修改成txt直接打开都行,可以看到一大段

  • 基于JS对象创建常用方式及原理分析

    前言 俗话说"在js语言中,一切都对象",而且创建对象的方式也有很多种,所以今天我们做一下梳理 最简单的方式 JavaScript创建对象最简单的方式是:对象字面量形式或使用Object构造函数 对象字面量形式 var person = new Object(); person.name = "jack"; person.sayName = function () { alert(this.name) } 使用Object构造函数 var person = { na

  • VBS脚本病毒原理分析与防范

    网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候.当您收到一封主题为"I Love You"的邮件,用兴奋得几乎快发抖的鼠标去点击附件的时候:当您浏览一个信任的网站之后,发现打开每个文件夹的速度非常慢的时候,您是否察觉病毒已经闯进了您的世界呢?2000年5月4日欧美爆发的"爱虫"网络蠕虫病毒.由于通过电子邮件系统传播,爱虫病毒在短短几天内狂袭全球数百万计的电脑.微软.Intel等在内的众多大型企业网络系统瘫痪,全球经济损失达几十亿美元.而去年爆发的新欢

  • Android Handler 原理分析及实例代码

    Android Handler 原理分析 Handler一个让无数android开发者头疼的东西,希望我今天这边文章能为您彻底根治这个问题 今天就为大家详细剖析下Handler的原理 Handler使用的原因 1.多线程更新Ui会导致UI界面错乱 2.如果加锁会导致性能下降 3.只在主线程去更新UI,轮询处理 Handler使用简介 其实关键方法就2个一个sendMessage,用来接收消息 另一个是handleMessage,用来处理接收到的消息 下面是我参考疯狂android讲义,写的一个子

  • Java 动态代理原理分析

    Java 动态代理原理分析 概要 AOP的拦截功能是由java中的动态代理来实现的.说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类(该切面逻辑或者在目标类函数执行之前,或者目标类函数执行之后,或者在目标类函数抛出异常时候执行.Spring中的动态代理是使用Cglib进行实现的.我们这里分析的是JDK中的动态代理实现机制. 下面我们通过例子快速了解JDK中的动态代理实现方式. 示例 需要代理的接口 public interface IHello { public void sayHel

  • java 中volatile和lock原理分析

    java 中volatile和lock原理分析 volatile和lock是Java中用于线程协同同步的两种机制. Volatile volatile是Java中的一个关键字,它的作用有 保证变量的可见性 防止重排序 保证64位变量(long,double)的原子性读写 volatile在Java语言规范中规定的是 The Java programming language allows threads to access shared variables (§17.1). As a rule,

  • spring boot启动加载数据原理分析

    实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求. 为了解决这样的问题,spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现. 创建实现接口 CommandLineRunner 的类,通过@Component注解,就可以实现启动时加载数据项.使用@Order 注解来定义执行顺序. IndexStartupRunner.Java类: import org.springframework.boot.CommandLine

  • Java8 HashMap的实现原理分析

    前言:Java8之后新增挺多新东西,在网上找了些相关资料,关于HashMap在自己被血虐之后痛定思痛决定整理一下相关知识方便自己看.图和有些内容参考的这个文章:http://www.jb51.net/article/80446.htm HashMap的存储结构如图:一个桶(bucket)上的节点多于8个则存储结构是红黑树,小于8个是单向链表. 1:HashMap的一些属性 public class HashMap<k,v> extends AbstractMap<k,v> impl

  • PHP中实现中文字符进制转换原理分析

    一,中文字符转十进制原理分析 GBK编码中一个汉字由二个字符组成,获取汉字字符串的方法如下 复制代码 代码如下: $string = "不要迷恋哥"; $length = strlen($string); for($i=0;$i<$length;$i++){ if(ord($string[$i])>127){ $result[] = ord($string[$i]).' '.ord($string[++$i]); } } var_dump($result); 由于一个汉字为

随机推荐