3050311118 发表于 2010-10-21 01:32:38

突然想问个奇怪的想法:英特尔芯片可以裸奔吗?就是不跑操作系统 直接运行编译生成的hex

如题

cock 发表于 2010-10-21 02:35:42

当然可以,BIOS见过吗?就是.

armok 发表于 2010-10-21 05:43:48

ctl3432 发表于 2010-10-21 06:59:50

新的BIOS已经有了,马上就要应用.据说,可以很大的提高计算机的速度.

hiberhe 发表于 2010-10-21 07:19:42

是UEFI吧,这个大多数代码都是基于C的,intel带头搞的一个框架,intel有一个关于这个的开源的项目,好像很多大厂就是基于这个项目的

有不少高端的去前年就在用了,据说明年要大量用(好像说占50%)

carryonli 发表于 2010-10-21 07:44:37

声明一点,bios不是运行在计算机CPU里面的。他只是启动时初始化CPU的,为CPU启动创造条件。

ssaweee 发表于 2010-10-21 07:54:03

前不久还看到intel在免费发atom的开发板,好像学生有项目的话也可以申请,不过要签保密协议

dr2001 发表于 2010-10-21 08:16:42

可以直接跑裸代码。

按照标准方法写程序,编译成Bin的格式,放在MBR里,起来以后直接进保护模式Ring 0,想干啥干啥。
不过各种驱动程序写起来要人命。可比MCU困难多了。

启动之后可以用BIOS的功能,也能直接操作端口去完成所有的事情。保护模式用BIOS好像多少有点问题?
CPU的寄存器,芯片组的寄存器在Intel的手册里至少大部分是公开的。

这个可以参考那些用汇编写的,一个1.44M软盘的那些小操作系统。

Cocal 发表于 2010-10-21 08:34:12

答案当然是肯定的。

BIOS不是运行在计算机CPU里的?如果这个的BIOS是X86的,那么明显是错的,呵呵。

rocket13 发表于 2010-10-21 08:46:58

确实可以,本科的时候这么干过。还是在linux下编译出来一个bin,拷到软盘里执行的,正如7楼所说

chunk 发表于 2010-10-21 09:33:42

上传一篇文档:
点击此处下载 ourdev_591694VM6B3T.pdf(文件大小:174K) (原文件名:Low Cost Embedded x86 Teaching Tool.pdf)

如果你做了一块PCI扩展卡,想在卡上装一个ROM,放些程序进去。或者你的PCI网卡上有ROM插座,你想把一些程序做到这个网卡的ROM中,以便开机后就能执行,那么这个文档中包括了所有你需要的。

你需要以下一些基础:
INTEL 80386的基本原理,主要是实模式切入保护模式,80386的汇编语言,GNU toolchain的使用,也就是AS/GCC/LD/MAKE等,PCI总线的基础知识。

以上知识简单了解即可,若还没有了解,通过这篇文档也能大概知道是怎么回事。

最后,该文档是英文的。

gzhuli 发表于 2010-10-21 09:44:50

回复【2楼】armok 阿莫
回复【1楼】cock
当然可以,bios见过吗?就是.
-----------------------------------------------------------------------
bios 不知道能否发挥 intel cpu的万分一性能 ?在 bios 里,移一下键盘都是慢吞吞的。
-----------------------------------------------------------------------

现在的BIOS还是16位实模式的,二十年前沿用至今的了,慢是肯定的。
服务器上已经普遍用EFI代替BIOS,工作在32位保护模式的,支持图形界面和鼠标操作,还可以上网……

xyufo2000 发表于 2010-10-21 11:32:16

芯片里始终跑得是0和1,在486以前为了提高运算速度,很多控制程序都是汇编编的。

aureole 发表于 2010-10-21 11:35:15

grub 应该算吧

gzhuli 发表于 2010-10-21 12:30:44

grub不算,它要调用BIOS的API取得磁盘驱动器信息,没有BIOS跑不起来。
386以前的x86裸奔还比较简单,现在的x86裸奔是很麻烦的,需要初始化很多东西,CPU、南北桥、Multi-I/O、PCI设备枚举和初始化等等,牵涉面太广,不是那么容易的。

wuyya 发表于 2010-10-21 16:45:47

很久很久以前,有一种电脑,型号好像是叫IBM PC/XT,没有硬盘,要用一张大大的薄薄的软盘来启动DOS,如果你没有DOS启动盘,很奇妙地,它会启动BASIC的解释器,你可以玩BASIC,很不错的说。

mcu_lover 发表于 2010-10-21 18:25:13

受教了。

0331631 发表于 2010-10-22 08:01:17

学习了!

Cliff 发表于 2010-10-22 08:16:00

回复【楼主位】3050311118
如题
-----------------------------------------------------------------------

1、那你说操作系统本身是什么?
2、Intel 8031 是 Intel 芯片吗?

Cliff 发表于 2010-10-22 08:20:55

回复【15楼】wuyya
很久很久以前,有一种电脑,型号好像是叫ibm pc/xt,没有硬盘,要用一张大大的薄薄的软盘来启动dos,如果你没有dos启动盘,很奇妙地,它会启动basic的解释器,你可以玩basic,很不错的说。
-----------------------------------------------------------------------

IBM PC/XT 是有硬盘的
IBM PC 才是没有硬盘的

mcu.runner 发表于 2010-10-22 08:46:46

我在Intel x86 芯片的主板上裸奔过,当时用的是 SIS630E 主板。

具体方法是:
1、插上赛扬566 和 128MB SDRAM
2、飞线控制 PowerON 和 Reset
3、接上软驱和PC电源
4、BIOS 里配置从软驱启动。
5、做了一个etherboot启动盘,可以从 Linux 主机上用 tftp 下载程序到 SIS630E 的主板里。

后来有了 Bochs 模拟器,就不用在实际的主板上裸奔了,改模拟器裸奔。

lbc___ 发表于 2010-10-22 10:15:17

可以吧,我记得本科上微机原理的时候,虽然是在DOS下写的程序,汇编语言的,可以直接操作硬件,IO口和寄存器都可以。应该和裸奔差不多了吧,虽然是在DOs下。

obit 发表于 2010-10-22 15:46:46

如果不能裸奔,试想如何加载操作系统?

wxws 发表于 2010-10-22 22:31:12

顶下十楼

JQ_Lin 发表于 2010-10-22 22:49:09

回复【19楼】Cliff
回复【15楼】wuyya
很久很久以前,有一种电脑,型号好像是叫ibm pc/xt,没有硬盘,要用一张大大的薄薄的软盘来启动dos,如果你没有dos启动盘,很奇妙地,它会启动basic的解释器,你可以玩basic,很不错的说。
-----------------------------------------------------------------------
ibm pc/xt 是有硬盘的
ibm pc 才是没有硬盘的
-----------------------------------------------------------------------

【19楼】正解。
另,不论有无硬盘,它们都是有操作系统的,而不是裸奔的。

zero_up 发表于 2010-10-25 09:44:56

操作系统没有启动之前
他其实就在裸奔

cmos2345 发表于 2010-11-11 01:30:41

可以跑,不过你没有intel的支持的话跑不了多远。intel有很多资料都不公开的,有些只对BIOS厂商公开,即使是联想这样的大公司都不能拿的到。而且现在的CPU都要加MicroCode,一般人是拿不到的。所以如果你想拿来像ARM那样自己折腾是不可能的。
页: [1]
查看完整版本: 突然想问个奇怪的想法:英特尔芯片可以裸奔吗?就是不跑操作系统 直接运行编译生成的hex