Dirk Tilger wrote:
>--- Moeen Alinaghian <[EMAIL PROTECTED]> wrote:
>
>
>>Right, and I don't like interpereters too, except for special reasons
>>...
>>I use Python or Perl for some daily works, and not more !
>>and C/C++ or Pascal for Programming.
>>
>>
>
>For the same reason I don't like digital computers, by the way. A very
>simple example: imagine you want to calculate 5+3. On the analogous
>computer you have a 5 volt signal contact a three volt signal and you
>would immediately without any delay messure 8 volt.
>
>
>
The biggest problem in an analog system is thae you _never_ get the
correct required voltages !
And that's why analog computers never made it big.
>For the digital computer, imagine the five and the three coming through
>serial lines as bytes of 6 bit. Then the digital computer would
>
>1. load the 6 bits from the first number into the register of the
>serial port register [6 steps]
>
>
You don't have to do this manually, since we R/W in one shot.
If we ignore LE/BE conventions,
we would be reading writing as
struct s_port_1{
unsigned s_bit_1 :1;
unsigned s_bit_2 :1;
unsigned s_bit_3 :1;
unsigned s_bit_4 :1;
unsigned s_bit_5 :1;
unsigned s_bit_6 :1;
} __attribute__((packed));
we would be reading it in one shot. The value of unsigned would depend
on the register width of the native platform.
So you need to align and pack it as necessary according to the target
platform, well this is in "C" if you use "asm" it is a bit more simpler
So this is 1 single step, rather than 6 steps (The hardware UART does
the shifting for you in other terms)
I will explain it simpler..
>2. load the serial ports register into a help register of the processor
>[at least one step]
>3. load the 6 bits from the second number into the register of the
>serial port
>4. have the accumulator register adding the value of the help register
>[at least one step]
>5. have the processor writing the content of the new accumulator
>register to the serial port [1 step]
>6. have the serial port writing the contents of its register in the
>serial line [6 steps]
>
>After every step is completed, it process will wait until the next tick
>is coming. Not mentioning how much operating system you need for a
>system performing this task...
>
>
>
With an analog computer you need Temperature compensated precision
volatge sources for the calculation of the same, but again the losses
that do occur in the components , does make matters even worser causing
passive components to be replaced by active components such that each
passive component's loss is compensated by the active component.
Oh you don't need an OS. For example on a 8 bit RISC micro, i can do
something like this
(some pseudo asm )
org @INTERRUPT_VECTOR_ADDRESS
btfsc INTSTAT.UART_RCV // check whether we
can read
addwf UART, w // add it to
accumulator
bcf INTSTAT.UART_RCV // clear interrupt flag
return
org @RESET_VECTOR_ADDRESS
start:
movwf RESULT; // move result
to wherever
goto start
return
So in essence, the entire operation takes less than 6 instructions.
which you can say on a typical 8 bit micro would be 24 clock cycles.
on a processor running at 4Mhz or 20 Mhz. It is damn fast.
An analog system has to wait till the internal oven stabilizes the
internal regulator for the precise voltage source. Another drawback.
In the long run, digital computers works out more precisely and cheaper,
and are smaller too.
Not to mention about efficiency. ie, an anlog computer will have lot of
losses due to the amplifiers, (unlike logic buffers which have only 2
states) the analog buffers would be an amplifier with an efficiency of
max 25 ~ 40 % (Class A) operation. rest goes away as heat.
I just meant a single buffer, in a processor there would be ahem ! at
least thousands of them !
Manu
------------------------ Yahoo! Groups Sponsor --------------------~-->
Most low income households are not online. Help bridge the digital divide today!
http://us.click.yahoo.com/cd_AJB/QnQLAA/TtwFAA/0XFolB/TM
--------------------------------------------------------------------~->
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/dubailug/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/