Welcome to The PC Technology Guide

Quick Reference

Source:  http://www.pctechguide.com/index.htm

 

Firmware and Software

 

Computer 101

 

Abbreviation of central processing unit, and pronounced as separate letters. The CPU is the brains of the computer. Sometimes referred to simply as the processor or central processor, the CPU is where most calculations take place. In terms of computing power, the CPU is the most important element of a computer system.

On large machines, CPUs require one or more printed circuit boards. On personal computers and small workstations, the CPU is housed in a single chip called a microprocessor.

Two typical components of a CPU are:

A basic command. The term instruction is often used to describe the most rudimentary programming commands. For example, a computer's instruction set is the list of all the basic commands in the computer's machine language.

 

The lowest-level programming language (except for computers that utilize programmable microcode) Machine languages are the only languages understood by computers. While easily understood by computers, machine languages are almost impossible for humans to use because they consist entirely of numbers. Programmers, therefore, use either a high-level programming language or an assembly language. An assembly language contains the same instructions as a machine language, but the instructions and variables have names instead of being just numbers.

Programs written in high-level languages are translated into assembly language or machine language by a compiler. Assembly language programs are translated into machine language by a program called an assembler.

Every CPU has its own unique machine language. Programs must be rewritten or recompiled, therefore, to run on different types of computers.

1. The following utility will enable you to convert hexadecimal to decimal and vice versa

http://www.statman.info/conversions/hexadecimal.html

 

2. The following utility will enable you to convert power expressed in one unit to another unit

http://www.statman.info/conversions/power.html

 

3. Decimal, Hex, Binary Symbols A Byte Holds ASCII and Then Some

Since the common storage unit in a computer is an 8-bit byte (256 character combinations) and ASCII uses only the first 128 (0-127), the second set of 128 characters (128-255) are technically not ASCII, but are typically used for foreign language and math symbols. In the first PCs running DOS, they also contained elementary graphics symbols. In the Mac, the additional values can be defined by the user.

ASCII vs. Hex
In technical applications typically used by developers, you may have a choice between entering data in ASCII or "hex" for editing or searching. ASCII is entered by typing in regular text, but because there are not enough keys on the keyboard to enter 256 distinct characters, the hexadecimal (hex) numbering system is used. Hex is entered by typing only the digits 0 to 9 or the letters A to F, and it provides a precise way of defining any of the 256 possible combinations in the byte, whether they be control codes (0-31) or the last 128 (128-255). See hex chart, ASCII file and Unicode.

 

Conversion Code - Chart

DECIMAL

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

HEX

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

BINARY

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

 

4. ASCII. (American Standard Code for Information Interchange) standard code for representing characters as binary numbers, used on most microcomputers, computer terminals, and printers. In addition to printable characters, the ASCII code includes control characters to indicate carriage return, backspace, and the like.

In computer software, any symbol that requires one byte of storage. This includes all the ASCII and extended ASCII characters, including the space character. In character-based software, everything that appears on the screen, including graphics symbols, is considered to be a character. In graphics-based applications, the term character is generally reserved for letters, numbers, and punctuation. Text files stored in ASCII format are sometimes called ASCII files. Text editors and word processors are usually capable of storing data in ASCII format, although ASCII format is not always the default storage format. Most data files, particularly if they contain numeric data, are not stored in ASCII format. Executable programs are never stored in ASCII format.

The standard ASCII character set uses just 7 bits for each character. There are several larger character sets that use 8 bits, which gives them 128 additional characters. The extra characters are used to represent non-English characters, graphics symbols, and mathematical symbols. Several companies and organizations have proposed extensions for these 128 characters. The DOS operating system uses a superset of ASCII called extended ASCII or high ASCII. A more universal standard is the ISO Latin 1 set of characters, which is used by many operating systems, as well as Web browsers.  Another set of codes that is used on large IBM computers is EBCDIC.

Abbreviation of Extended Binary-Coded Decimal Interchange Code. Pronounced eb-sih-dik, EBCDIC is an IBM code for representing characters as numbers. Although it is widely used on large IBM computers, most other computers, including PCs and Macintoshes, use ASCII codes.

