|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
位数指CPU处理的数据的宽度,参与运算的寄存器的数据长度。3 i2 `9 ?( U+ d. ^. B
$ }$ N0 i0 Q, H+ j8 B' y. j( b9 q& v/ t
如果总线宽度与CPU一次处理的数据宽度相同,则这个宽度就是所说的单片机位数。% l: [& ^# o6 w7 z' Q# I) Z4 \2 K! x( O! }; j
4 {6 w, X7 y" T# o( s如果总线宽度与CPU一次处理的数据宽度不同: ?! I; V% `! J6 V- g2 }& Z% ~
$ h& ]# @! d3 x5 z2 d8 w- T; x/ F& c- A; T, P
(1)总线宽度小于CPU一次处理的数据宽度,则以CPU的数据宽度定义单片机的位数,但称为准多少位。比如著名的Intel 8088,CPU是16位但总线是8位,所以它是准16位。
; o/ p! d% {6 `1 R5 A. g: G# b/ m! p2 k Y5 A0 g+ S4 {: I
(2)总线宽度小于CPU一次处理的数据宽度,则以CPU的数据宽度定义单片机的位数。5 u- y6 D3 D# z" \) T# E3 _1 p2 T5 T, L
% L* `4 I& G% B, }9 i3 D+ v: Q. q* T+ g! w8 e9 ?; v6 N% n9 c3 D" Z; t! [# q
少位宽不是指总线宽度,也不是存储器的宽度,像51单片机的地址总线是16位的,但是它是8位机。像ARM的存储器也有八位的,但是它是32位机。而是指CPU处理的数据的宽度,也就是CPU一次数据的吞吐量。比如同一条指令:MOV R0 R2/ D. ?* u3 q7 T1 |" S# S
3 [8 c' W; A: g6 ?
/ K% I8 c5 x# b" G1 A& T在51单片机里面,R0和R2都是8位的,所以51的CPU一次只能处理8位数据。6 B5 Y8 \! K- {
$ V) z2 E' ]$ X) R- k( ?* C, @5 |, J
% ?- I4 J o! g2 v/ C% X q在ARM里面,R0和R2是32位的,所以ARM的CPU一次能处理32位数据。这就是区别。& S6 N( s: T$ d! S4 H
3 R* _" U( w* c. r3 z" u
+ N" T9 M, e3 y. ~# o有啥复杂的, 一句话:参与运算的寄存器的数据长度。
: g, `% Y9 h) y8 G) h
% D7 m& I) J( U' ?8位单片机的数据总线宽度为8位,通常直接只能处理8位数据;
: d; w' N8 ~9 {3 S1 Y' }0 H: ]5 X2 y4 h$ {4 q- o/ \% Y! B. V) E! P% ~" q
16位单片机的数据总线宽度为16位,通常可直接处理8位或16位数据。. L: L! c" ?) i- p$ X6 R1 A" [ W4 n( ?: O2 v: }. m
. B6 \6 o6 j5 h
- |' h! D; X- @6 C5 {最本质的区别是内部CPU的字长不同,即CPU处理数据的最大位数不同,有8位和16位CPU的区别,你可以认为是ALU、寄存器的字长等。有的32位DSP芯片其外部接口数据总线是16位的,根据这个来判断是不行的) E# m* [5 B" x: H# g y3 p$ \0 m3 S4 y8 u; x2 @! P! m# F# W
- X& q/ {( C' \5 N, u" b& L3 s6 s
速度上有区别,取决于CPU、寄存器的字长。8位单片机不能直接处理16位数据,要按照8位数据来处理,要分几个过程来完成。而16位单片机,可直接处理16们数据,因为其ALU,寄存器等都是16位的,可一次完成8位单片机要多步完成的动作,特别是对于数据处理,16位单片机有它的优势。而且16位单片机大多数据接口都为16位。: p1 f1 H( y/ _- A* Q( T
$ O, M/ i- c" i6 u3 l9 }; v说简单了就是16位的比8位快,8位的单片机发展时间长,且价格偏低。最重要的是在许多的应用场合能够胜任开发的任务。16位的单片机在功能上要比8位的强大很多,只在需要的场合使用.- b; [ O: [+ e) B" Q a" h& T6 S, i8 u# p5 h# H
) o; j5 p0 S5 k+ [, d
你知道2进制吧,你是否知道单片机在进行计算的时候统统是2进制数的运算。所以8位单片机和16位单片机的最根本区别就是,8位单片机可以同时进行2个8位的2进制数相加,而16位单片机则大一倍,可以同时让2个16位的2进制数相加。. }' p% S k$ O9 w) D: u ?- d0 I( c
! ~! c& X' M7 [. }4 ^
CPU能同时处理二进制数的位数是多少位,就称其是多少位的计算机。也有数据总线的位数是CPU位数的一半的情况,就称其是准多少位的计算机。比如CPU是16位,数据总线也是16位,则是16位计算机;CPU是16位,数据总线也是8位,则是准16位计算机。4 _, V/ `* ?7 B2 i3 ~
8 B5 Q P" A0 D9 ~2 c2 [0 I. G5 w7 o) c* V3 f# j. h* o1 a8 N. e
+ T0 t* W, F5 [7 n* K( R原来是16位单片机想改用8位的替代是可以的,但电路及程序都要做相应改变,并且改为8位机后,在功能和速度上要能够满足你工作的需要才行。9 W) |% `$ c8 {( g( a3 g" h
|
|