http://www.answers.com/topic/ascii?cat=biz-fin

 

 

 

ASCII CODE Chart - Character and their equivalent decimal values

Char

NUL

SOH

STX

ETX

EOT

ENQ

ACK

BEL

BS

HT

LF

VT

FF

CR

SO

SI

DEC

00

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Char

DLE

DC1

DC2

DC3

DC4

NAK

SYN

ETB

CAN

EM

SUB

ESC

FS

GS

RS

US

DEC

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Char

SP

!

"

#

$

%

&

'

(

)

*

+

,

-

.

/

DEC

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Char

0

1

2

3

4

5

6

7

8

9

:

;

< 

=

> 

?

DEC

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Char

@

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

DEC

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Char

P

Q

R

S

T

U

V

W

X

Y

Z

[

\

]

^

_

DEC

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Char

`

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

DEC

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Char

p

q

r

s

t

u

v

w

x

y

z

{

|

}

~

DEL

DEC

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://www.easycalculation.com/ascii-hex.php

ASCII, the history

The most used computer standard is without doubt ASCII, the American Standard Code for Information Interchange. When people started to develop computers, they had to define a way to represent certain types of information in a digital format. For numbers this was relatively easy, but text representation was far more difficult. Morse code was developed in the 19th century, but could not be easily adapted to the binary system in computers because the codes used for characters have different lengths and there is no obvious sorting method.

IBM came in the sixties of the previous century with it's own solution EBCDIC, Extended Binary Coded Decimal Interchange Code used on their mainframes and AS/400 systems. But this system had some drawbacks. The letters of the alphabet were placed in blocks which is not very useful for sorting. At the same time that IBM was developing her EBCDIC solution, others computer developers were creating their own.

It became evident that exchanging data between various computer systems would be a huge problem if this diversity would not stop. It was therefore that Bob Bemer—now often called the Father of ASCII—compiled all different coding methods in a huge list. It was this list that made computer manufacturers realize that something had to be done about this situation quickly. Bob Bemer started standardization committees, and the first implementation of ASCII was introduced in 1963. Extensions for foreign languages were adopted to ASCII in 1967, and in 1968 it finally became an official government standard.

Nowadays 100% of all computers use the ASCII coding as their primary coding system. Extensions for foreign languages are all coded as a superset of ASCII. Therefore we can say without doubt that ASCII is the most used computer standard in the world.

ASCII character set table

The ASCII character set has been adopted as the standard in information exchange. The first 32 characters and the last one are control codes, the others are printable characters. The control codes DC1 (XON) and DC3 (XOFF) are used in software flow control applications. The following table shows the ASCII character set.

The ASCII character set

 

0

1

2

3

4

5

6

7

0

NUL

SOH

STX

ETX

EOT

ENQ

ACK

BEL

8

BS

HT

LF

VT

FF

CR

SO

SI

16

DLE

DC1

DC2

DC3

DC4

NAK

SYN

ETB

24

CAN

EM

SUB

ESC

FS

GS

RS

US

32

SP

!

"

#

$

%

&

'

40

(

)

*

+

,

-

.

/

48

0

1

2

3

4

5

6

7

56

8

9

:

;

< 

=

> 

?

64

@

A

B

C

D

E

F

G

72

H

I

J

K

L

M

N

O

80

P

Q

R

S

T

U

V

W

88

X

Y

Z

[

\

]

^

_

96

`

a

b

c

d

e

f

g

104

h

i

j

k

l

m

n

o

112

p

q

r

s

t

u

v

w

120

x

y

z

{

|

}

~

DEL

ASCII control codes in detail

0 – NUL – Null character

The NUL character in the ASCII character set was originally meant to be treated as a NOP, a character to be ignored. This would be useful on paper tapes where additional information had to be added in between existing information. However, some printing devices had the NUL implemented as a white space instead. Later on, the importance of the null character increased significantly when it was defined as the string terminator in the C programming language. It made it possible to define strings of infinite length in programming languages. Until then most languages like Pascal defined a string as a length indicator, followed by an array that contained the characters.

1 – SOH – Start of heading

If the communication primarily exists of commands and messages, the SOH can be used to mark the beginning of each message header. In the original 1963 definition of the ASCII standard the name start of message was used, which has been renamed to start of heading in the final release. Nowadays we often see the SOH used in serial RS232 communications where there is a master-slave configuration. Each command from the master starts with the SOH. This makes it possible for the slave or slaves to resynchronize on the next command when data errors occured. Without a clear marking of the start of each command a resync might be problematic to implement.

2 – STX – Start of text
3 – ETX – End of text

A message based communication protocol will probably use messages with a header containing addressing information, followed by the actual content. The ASCII STX indicates the start of the content part in such a message. This control code automatically ends a previous header, i.e. there is no control code to close a header started by SOH. The end of the message content is signaled with control character ETX. The actual contents of a message are not defined by the ASCII standard and are protocol dependent. Interesting to note is, that in the 1963 draft of the standard, naming conventions differed. STX was in this draft called EOA, end of address and ETX started its life as EOM, end of message. This is because in the original draft a message always contained a start and stop control character. The new definition allowed to use only the SOH to send a fixed length command, without the need to end the command with a trailing control code. In fact, in current serial protocols we see this commonly used where fixed length messages are sent without a distinction between the header and content.

4 – EOT – End of transmission

5 – ENQ – Enquiry

6 – ACK – Acknowledgment

7 – BEL – Audible bell

The BEL code is an interesting one in the ASCII set as it is not primarily used for data coding or device control. Instead it is used to attract human attention with an audible sound. It was intended to be used on both computers and devices like printers. In the programming language C the control code \a is used the bell signal.

8 – BS – Backspace

The functionality of the backspace has changed over time. In the beginning it was primarily meant to move the cursor one character backwards on printers and teletypes to make accents on characters possible. For example to generate the character β one could send the sequence aBS^ to the printer. This method was a practical copy of the way how characters with accents were handled on mechanical typewriters, but when CRT's were introduced it was no longer supported in that way. Therefore now the backspace is most often used to not only reposition the cursor, but also delete the actual contents on that position. You can use this control character as \b in the C programming language.

9 – HT – Horizontal tab

The HT control character in the ASCII character set is defined for layout purposes. It instructs the output device to proceed to the next table column. Table column width is flexible, but on many devices the distance between table columns defaults to 8. The use of the horizontal tab not only reduced the work for data typists, but also introduced a method to reduce the amount of storage space necessary for formatted texts. We will now laugh about it, but keep in mind that the ASCII standard was developed 40 years ago when every byte of storage was valuable, and compression methods like ZIP, didn't exist. The control character HT is available as \t in the C programming language.

10 – LF – Line feed

The line feed character is one of the characters in the ASCII character set that has been misused. Originally, the LF character was meant to move the head of a printer one line down. A second control character CR would then be used to move the printing head to the left margin. This is the way it was implemented in many serial protocols and in operating systems like MS-DOS and Windows. On the other hand the C programming language and Unix operating system redefined this character as newline which meant a combination of line feed and carriage return. You can argue about which use is wrong. The way C and Unix handle it is certainly more natural from a programming point of view. On the other hand is the MS-DOS implementation closer to the original definition. It would have been better if both line feed and newline were part of the original ASCII definition because the first defines a typical device control functionality where the latter is a logical text separator. But this separation is not the case. Nowadays people tend to use the LF character mainly as newline function and most software that handles plain ASCII text files is capable of handling both single LF and CR/LF combinations. The control character is in the programming language C available as \n.

11 – VT – Vertical tab

The vertical tab is like the horizontal tab defined to reduce the amount of work for creating layouts, and also reduce the amount of storage space for formatted text pages. The VT control code is used to jump to the next marked line. To be honest, I have never seen a situation or application where this functionality was implemented. In most situations a sequence of LF codes is used instead.

12 – FF – Form feed

The form feed code FF was designed to control the behavior of printers. When receiving this code the printer moves to the next sheet of paper. The behavior of the control code on terminals depends on the implementation. Some clear the screen, whereas others only display the ^L characters or perform a line feed instead. The shell environments Bash and Tcsh have implemented the ASCII form feed as a clear screen command. The form feed is implemented as \f in the C programming language.

13 – CR – Carriage return

The carriage return in the ASCII character set in its original form is meant to move the printing head back to the left margin without moving to the next line. Over time this code has also been assigned to the enter key on keyboards to signal that the input of text is finished. With screen oriented representation of data, people wanted that entering data would also imply that the cursor positioned to the next line. Therefore, in the C programming language and the Unix operating system, a redefinition of the LF control code has taken place to newline. Often software now silently translates an entered CR to the LF ASCII code when the data is stored.

14 – SO – Shift out
15 – SI – Shift in

Even as early as in the sixties, the people who defined the ASCII character set understood that it would be valuable to make the character set not only available for the English alphabet, but also for foreign ones. The shift in and shift out were defined for this purpose. Originally it was meant to switch between the Cyrillic alphabet and Latin. The Cyrillic ASCII definition which uses the shift characters is KOI-7. Later on these control codes were also used to change the typeface on printers. In this use SO produced double wide characters where condensed printing was selected with SI.

16 – DLE – Data link escape

It is sometimes necessary in an ongoing data communication to send control characters. There are situations where those control characters might be understood as part of the normal data stream. The DLE has been defined in the ASCII standard for these situations. If this character is detected in a DataStream, the receiving party knows, that one or more of the following characters must be interpreted in a different way than the other characters in the stream. The exact interpretation of the following characters is not part of the ASCII definition, just the availability to break out of a communication stream with the data link escape. In the Hayes communication protocol for modems, the data link escape has been defined as silence+++silence. In my opinion it would have been a better idea if the Hayes protocol had used the DLE instead, as it does not need to embedded by communication silence, and it would fit within an existing standard. However, the developers of Hayes decided otherwise and now the +++ sequence is used far more often then the original DLE.

17 – DC1 – Device control 1 / XON – Transmission on

Although originally defined as DC1, this ASCII control code is now better known as the XON code used for software flow control in serial communications. The main use is restarting the transmission after the communication has been stopped by the XOFF control code. People who used to work with serial terminals probably remember that sometimes when data errors occured, it helped to hit the Ctrl-Q key. This is because this key-sequence in fact generates the XON control code, which unlocks a blocked communication when terminal or host computer accidentally interpreted an erroneous character as XOFF.

18 – DC2 – Device control 2

19 – DC3 – Device control 3 / XOFF – Transmission off

20 – DC4 – Device control 4

21 – NAK – Negative acknowledgment

22 – SYN – Synchronous idle

23 – ETB – End of transmission block

24 – CAN – Cancel

25 – EM – End of medium

The EM is used at the end of a serial storage medium like paper tape or magnetic reels. It indicates the logical end of the data. It is not necessary that this is also the physical end of the data carrier.

26 – SUB – Substitute character

27 – ESC – Escape

The escape character is one of the inventions in the ASCII standard that was proposed by Bob Bemer. It is used to start an extended sequence of control codes. In this way it was not necessary to put all thinkable control codes in the ASCII standard. As new technologies would need new control commands, the ESC would be present to be the starting character of these multi-character commands. Escape codes are widely used in printers and terminals to control device settings like fonts, text positioning and colors. If ESC had been absent in the original ASCII definition, the standard would likely have been superseded by some other standard in the past. The escape possibility allowed developers to literally escape from the standard where necessary, but use it whenever possible.

28 – FS – File separator

The file separator FS is an interesting control code, as it gives us insight in the way that computer technology was organized in the sixties. We are now used to random access media like RAM and magnetic disks, but when the ASCII standard was defined, most data was serial. I am not only talking about serial communications, but also about serial storage like punch cards, paper tape and magnetic tapes. In such a situation it is clearly efficient to have a single control code to signal the separation of two files. The FS was defined for this purpose.

29 – GS – Group separator

Data storage was one of the main reasons for some control codes to get in the ASCII definition. Databases are most of the time setup with tables, containing records. All records in one table have the same type, but records of different tables can be different. The group separator GS is defined to separate tables in a serial data storage system. Note that the word table wasn't used at that moment and the ASCII people called it a group.

30 – RS – Record separator

Within a group (or table) the records are separated with RS or record separator.

31 – US – Unit separator

The smallest data items to be stored in a database are called units in the ASCII definition. We would call them field now. The unit separator separates these fields in a serial data storage environment. Most current database implementations require that fields of most types have a fixed length. Enough space in the record is allocated to store the largest possible member of each field, even if this is not necessary in most cases. This costs a large amount of space in many situations. The US control code allows all fields to have a variable length. If data storage space is limited—as in the sixties—this is a good way to preserve valuable space. On the other hand is serial storage far less efficient than the table driven RAM and disk implementations of modern times. I can't imagine a situation where modern SQL databases are run with the data stored on paper tape or magnetic reels...

32 – SP – White space

You can argue if the space character is a real control character as it is so widely used in normal texts. But, as the horizontal tab and backspace are also called control characters in the ASCII set, I think it is most natural to call the white space or forward space also a control character. After all it doesn't represent a character by itself, but merely a command to the output device to precede one position forward, clearing the information in the current field. In many applications like word processors the white space is also a character that can cause lines to wrap, and web browsers combine multiple spaces to just one output character. This strengthens my belief that it is not just representing a unique character, but an information carrier for devices and applications.

127 – DEL – Delete

One might question why all control codes in the ASCII character set have low values, but the DEL control code has value 127. This is, because this specific character was defined for deleting data on paper tapes. Most paper tapes in that time used 7 holes to code the data. The value 127 represents a binary pattern were all seven bits are high, so when using the DEL character on an existing paper tape, all holes are punched and existing data is erased.

Hardware

5. Power Supplies

The term power supply in the PC is actually a bit of a misnomer. Today’s power supply is a sealed box, with a cooling fan and power leads. Inside the power supply box is a step down transformer that converts 120 or 240 volts AC to approximately 12 and 5 volts AC. From this point, the AC voltage is run through four diodes filtering off the negative voltage. This is known as a bridge rectifier. Newer power supplies use switching transformers in place of the diodes to accomplish this. They are known as switching power supplies.

From there, the power is passed to a capacitor, which outputs clean DC power. Inside the case of the power supply are only two more parts. They are a fuse and a fan. The fan is used to pull air through the computer case as well as to cool components of the power supply itself.

How power is converted from household current to 5 and 12 Volts DC. Voltage steps down from transformer on the left to 12 Volts AC, then the four diodes in the center (the diamond shape) convert to positive only voltage. The --| (-- is the symbol for the capacitor that filters the AC ripple to straight DC voltage. The same process occurs for the 5 Volts.

(Actually, the modern PC power supply is actually a switched power supply. See
http://www.smpstech.com/tutorial/t01int.htm#SMPSDEF for details. The process described above is still popular with “wall warts” used for telephones, small CD players, etc.)

6. ATX Power Supply

The ATX power supply has a small power lead going to the case and the switch is used as a signaling device to turn the computer power supply on or off. By using signaling, other signals may be installed in the computer such as on a Network Interface Card (NIC).

This feature is marketed under the handle Wake On LAN (WOL). This makes it possible for a network administrator to wake up an entire office full of computers, download updates, for example a new version of word processor.

This saves considerable labor because the administrator did not have to visit each PC. Further, productivity is not lost because computers are upgraded when workers were at home. And users don't have the frustration of incompatible file formats between two different versions of software.

ATX power connectors. The large single connector and thin wires for power switching Identify an ATX power supply. I is the lead for the power on/off control. II is the ATX system board power connector. III is a 5.25” drive power connector with a 3.5” drive power connector in parallel to the right.