<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>appliancerepairfirst</title>
	<atom:link href="http://appliancerepairfirst.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://appliancerepairfirst.com</link>
	<description>Get free appliance repair and troubleshooting advice.</description>
	<lastBuildDate>Thu, 11 Mar 2010 23:29:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Modem Cables</title>
		<link>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/modem-cables/</link>
		<comments>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/modem-cables/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 23:29:57 +0000</pubDate>
		<dc:creator>repair</dc:creator>
				<category><![CDATA[Video, Sound, Modems, and Network Adapters]]></category>
		<category><![CDATA[Cable]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[dsl modems]]></category>
		<category><![CDATA[Modem]]></category>
		<category><![CDATA[PC Repair]]></category>
		<category><![CDATA[serial modems]]></category>
		<category><![CDATA[troubleshooting network connections]]></category>

		<guid isPermaLink="false">http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/modem-cables/</guid>
		<description><![CDATA[Different external serial modems use an assortment of different types of cables. Make sure the cable is actually a modem cable; other cables might fit, but that doesn&#8217;t mean they&#8217;ll work. Also try testing the cable in a cable tester. With USB cables, it is often easy to swap with a known good cable.
For information [...]]]></description>
			<content:encoded><![CDATA[<p><P>Different external serial modems use an assortment of different types of cables. Make sure the cable is actually a modem cable; other cables might fit, but that doesn&#8217;t mean they&#8217;ll work. Also try testing the cable in a cable tester. With USB cables, it is often easy to swap with a known good cable.</P><br />
<P>For information on troubleshooting network connections, see &#8220;Troubleshooting Internet Connections.&#8221;</P><br />
<P> </P><br />
<DIV><br />
<H3>Cable and DSL Modems</H3><br />
<P>Cable and DSL modems are external devices used to connect computers to a broadband (high-speed) Internet connection. DSL models connect to the telephone line <I>without a DSL filter</I>. A <I>DSL filter</I> is a device that blocks the DSL signal from interfering with regular telephone conversations; these are usually provided by the DSL provider. DSL modems are connected to the computer either through a USB cable or an Ethernet network cable. Cable modems are similar to DSL modems, but they connect to a television cable instead of a telephone line.</P><br />
<P> </P></DIV><br />
<DIV><br />
<H3>Modem/Sound Card Combinations</H3><br />
<P>No longer manufactured, modem/sound card combinations are very difficult to get drivers for. The best way to deal with failed modem/sound card combos is to replace it with individual components. If you have only one free slot, you can probably replace the modem with an external modem.</P><br />
<P> </P><br />
<P>By : Book-PC Repair and Maintenance: A Practical Guide</P></DIV></p>
]]></content:encoded>
			<wfw:commentRss>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/modem-cables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motorola 68000 16/32-Bit Microprocessor Family</title>
		<link>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/motorola-68000-1632-bit-microprocessor-family/</link>
		<comments>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/motorola-68000-1632-bit-microprocessor-family/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 10:53:35 +0000</pubDate>
		<dc:creator>repair</dc:creator>
				<category><![CDATA[Instructive Microprocessors and Microcomputer]]></category>
		<category><![CDATA[bus]]></category>
		<category><![CDATA[DTACK]]></category>
		<category><![CDATA[macintosh desktop computers]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[microprocessor architecture]]></category>
		<category><![CDATA[microprocessor cores]]></category>

		<guid isPermaLink="false">http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/motorola-68000-1632-bit-microprocessor-family/</guid>
		<description><![CDATA[Motorola followed its 6800 family by leaping directly to a hybrid 16/32-bit microprocessor architecture. Introduced in 1979, the 68000 is a 16-bit microprocessor, due to its 16-bit ALU, but it contains all 32-bit registers and a linear, nonsegmented 32-bit address space. (The original 68000 did notbring out all 32 address bits as signal pins but, [...]]]></description>
			<content:encoded><![CDATA[<p><P><FONT face="Times New Roman">Motorola followed its 6800 family by leaping directly to a hybrid 16/32-bit <BR>microprocessor architecture. Introduced in 1979, the 68000 is a 16-bit<BR> microprocessor, due to its 16-bit ALU, but it contains all 32-bit registers and<BR> a linear, nonsegmented 32-bit address space. (The original 68000 did not<BR>bring out all 32 address bits as signal pins but, more importantly, there are no <BR>architectural limitations of using all 32 bits.) That the register and memory <BR>architecture is inherently 32 bits made the 68000 family easily scalable to <BR>a full 32-bit internal architecture. Motorola upgraded the 68000 family with<BR> true 32-bit devices, including the 68020, 68040, and 68060, until switching<BR> to the PowerPC architecture in the latter portion of the 1990s for new<BR> high-performance computing applications. Apple Computer used the 68000<BR> family in their popular line of Macintosh desktop computers. Today, the <BR>68000 family lives on primarily as a mid-level embedded-processor core<BR> product. Motorola manufacturers a variety of high-end microcontrollers <BR>that use 32-bit 68000 microprocessor cores. However, in recent years <BR>Motorola has begun migrating these products, as well as their general-purpose<BR>microprocessors, to the PowerPC architecture, reducing the number of new <BR>designs that use the 68000 family.<BR><BR>The 68000 inherently supports modern software operating systems (OSs) <BR>by recognizing two modes of operation: supervisor mode and user mode. <BR>A modern OS does not grant unlimited access to application software in <BR>using the computers resources. Rather, the OS establishes a restricted <BR>operating environment into which a program is loaded. Depending on the <BR>speci?c OS, applications may not be able to access certain areas of memory <BR>or I/O devices that have been declared off limits by the OS. This can prevent<BR> a fault in one program from crashing the entire computer system. The OS<BR> kernel, the core low-level software that keeps the computer running properly, <BR>has special privi- leges that allow it unrestricted access to the computer for<BR> the purposes of establishing all of the rules and boundaries under which <BR>programs run. Hardware support for multiple privilege levels is crucial for <BR>such a scheme to prevent unauthorized programs from freely accessing restricted <BR>resources. As microprocessors developed over the last few decades, more <BR>hardware support for OS privileges was added. That the 68000 included such <BR>concepts in 1979 is a testimony to its scalable architecture.</FONT></P><br />
<P><FONT face="Times New Roman">Sixteen 32-bit general-purpose registers, one of which is a user stack pointer <BR>(USP), and an 8-bit condition code register are accessible from user mode as<BR> shown in Fig. 6.11. Additionally, a supervisor stack pointer (SSP) and eight <BR>additional status bits are accessible from supervisor mode. Computer systems <BR>do not have to implement the two modes of operation if the application does <BR>not require it. In such cases, the 68000 can be run permanently in supervisor<BR> mode to enable full access to all resources by all programs. The SSP is used<BR> for stack operations while in supervisor mode, and the USP is used for stack<BR> operations in user mode. User mode programs cannot change the USP, <BR>preventing them from relocating their stacks. Most modern operating systems <BR>are multitasking, mean- ing that they run multiple programs simultaneously. In<BR> reality, a microprocessor can only run one program at a time. A multitasking <BR>OS uses a timer to periodically interrupt the microprocessor, perhaps 20 to <BR>100 times per second, and place it into supervisor mode. Each time supervisor<BR> mode is invoked, the kernel performs various maintenance tasks and swaps<BR> the currently running program with the next program in the list of running programs.<BR> This swap, or context switch, can entail substantial modi?cations to the<BR> microprocessors state when it returns from the kernel timer interrupt. In the<BR>case of an original 68000 microprocessor, the kernel could change the return <BR>value of the PC, USP, the 16 general-purpose registers, and the status register. <BR>When normal execution resumes, the microprocessor is now executing a <BR>different program in exactly the same state at which it was previously interrupted,<BR> because all of its registers are in the same state in which they were left. In such a<BR>scenario, each program has its own private stack, pointed to by a<BR> kernel-designated stack pointer.<BR><BR>The eight data registers, D0D7, can be used for arbitrary ALU operations. The<BR> eight address registers, A0A7, can all be used as base addresses for indirect <BR>addressing and for certain 16- and 32-bit <FONT face="Times New Roman">ALU operations. All 16 registers can <BR>be used as index registers. While operating in user mode, it is illegal to access<BR> the SSP or the supervisor portion of the status register, SR. Such instructions will<BR>cause an exception, whereby a particular interrupt is asserted, which causes the<BR> 68000 to enter supervisor mode to handle the fault. (Exception and interrupt are<BR> often used synonymously in computer contexts.) Very often, the OS kernel will <BR>terminate an application that causes an exception to be generated. The registers <BR>shown above are present in all 68000 family members and, as such, are<BR>software is compatible with subsequent 68xxx microprocessors. Newer<BR> microprocessors contain additional registers that provide more advanced privilege<BR> levels and memory management. While the 68000 architecture fundamentally <BR>supports a 4-GB (32-bit) address space, early devices were limited in terms <BR>of how much physical memory could actually be addressed as a result of pin<BR> limitations in the packaging. The original 68000 was housed in a 64-pin DIP,<BR> leaving only 24 address bits usable, for a total usable memory space of 16 MB.<BR> When Motorola introduced the 68020, the ?rst fully 32-bit 68000 microprocessor,<BR> all 32 address bits were made available. The 68000 devices are big-endian,<BR> so the MSB is stored in the lowest address of a multibyte word.</FONT></FONT></P><br />
<P><A href="/complete-digital-design_images/20100202155555.jpg" target=_blank><IMG style="WIDTH: 422px; HEIGHT: 223px" height=223 alt="FIGURE 6.11 68000 register set." src="http://localhost/complete-digital-design_images/20100202155555.jpg" width=510 border=0></A></P><br />
<P><FONT face="Times New Roman">FIGURE 6.11 68000 register set.</FONT></P><br />
<P><FONT face="Times New Roman">The 68000 supports a 16-MB address space, but only 23 address bits, A[23:1], <BR>are actually brought out of the chip as signal pins. A[0] is omitted and is unnecessary,<BR> because it would specify whether an even (A[0] = 0) or odd (A[0] = 1) byte is<BR> being accessed; and, because the bus is 16 bits wide, both even and odd bytes <BR>can be accessed simultaneously. However, provisions are made for byte-wide<BR> accesses in situations where the 68000 is connected to legacy eight-bit peripherals<BR> or memories. Two data strobes, upper (UDS*) and lower (LDS*), indicate <BR>which bytes are being ac- cessed during any given bus cycle. These strobes are<BR> generated by the 68000 according to the state of the internal A0 bit and<BR> information on the size of the requested transaction. Bus transactions are <BR>triggered by the assertion of address strobe (AS*), the appropriate data strobes,<BR> and R/W* as shown in Fig. 6.12. Prior to AS*, the 68000 asserts the desired<BR> address and a three-bit function code bus, FC[2:0]. The function code bus<BR> indicates which mode the processor is in and whether the transaction is a <BR>program or data access. This information can be used by external logic to <BR>qualify transactions to certain sensitive memory spaces that may be off limits <BR>to user programs. When read data is ready, the external bus interface logic <BR>asserts data transfer acknowledge (DTACK*) to inform the microprocessor<BR> that the transaction is complete. As shown, the 68000 bus can be operated in<BR> a fully asyn-chronous manner. When operated asynchronously, DTACK* is <BR>removed after the strobes are <FONT face="Times New Roman">removed, ensuring that the 68000 detected the<BR> assertion of DTACK*. If DTACK* is removed prior to the strobes, there <BR>is a chance of marginal timing where the 68000 may not properly detect the<BR> acknowledge, and it may wait forever for an acknowledge that has now<BR> passed. Writes are very similar to reads, with the obvious difference that<BR> R/W* is brought low, and data is driven by the 68000. Another difference<BR> is that the data strobe assertion lags that of AS*.</FONT></FONT></P><br />
<P><A href="/complete-digital-design_images/20100202155724.jpg" target=_blank><IMG height=170 alt="FIGURE 6.12 68000 asynchronous bus timing." src="http://localhost/complete-digital-design_images/20100202155724.jpg" width=494 border=0></A></P><br />
<P><FONT face="Times New Roman">FIGURE 6.12 68000 asynchronous bus timing.</FONT></P><br />
<P><FONT face="Times New Roman">Advanced microprocessors such as the 68000 are designed to recognize fault <BR>conditions wherein the requested bus transaction cannot be completed. A bus<BR> fault can be caused by a variety of problems, including unauthorized access <BR>(e.g., user mode tries to write to a protected supervisor data space) or an<BR> access to a section of memory that is not ?lled by a memory or peripheral <BR>device. Software should never access areas of memory that are off limits, <BR>because the results are unpredictable. Therefore, rather than simply issuing <BR>a false DTACK* and continuing with normal operation, the 68000 contains<BR>a bus error signal (BERR*) that behaves like DTACK* but triggers an <BR>exception rather than continuing normal execution. It is the responsibility of<BR> external logic to manage the DTACK* and BERR* signals according to<BR> the speci?c con?guration and requirements of the particular system.<BR><BR>Operating the 68000 bus in an asynchronous manner is easy, but it reduces<BR> its bandwidth, because delays must be built into the acknowledge process to<BR> guarantee that both the 68000 and the interface logic maintain synchronization. <BR>Figure 6.12 shows read data being asserted prior to DTACK* and an<BR>arbitrary delay between the release of AS* and that of DTACK*. The data <BR>delay is necessary to guar- antee that the 68000 will see valid data when it<BR> detects a valid acknowledge. The second delay is necessary to ensure that <BR>the 68000 completes the transaction, as noted previously. These delays can<BR>be eliminated if the bus is operated synchronously by distributing the<BR> microprocessor clock to the interface logic and guaranteeing that various <BR>setup and hold timing requirements are met as speci?ed by Motorola. In <BR>such a con?guration, it is known from Motorolas data sheet that the <BR>68000 looks for DTACK* each clock cycle, starting at a ?xed time after<BR> asserting the strobes, and then samples the read-data one cycle after detecting <BR>DTACK* being active. Because synchronous timing rules are obeyed, <BR>it is guaranteed that the 68000 properly detects DTACK* and, therefore, <BR>DTACK* can be removed without having to wait for the removal of the <BR>strobes. 68000 synchronous bus timing is shown in Fig. 6.13, where each<BR> transaction lasts a minimum of four clock cycles. A four-cycle transaction <BR>is a zero wait state access. Wait states can be added by simply delaying<BR> the assertion of DTACK* to the next cycle. However, to maintain proper <BR>timing, DTACK* (and BERR* and read-data) must always obey proper <BR>setup and hold requirements. As shown in the timing diagram, each<BR>signal transition, or edge, is time-bounded relative to a clock edge.<BR><BR>Read timing allows a single clock cycle between data strobe assertion and the<BR> return of DTACK* for a zero wait-state transaction. However, zero wait-state <BR>writes require DTACK* assertion at <FONT face="Times New Roman">roughly the same time as the data strobes. <BR>Therefore, the bus interface logic must make its decision on asserting DTACK*<BR> based on the requested address when AS* is asserted. If the requested device<BR>is operational, DTACK* can be immediately asserted for a fast transaction. <BR>Unlike reads, where the microprocessor must wait for a device to return data, <BR>writes can be acknowledged before they are actually transferred to the device.<BR> In such a scheme, writes are posted within the bus interface logic.<BR><BR>One or two cycles later, when the device accepts the posted write data, the <BR>bus interface logic ?nally completes the transaction without having delayed <BR>the microprocessor. If completion of the posted- write transaction takes <BR>longer than a few cycles, it could force a subsequent access to the same <BR>device to incur wait states. Either a read or a write would be blocked <BR>until the original write was able to complete, thus freeing the device to <BR>handle the next transaction.</FONT></FONT></P><br />
<P><A href="/complete-digital-design_images/20100202155854.jpg" target=_blank><IMG style="WIDTH: 441px; HEIGHT: 154px" height=154 alt="FIGURE 6.13 68000 synchronous bus timing." src="http://localhost/complete-digital-design_images/20100202155854.jpg" width=441 border=0></A></P><br />
<P><FONT face="Times New Roman">FIGURE 6.13 68000 synchronous bus timing.</FONT></P><br />
<P><FONT face="Times New Roman">In addition to the basic bus interface, the 68000 supports bus arbitration to<BR> enable DMA or other logic to use the microprocessor bus for arbitrary applications. <BR>A bus request (BR*) signal is asserted by a device that wants to temporarily gain<BR> control of the bus. On the next clock cycle, when the microprocessor is not<BR> inhibited by other operations, it asserts a bus grant (BG*) signal and places its<BR>address, data, and control signals into tri-state so that they may be driven by the <BR>other device. The re- questing device then asserts bus grant acknowledge <BR>(BGACK*) to signal that it is controlling the bus, and it is then free to assert <BR>its own strobes, address, and data signals.<BR><BR>A variety of interrupts and exceptions are supported by the 68000. Some are<BR> triggered as a result of instruction execution and some by external signals (e.g., <BR>BERR* or an interrupt request). Examples of instruction exceptions are illegal <BR>user mode register accesses or a divide-by-zero error. Most microprocessors<BR> that provide division capability contain some type of divide-by-zero error <BR>handling, because the result of such an operation is mathematically unde?ned <BR>and is usually the result of a fault in the program. The 68000 contains an <BR>exception vector table that is 1,024 bytes long and resides at the beginning <BR>of memory at address 0. In a multitasking system, the bus interface logic may<BR>restrict access to the vector table to supervisor mode only. In such a case, a<BR> bus error could be triggered if a user mode program, indicated by FC[2:0],<BR> tried to write the table. Each of the 256 vector entries is four bytes long <BR>and provides the starting address of the associated ISR. The one deviation<BR>from this rule is the reset vector, which actually consists of two entries at word<BR> addresses 0 and 4.<BR><BR>Upon reset, the 68000 fetches an initial PC value from address 4 and an initial <BR>SSP value from address 0. Vectors 0 through 63 are assigned or reserved by <BR>Motorola for various hardware exceptions. Vectors 64 through 255 are <BR>assigned as user interrupt vectors. Like other microprocessors in its category,<BR> the 68000 supports bus vectoring of user interrupts where an external interrupt <BR>controller asserts an interrupt number onto the data bus during an interrupt<BR> acknowledge cycle performed by the 68000 in response to an interrupt <BR>request. This interrupt number is multiplied by four and used to index into<BR> the exception table to fetch the address of the appropriate ISR.</FONT></P><br />
<P> </P><br />
<P>By : E-book Complete_Digital_Design</P></p>
]]></content:encoded>
			<wfw:commentRss>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/motorola-68000-1632-bit-microprocessor-family/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel 8086 16-Bit Microprocessor Family</title>
		<link>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/intel-8086-16-bit-microprocessor-family/</link>
		<comments>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/intel-8086-16-bit-microprocessor-family/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 09:11:54 +0000</pubDate>
		<dc:creator>repair</dc:creator>
				<category><![CDATA[Instructive Microprocessors and Microcomputer]]></category>
		<category><![CDATA[address]]></category>
		<category><![CDATA[assembly language programs]]></category>
		<category><![CDATA[B.
Locating]]></category>
		<category><![CDATA[bit]]></category>
		<category><![CDATA[bus]]></category>
		<category><![CDATA[F.Interrupts]]></category>
		<category><![CDATA[general purpose registers]]></category>
		<category><![CDATA[iteration count]]></category>
		<category><![CDATA[O.While]]></category>

		<guid isPermaLink="false">http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/intel-8086-16-bit-microprocessor-family/</guid>
		<description><![CDATA[Intel moved up to a 16-bit microprocessor, the 8086, in 1978 just two years after introducing the 8085 as an enhancement to the 8080. The x86 family is famous for being chosen by IBM for their original PC. As PCs developed during the past 20 years, the x86 family grew with the industry ?rst to [...]]]></description>
			<content:encoded><![CDATA[<p><P><FONT face="Times New Roman">Intel moved up to a 16-bit microprocessor, the 8086, in 1978 just two years after<BR> introducing the 8085 as an enhancement to the 8080. The x86 family is famous <BR>for being chosen by IBM for their original PC. As PCs developed during the<BR> past 20 years, the x86 family grew with the industry ?rst to 32 bits (80386, <BR>Pentium) and more recently to 64 bits (Itanium). While the 8086 was a new<BR> architecture, it retained certain architectural characteristics of the 8080/8085<BR> such that assembly language programs written for its predecessors could be<BR> converted over to the 8086 with little or no modi?cation. This is one of the <BR>key reasons for its initial success.<BR><BR>The 8086 contains various 16-bit registers as shown in Fig. 6.9, some of which<BR> can be manipu- lated one byte at a time. AX, BX, CX, and DX are<BR> general-purpose registers that have alternate functions and that can be treated<BR> as single 16-bit registers or as individual 8-bit registers. The accumulator, <BR>AX, and the ?ags register serve their familiar functions. BX can serve as a <BR>general pointer. CX is a loop iteration count register that is used inherently <BR>by certain instructions. DX is used as a companion register to AX when<BR> performing certain arithmetic operations such as integer division or handling <BR>long integers (32 bits).<BR><BR>The remaining registers are pointers of various types that index into the 8086s<BR> somewhat awk- ward segmented memory structure. Despite being a 16-bit<BR> microprocessor with no register exceeding 16 bits in size, Intel recognized the<BR> need for more than 64 kB of addressable memory in more advanced computers. <BR>One megabyte of memory space was decided upon as a suf?ciently large <BR>address space in the late 1970s, but the question remained of how to access<BR> that memory with 16-bit pointers. Intels solution was to have programmers <BR>arbitrarily break the 1 MB address space into multiple 64-kB special-purpose<BR> segments one for instructions (code segment), two for data (primary data and <BR>extra data), and one for the stack. Memory operations must reference one<BR> of these de?ned segments, requiring only a 16-bit pointer to address any <BR>location within a given segment. Segments can be located anywhere in memory,<BR> as shown in Fig. 6.10, and can be moved at will to provide ?exibility for <BR>different applications. Additionally, there is no restriction on overlapping of<BR>segments. <BR><BR>Each segment register represents the upper 16 bits of a 20-bit pointer<BR> (2<SUP>20</SUP> = 1 MB) where the lower 4 bits are ?xed at 0. Therefore, a segment register<BR> directly points to an arbitrary location in 1 MB of memory on a 16-byte boundary. <BR>A pointer register is then added to the 20-bit segment address to yield a ?nal <BR>20-bit address, the effective address, with which to fetch or store data. <BR>Algebraically, this relationship is expressed as: effective address = <BR>(segment pointer ? 16) + offset pointer.</FONT></P><br />
<P><IMG alt="FIGURE 6.9 8086 register set." src="http://localhost/complete-digital-design_images/20100202153737.jpg"></P><br />
<P><FONT face="Times New Roman">FIGURE 6.9 8086 register set.</FONT></P><br />
<P><A href="/complete-digital-design_images/20100202153802.jpg" target=_blank><IMG height=276 alt="FIGURE 6.10 8086 segments." src="http://localhost/complete-digital-design_images/20100202153802.jpg" width=476 border=0></A></P><br />
<P><FONT face="Times New Roman">FIGURE 6.10 8086 segments.</FONT></P><br />
<P><FONT face="Times New Roman">Inside the microprocessor, this math is performed by shifting the segment pointer <BR>(0&#215;135F) left by four bits and then adding the offset pointer (0&#215;0102) as <BR>shown below.</FONT></P><br />
<P><IMG src="http://localhost/complete-digital-design_images/20100202153859.jpg"></P><br />
<P><FONT face="Times New Roman">This segmented addressing scheme has some awkward characteristics. First, <BR>programs must orga- nize their instructions and data into 64-kB chunks and <BR>properly keep track of which portions are be- ing accessed. If data outside <BR>of the current segments is desired, the appropriate segment register must be<BR> updated. Second, the same memory location can be represented by multiple<BR> combinations of segment and offset values, which can cause confusion in sorting <BR>out which instruction is accessing which location in memory. Nonetheless,<BR> programmers and the manufacturers of their development tools have ?gured<BR> out ways to avoid these traps and others like them.<BR><BR>Instructions that reference memory implicitly or explicitly determine which<BR> offset pointer is added to which segment register to yield the desired effective<BR> address. For example, a push or pop instruction inherently uses the stack <BR>pointer in combination with the stack segment register. However, an instruction<BR> to move data from memory to the accumulator can use one of multiple pointer<BR>registers relative to any of the segment registers.<BR><BR>The 8086s reset and interrupt vectors are located at opposite ends of the<BR> memory space. On reset, the instruction pointer is set to 0xFFFF0, and the<BR> microprocessor begins executing instructions from this address. Therefore, <BR>rather than being a true vector, the 16-byte reset region contains normal <BR>executable instructions. The interrupt vectors are located at the bottom of<BR> the memory space starting from address 0, and there are 256 vectors, one<BR> for each of the 256 interrupt types. Each interrupt vector is composed of a <BR>2-byte segment address and a 2-byte offset address, from which a 20-bit <BR>effective address is calculated. When the 8086s INTR pin is driven high,<BR> an interrupt acknowledge process begins via the INTA* output pin. The <BR>8086 pulses INTA* low twice and, on the second pulse, the interrupting <BR>peripheral drives an interrupt type, or vector number, onto the eight lower <BR>bits of the data bus. The vector number is used to index into the interrupt <BR>vector table by multiplying it by 4 (shifting left by two bits), because each vector<BR> consists of four bytes. For example, interrupt type 0&#215;03 would cause the <BR>microprocessor to fetch four bytes from addresses 0&#215;0C through 0&#215;0F.<BR>Interrupts triggered by the INTR pin are all maskable via an internal control bit. <BR>Software can also trigger interrupts of various types via the INT instruction. <BR>A nonmaskable interrupt can be triggered by external hardware via the NMI<BR> pin. NMI initiates the type-2 interrupt service routine at the address indicated<BR> by the vector at 0&#215;08-0&#215;0B.</FONT></P><br />
<P><FONT face="Times New Roman">Locating the reset boot code at the top of memory and the interrupt vectors at<BR> the bottom often leads to an 8086 computer architecture with ROM at the top <BR>and some RAM at the bottom. ROM must be at the top, for obvious reasons.<BR> Placing the interrupt vector table in RAM enables a ?exible system in which <BR>software applications can install their own ISRs to perform various tasks. On<BR> the original IBM PC platform, it was not uncommon for programs to insert their <BR>own ISR addresses into certain interrupt vectors located in RAM. The system <BR>timer and keyboard interrupts were common objects of this activity. Because<BR> the PCs operating system already implemented ISRs for these interrupts, the<BR> program could redirect the interrupt vector to its own ISR and then call the <BR>systems default ISR when its own ISR completed execution. If properly done,<BR> this interrupt chaining process could add new features to a PC without harming<BR> the existing housekeeping chores performed by the standard ISRs. Chaining <BR>the keyboard interrupt could enable a program that is normally dormant to<BR>pop up each time a particular key sequence is pressed.</FONT></P><br />
<P><FONT face="Times New Roman">Despite its complexity and 16-bit processing capability, the 8086 was originally<BR> housed in a 40-pin DIP the same package used for most 8-bit processors of the<BR> time. Intel chose to use a multiplexed address/data scheme similar to that used <BR>on the 8051 microcontroller, thereby saving 16 pins. The 8086s 20-bit address<BR> bus is shared by the data bus on the lower 16 bits and by status ?ags on the<BR>upper 4 bits. Combined with additional signals, these status ?ags control the <BR>microprocessors bus interface. As with Intels other microprocessors, the 8086<BR> contains separate address spaces for memory and I/O devices. A control pin <BR>on the chip indicates whether a transaction is memory or I/O.<BR><BR>While the memory space is 1 MB in size, the I/O space is only 64 kB. The <BR>8086 bus interface oper- ates in one of two modes, minimum and maximum, <BR>determined by a control pin tied either high or low, respectively. In each of <BR>these two modes, many of the control and status pins take on different functions.<BR> In minimum mode, the control signals directly drive a standard Intel-style bus<BR> similar to that of the 8080 and 8051, with read and write strobes and address<BR> latch enable. Other signals include a READY signal for inserting wait states for<BR> slow peripherals and a bus grant/acknowledge mechanism for supporting DMA <BR>or similar bus-sharing peripherals. Minimum mode is designed for smaller<BR> systems in which little address decoding logic is necessary to interface the 8086<BR> to memory and peripherals devices. Maximum mode is designed for larger <BR>systems where an Intel companion chip, the 8288 bus controller, integrates<BR> more complex bus control logic onto an off-the-shelf IC. In maximum mode,<BR> certain status and control pins communicate more information about what type <BR>of transaction is being performed at any given time, enabling the 8288 to take <BR>appropriate action.<BR><BR>The 8086s 16-bit data bus is capable of transacting a single byte at a time for <BR>purposes of access- ing byte-wide peripherals. One early advantage of the 8086<BR> was its backward bus compatibility with the 8080/8085. In the 1970s, Intel <BR>manufactured a variety of I/O peripherals such as timers and parallel I/O <BR>devices for their eight-bit microprocessors. The 8086s ability to perform<BR> byte-wide trans- actions enabled easy reuse of existing eight-bit peripheral <BR>products. Two signals, byte high enable (BHE*) and address bit zero (A[0]), <BR>communicate the width and active byte of each bus transaction as shown in <BR>Table 6.3.</FONT></P><br />
<P><IMG src="http://localhost/complete-digital-design_images/20100202154032.jpg"></P><br />
<P><FONT face="Times New Roman">Intels microprocessors follow the little-endian byte ordering convention. <BR>Little-endian refers to the practice of locating the LSB of a multibyte quantity in <BR>a lower address and the MSB in a higher address. In a little-endian 16-bit<BR> microprocessor, the value 0&#215;1234 would be stored in memory by locating 0&#215;12<BR> into address 1 and 0&#215;34 into address 0. Big-endian is the opposite: locating the <BR>LSB in the higher address and the MSB in the lower address. Therefore, a <BR>big-endian 16-bit microprocessor would store 0&#215;12 into address 0 and 0&#215;34 <BR>into address 1. To clarify the difference, Table 6.4 shows little-endian versus <BR>big-endian for 16- and 32-bit quantities as viewed from a memory chips<BR> perspective. Here, ADDR represents the base address of a multibyte data <BR>element.<BR><BR>Proponents of little-endian argue that it makes better sense, because the low <BR>byte goes into the low address. Proponents of big-endian argue that it makes better<BR> sense, because data is stored in <FONT face="Times New Roman">memory as you would read and interpret it. The<BR> choice of endianness is rather religious and comes down to personal preference.<BR>Of course, if you are designing with a little-endian microprocessor, life will be <BR>made simpler to maintain the endianness consistently throughout the system. </FONT></FONT></P><br />
<P><IMG src="http://localhost/complete-digital-design_images/20100202154113.jpg"></P><br />
<P><FONT face="Times New Roman">At the time of the 8086s introduction, 16-bit desktop computer systems were<BR> almost unheard of and could be substantially more expensive than 8-bit systems <BR>as a result of the increased memory size required to support the larger bus. To<BR> alleviate this problem and speed market acceptance of its architecture, Intel <BR>introduced the 8088 microprocessor in 1979, which was essentially an 8086 <BR>with an eight-bit data bus. A lower-cost computer system could be built with the<BR> 8088, because fewer EPROM and RAM chips were necessary, system logic <BR>did not have to deal with two bytes at a time, and less circuit board wiring was<BR> required. A tremendous bene?t to Intel in designing the 8088 was the fact<BR>that it was chosen by IBM as the low-cost 16-bit heart of the original PC/XT <BR>desktop computer, thereby locking the x86 microprocessor family into the <BR>IBM PC architecture for decades to come.<BR><BR>A variety of companion chips were developed by Intel to supplement the <BR>8086/8088. Among these was the 8087 math coprocessor that enhanced the 8086s<BR> computational capabilities with ?oating-point arithmetic operations. Floating-point <BR>arithmetic refers to a computers handling of real numbers as compared to integers.<BR> The task of adding or multiplying two real numbers of arbitrary magnitude is far <BR>more complex than similar integer operations. Certain applications such as scienti?c<BR> simulations and realistic games that construct a virtual reality world make signi?cant <BR>use of ?oating-point operations. The 8087 is a coprocessor rather than a peripheral, <BR>because it sits on the microprocessor bus in parallel with the 8086 and watches for <BR>special ?oating-point instructions.<BR><BR>These instructions are then executed automatically by the 8087 rather than having<BR> to wait for the 8086 to request an operation. The 8086 was designed with the 8087s <BR>existence in mind and ignores instructions destined for the 8087. Therefore, software<BR> must speci?cally know if a math coprocessor is installed to run correctly. Many <BR>programs that ran on older systems with or without a coprocessor would ?rst test<BR> to see if the coprocessor was installed and then execute either an optimized set of<BR>routines for the 8087 or a slower set of routines that emulated the ?oating-point <BR>operations via conventional 8086 instructions.</FONT></P><br />
<P><FONT face="Times New Roman">As the x86 family developed, the optional math coprocessor was eventually<BR> integrated alongside the integer processor on the same silicon chip. The 8087 gave <BR>way to the 80287 and 80387 when the 80286 and 80386 microprocessors were<BR> produced. When Intel introduced the 80486, the coprocessor, or ?oating-point <BR>unit (FPU), was integrated on chip. This integration resulted in a somewhat more<BR> expensive product, so Intel released a lower-cost 80486SX microprocessor<BR> without the coprocessor. An 80487SX was made available to upgrade systems<BR> originally sold with the 80486SX chips, but the overall situation proved <BR>somewhat chaotic with various permutations of microprocessors and systems <BR>with and without coprocessors. Starting with the Pentium, all of Intels high-end <BR>microprocessors contain integrated FPUs. This trend is not unique to Intel.<BR> High-performance microprocessors in general began integrating the FPU at <BR>roughly the same time because of the performance bene?ts and the overall<BR> simplicity of placing the microprocessor and FPU onto the same chip.</FONT></P><br />
<P> </P><br />
<P>By : E-book Complete_Digital_Design</P></p>
]]></content:encoded>
			<wfw:commentRss>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/intel-8086-16-bit-microprocessor-family/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diagnosing Modem Problems</title>
		<link>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/diagnosing-modem-problems/</link>
		<comments>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/diagnosing-modem-problems/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 21:29:57 +0000</pubDate>
		<dc:creator>repair</dc:creator>
				<category><![CDATA[Video, Sound, Modems, and Network Adapters]]></category>
		<category><![CDATA[modem button]]></category>
		<category><![CDATA[modem manufacturer]]></category>
		<category><![CDATA[modem properties]]></category>

		<guid isPermaLink="false">http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/diagnosing-modem-problems/</guid>
		<description><![CDATA[Modems can be troublesome. If you have a telephone communications problem, there are a number of things you can do to check to see if the modem is working.




Note 

It bears repeating that the message often seen in the properties of any hardware device, &#8220;This device is working properly,&#8221; is often wrong. However, if you [...]]]></description>
			<content:encoded><![CDATA[<p><P>Modems can be troublesome. If you have a telephone communications problem, there are a number of things you can do to check to see if the modem is working.</P><br />
<TABLE cellSpacing=0 cellPadding=0 border=0><br />
<TBODY><br />
<TR><br />
<TD vAlign=top></TD><br />
<TD vAlign=top>Note </TD><br />
<TD vAlign=top><br />
<P>It bears repeating that the message often seen in the properties of any hardware device, &#8220;This device is working properly,&#8221; is often wrong. However, if you see &#8220;This device is not present, not working properly, or does not have all the drivers installed. See your hardware documentation,&#8221; you can bet that it is right. </P></TD></TR></TBODY></TABLE><br />
<P>Here is a list of places in Windows where you can check to see whether a modem is working: </P><br />
<OL type=A><br />
<LI><br />
<P><B>Modem Properties in Device Manager, General page: </B>If you see a message that indicates a problem, the modem might need to be reinstalled or replaced. Follow the directions or from the modem manufacturer to reinstall the driver.</P><br />
<LI><br />
<P><B>Query Modem:</B> Go to Modem Properties from either Control Panel or Device Manager and click the Diagnostics tab if one is present. Then, click the Query Modem button and wait for the report. If the last couple entries in the report indicate OK, the query hasn&#8217;t detected a problem. You will often see the line &#8220;COMMAND NOT SUPPORTED&#8221; at one point in the report. You can ignore this.</P><br />
<LI><br />
<P><B>HyperTerminal:</B> Go to Start > Programs (or All Programs) > Accessories > Communications > HyperTerminal, if it is installed. You will be prompted to set up a connection. Give it a simple name; you won&#8217;t be saving it. Figure 8.9 shows this page.</P><br />
<P><IMG height=292 alt="" src="/pc-repair-and-maintenance_images/20100128161232.jpg" width=332 border=0> <BR>Figure 8.9: Naming a HyperTerminal connection. </P></LI></OL><br />
<P>Then, enter a single-digit telephone number. Make sure your modem is listed in the Connect using box. Click OK and you will be prompted to dial the number you entered. Click Cancel. You will see a blank HyperTerminal window. Type &#8220;AT&#8221; and then press <Enter>. A working modem should respond with &#8220;OK,&#8221; as shown in Figure 8.10. Then, you can close HyperTerminal and elect not to save the connection.</P><br />
<DIV><IMG height=184 alt="Click To expand" src="/pc-repair-and-maintenance_images/20100128161255.jpg" width=318 border=0> <BR>Figure 8.10: Autodetecting the modem in HyperTerminal. </DIV><br />
<TABLE cellSpacing=0 cellPadding=0 border=0><br />
<TBODY><br />
<TR><br />
<TD vAlign=top></TD><br />
<TD vAlign=top>Note </TD><br />
<TD vAlign=top><br />
<P>Some malfunctioning modems can nonetheless pass every one of these diagnostic tests.</P></TD></TR></TBODY></TABLE><br />
<P>It is also a good idea to test a suspect modem with every function in which it can be used on the computer. This is to rule out the possibility that a program, rather than the modem, is malfunctioning. For example, if a modem works with faxing and Phone Dialer (Start > Programs (or All Programs) > Accessories > Communications > Phone Dialer), but not on the Internet, it is likely that the problem is in the Internet software or service rather than with the hardware. </P><br />
<TABLE cellSpacing=0 cellPadding=0 border=0><br />
<TBODY><br />
<TR><br />
<TD vAlign=top></TD><br />
<TD vAlign=top>Note </TD><br />
<TD vAlign=top><br />
<P>You might find that Phone Dialer doesn&#8217;t work properly in Windows 2000 on certain machines no matter what you do. However, Windows 9x&#8217;s Phone Dialer (dialer.exe) might work in the newer Windows versions. If the modem will dial a number in Phone Dialer but do nothing else, the problem might very well be the hardware; we had a batch of new PCI modems that did this. The modems weren&#8217;t recognized by the Plug &#038; Play system and had to be installed manually because they were defective. </P></TD></TR></TBODY></TABLE><br />
<P>It is unfortunately common to get certain numbered error messages such as 619 or 693 when trying to connect using a modem. You might try several times in a row and get several different error messages. Often, these error messages bear no relationship to the truth. When you get one of these, first attempt to rule out the problem that the message indicates, assuming you can understand the message. The problem could be as simple as a bad telephone cord, the Caps Lock being on and altering the password, or that the telephone line is in use. Other possibilities include problems with the remote computer or service, or incorrect password or username. If the computer locks up every time you try to connect, you probably have a resource conflict. See Chapter 2 for information on resolving it. </P><br />
<TABLE cellSpacing=0 cellPadding=0 border=0><br />
<TBODY><br />
<TR><br />
<TD vAlign=top></TD><br />
<TD vAlign=top>Note </TD><br />
<TD vAlign=top><br />
<P>Make sure that the user doesn&#8217;t plug a modem into a PBX telephone line. Even though PBX systems can use RJ-11/14 telephone connectors, the voltage and signal are different. This can damage the modem, but it might merely cause the computer to lock up.</P></TD></TR></TBODY></TABLE><br />
<P>Once you have ruled these out, the next step is to reboot the computer, especially if you have a laptop. With some laptops, a design flaw causes certain functions not to work after the computer comes out of standby or hibernation. Rebooting might solve other problems as well. If none of these steps works, delete the connection and recreate it. If you still have the problem, it is time to try new hardware. Swap the modem for a known good unit and retry the connection. This is the perfect time to try an external modem if you have one. If you still can&#8217;t connect, and the modem is removable, try it in another system. </P><br />
<P>If a built-in modem on a laptop fails and you have reinstalled the driver to no avail, unless the laptop is under warranty, your only recourses are to install a PC-Card modem or use an external serial or USB modem. You might want to disable the built-in modem in the BIOS, if such a setting exists. Note, however, that sometimes seemingly permanent modem failures can occasionally resolve themselves over time.</P><br />
<P> </P><br />
<P>By : Book-PC Repair and Maintenance: A Practical Guide</P></p>
]]></content:encoded>
			<wfw:commentRss>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/diagnosing-modem-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Advanced Microprocessor Concepts</title>
		<link>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/advanced-microprocessor-concepts/</link>
		<comments>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/advanced-microprocessor-concepts/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 04:28:16 +0000</pubDate>
		<dc:creator>repair</dc:creator>
				<category><![CDATA[Instructive Microprocessors and Microcomputer]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[risc processor]]></category>
		<category><![CDATA[risc technology]]></category>
		<category><![CDATA[term risc]]></category>

		<guid isPermaLink="false">http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/advanced-microprocessor-concepts/</guid>
		<description><![CDATA[Computer architecture is central to the design of digital systems, because most digital systems are, at their core, computers surrounded by varying mixes of interfaces to the outside world. It is dif?cult to know at the outset of a project how advanced architectural concepts may ?gure into a design, because advanced does not necessarily mean [...]]]></description>
			<content:encoded><![CDATA[<p><P><FONT face="Times New Roman">Computer architecture is central to the design of digital systems, because most<BR> digital systems are, at their core, computers surrounded by varying mixes of<BR> interfaces to the outside world. It is dif?cult to know at the outset of a project how <BR>advanced architectural concepts may ?gure into a design, because advanced <BR>does not necessarily mean expensive or complex. Many technologies that were<BR> originally developed for high-end supercomputers and mainframes eventually <BR>found their way into consumer electronics and other less-expensive digital systems.<BR> This is why a digital engineer bene- ?ts from a broad understanding of advanced<BR> microprocessor and computing concepts a wider palette of potential solutions <BR>enables a more creative and effective design process.<BR><BR>This chapter introduces a wide range of technologies that are alluded to in many<BR> technical speci?- cations but are often not understood suf?ciently to take full <BR>advantage of their potential. What is a 200-MHz superscalar RISC processor <BR>with a four-way set associative cache? Some people hear the term RISC and <BR>conjure up thoughts of high-performance computing. Such imagery is not <BR>incorrect, but RISC technology can also be purchased for less than one dollar. <BR>Caching is another big computer term that is more common than many people <BR>think. <BR><BR>An important theme to keep in mind is that microprocessors and the systems <BR>that they plug into are inextricably interrelated, and more so than simply by <BR>virtue of their common physical surround- ings. The architecture of one <BR>directly in?uences the capabilities of the other. For this reason, the two need <BR>to be considered simultaneously during the design process. Among many <BR>other factors, this makes computer design an iterative process. One may <BR>begin with an assumption of the type of mi- croprocessor required and <BR>then use this information to in?uence the broader system architecture.<BR><BR>When system-level constraints and capabilities begin to come into focus, <BR>they feed back to the microprocessor requirements, possibly altering them<BR> somewhat. This cycle can continue for several iterations until a design is <BR>realized in which the microprocessor and its supporting peripherals are <BR>well matched for the application.</FONT></P><br />
<P> </P><br />
<P>By : E-book Complete_Digital_Design</P></p>
]]></content:encoded>
			<wfw:commentRss>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/advanced-microprocessor-concepts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel 8051 Microcontroller Family</title>
		<link>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/intel-8051-microcontroller-family/</link>
		<comments>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/intel-8051-microcontroller-family/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 23:34:56 +0000</pubDate>
		<dc:creator>repair</dc:creator>
				<category><![CDATA[Instructive Microprocessors and Microcomputer]]></category>
		<category><![CDATA[8051 microcontroller]]></category>
		<category><![CDATA[A. The]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[microprocessor core]]></category>
		<category><![CDATA[microprocessor market]]></category>
		<category><![CDATA[PC. Being]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[program]]></category>

		<guid isPermaLink="false">http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/intel-8051-microcontroller-family/</guid>
		<description><![CDATA[Following their success in the microprocessor market, Intel began manufacturing microcontrollers in 1976 with the introduction of the 8048 family. This early microcontroller contains 64 bytes of RAM, 1 kB of ROM, a simple 8-bit microprocessor core, and an 8-bit timer/counter as its sole on-board peripheral. (Subsequent variants, the 8049 and 8050, include double and [...]]]></description>
			<content:encoded><![CDATA[<p><P><FONT face="Times New Roman">Following their success in the microprocessor market, Intel began manufacturing <BR>microcontrollers in 1976 with the introduction of the 8048 family. This early <BR>microcontroller contains 64 bytes of RAM, 1 kB of ROM, a simple 8-bit<BR> microprocessor core, and an 8-bit timer/counter as its sole on-board peripheral. <BR>(Subsequent variants, the 8049 and 8050, include double and four times the<BR> memory of the 8048, respectively.) The microprocessor consists of a 12-bit <BR>program counter, an 8-bit accumulator and ALU, and a 3-bit stack pointer. <BR>The 8048 is a complete computer on a single chip and gained a certain amount<BR> of fame in the 1980s when it was used as the standard keyboard controller <BR>on the </FONT><FONT face="Times New Roman">IBM PC because of its simplicity and low cost. The 8048 was <BR>manufactured in a 40-pin DIP and could be expanded with external memory<BR> and peripherals via an optional external address/data bus. However, when <BR>operated as a nonexpanded single-chip computer, the pins that would <BR>otherwise function as its bus were available for general I/O purposes a<BR> practice that is fairly standard on microcontrollers.<BR><BR>Motivated by the popularity of the 8048, Intel introduced the 8051 microcontroller<BR> in 1980, which is substantially more powerful and ?exible. The 8051s basic<BR> architecture is shown in Fig. 6.3. It contains 128 bytes of RAM, 4 kB of ROM, <BR>two 16-bit timer/counters, and a serial port. Registers within the microprocessor<BR> are 8 bits wide except for the 16-bit data pointer (DPTR) and program counter <BR>(PC). Memory is divided into mutually exclusive program and data sections that <BR>each can be expanded up to 64 kB in size via an external bus. Expansion is<BR> accomplished by borrowing pins from two of the four 8-bit I/O ports. Intel <BR>manufactured several variants of the 8051. The 8052 doubled the amount <BR>of on-chip memory to 256 bytes of RAM and 8 kB of ROM and added a<BR> third timer. The 8031/8032 are 8051/8052 chips without on-board ROM.<BR> The 8751/8752 are 8051/8052 devices with EPROM instead of mask ROM. <BR>As time went by and the popularity of the 8051 family increased, other<BR> companies licensed the core architecture and developed many variants with <BR>differing mixes of memory and peripherals.<BR><BR>Ports 0 through 3 are each eight-bit bidirectional I/O structures that can be used<BR> as either generalpurpose signals or as dedicated interface signals according to<BR> the system con?guration. In a single-chip con?guration where all memory is <BR>contained on board, the four ports may be assigned freely. Some peripheral<BR> functions use these I/O pins, but if a speci?c function is not required, the pins<BR> may be used in a generic manner. Port 3 is the default peripheral port where<BR> pins are used for the serial ports transmit and receive, external interrupt<BR> request inputs, counter increment inputs, and external bus expansion control<BR> signals. Port 1 is a general-purpose port that is also assigned for additional <BR>peripheral support signals when an 8051 variant contains additional peripheral<BR> functions beyond what can be supported on port 3 alone.</FONT></P><br />
<P><FONT face="Times New Roman">In a multichip con?guration where memory and/or additional peripherals are <BR>added externally, ports 0 and 2 are used for bus expansion. Port 0 implements <BR>a multiplexed address/data bus where the 8051 ?rst drives the lower eight <BR>address bits and then either drives write-data or samples read-data in a <BR>conventional bidirectional data bus scheme. In this standard con?guration, <BR>the lower ad- dress bits, A[7:0], are latched externally by a discrete logic <BR>chip (generally a 74LS373 or similar), and the 8051 drives an address latch<BR> enable (ALE) signal to control this latch as shown in Fig. 6.4. This multiplexed<BR> address/data scheme saves precious pins on the microcontroller that can be<BR> used </FONT><FONT face="Times New Roman">for valuable I/O functions. Some applications may suf?ce with just an<BR> eight-bit external address bus. For example, if the only expansion necessary <BR>were a special purpose I/O device, 256 bytes would probably be more than <BR>enough to communicate with the device. However, some applications <BR>demand a fully functional 16-bit external address bus. In these situations, <BR>port 2 is used to drive the upper address bits, A[15:8].</FONT></P><br />
<P><A href="/complete-digital-design_images/20100201182729.jpg" target=_blank><IMG style="WIDTH: 487px; HEIGHT: 177px" height=177 alt="FIGURE 6.3 8051 overall architecture." src="http://localhost/complete-digital-design_images/20100201182729.jpg" width=487 border=0></A></P><br />
<P><FONT face="Times New Roman">FIGURE 6.3 8051 overall architecture.</FONT></P><br />
<P><IMG alt="FIGURE 6.4 8051 system with external address latch." src="http://localhost/complete-digital-design_images/20100201182821.jpg"></P><br />
<P><FONT face="Times New Roman">FIGURE 6.4 8051 system with external address latch.</FONT></P><br />
<P><FONT face="Times New Roman">The 8051s microprocessor is very capable for such an early microcontroller.<BR> It includes integer multiply and divide instructions that utilize eight-bit operands <BR>in the accumulator and B register, and it then places the result back into those<BR> registers. The stack, which grows upward in memory, is restricted to on-board<BR> RAM only (256 bytes at most), so only an eight-bit stack pointer is implemented<BR>. Aside from the general-purpose accumulator and B registers, the 8051<BR> instruction set can directly reference 8 byte-wide general-purpose registers, <BR>numbered R0 through R7, that are mapped as 4 banks in the lower 32 bytes <BR>of on-board RAM. The active register bank can be changed at any time by <BR>modifying two bank-select bits in the status word. The map of on-board data<BR> memory is shown in Table 6.2. At reset, register bank 0 is selected, and the <BR>stack pointer is set to 0&#215;07, meaning that the stack will actually begin at<BR> location 0&#215;08 when the ?rst byte is eventually pushed. Above the register <BR>banks is a 16-byte (128-bit) region of memory that is bit addressable. <BR>Microcontroller applications often involve reading status information, checking <BR>certain bits to detect particular events, and then triggering other events. Using<BR> single bits rather than whole bytes to store status information saves precious<BR> memory in a microcontroller. Therefore, the 8051s bit manipulation<BR> instructions can make ef?cient use of the chips resources from both instruction<BR> execution and memory usage perspectives. The remainder of the lower <BR>128-byte memory region contains 80 bytes of general-purpose memory.<BR><BR>The upper 128 bytes of data memory are split into two sections: special-function <BR>registers and RAM. Special-function registers are present in all 8051 variants,<BR> but their de?nitions change according to the speci?c mix of peripherals in each<BR> variant. Some special-function registers are standard across all 8051 variants. <BR>These registers are typically those that were implemented on the original<BR> 8051/8052 devices and include the accumulator and B registers; the stack <BR>pointer; the data pointer; and serial port, timer, and I/O port control registers.<BR> Each time a manufacturer adds an on-board peripheral to the 8051,<BR> accompanying control registers are added into the special-function<BR>memory region.<BR><BR>On variants that incorporate 256 bytes of on-board RAM, the upper 128 bytes<BR> are also mapped into a parallel region alongside the special-function registers. <BR>Access between RAM and special-function registers is controlled by the<BR> addressing mode used in a given instruction. Special-function registers are <BR>accessed with direct addressing only. Therefore, such an instruction must <BR>follow the opcode with an eight-bit address. The upper 128 bytes of RAM<BR> are accessed with indirect addressing only. Therefore, such an instruction<BR> must reference one of the eight general-purpose registers (R0 <FONT face="Times New Roman">through R7<BR> in the currently selected bank) whose value is used to index into that portion <BR>of RAM. The lower 128 bytes of RAM are accessible via both direct and <BR>indirect addressing.</FONT></FONT></P><br />
<P><IMG src="http://localhost/complete-digital-design_images/20100201182919.jpg"></P><br />
<P><FONT face="Times New Roman">The 8051 is a good study in maximizing the capabilities of limited resources. <BR>Access to external memory is supported through a variety of indirect and indexed <BR>schemes that provide an option to the system designer of how extensive an<BR> external bus is implemented. Indirect access to external data memory is <BR>supported in both 8- and 16-bit address con?gurations. In the 8-bit mode,<BR> R0 through R7 are used as memory pointers, and the resulting address is <BR>driven only on I/O port 0, freeing port 2 for uses other than as an address bus.<BR> The DPTR functions as a pointer into data memory in 16-bit mode, enabling<BR> a full 64-kB indirect addressing range. Indexed access to external program <BR>memory is supported by both the DPTR and the PC. Being program memory<BR> (ROM), only reads are sup- ported. Both DPTR and PC can serve as index <BR>base address registers, and the current value in the accumulator serves as an <BR>offset to calculate a ?nal address of either DPTR+A or PC+A. <BR><BR>The 8051s external bus interface is asynchronous and regulated by four basic<BR> control signals: ALE, program storage enable (PSEN*), read enable (RD*),<BR> and write enable (WR*). Figure 6.5 shows the interaction of these four <BR>control signals and the two bus ports: ports 0 and 2. Recall that ALE <BR>causes an external latch to retain A[7:0] that is driven from port 0 during <BR>the ?rst half of the access and prior to port 0 transitioning to a data bus <BR>role. The timing delays noted are for a standard 12-MHz operating <BR>frequency (the highest frequency supported by the basic 8051 devices, <BR>although certain newer devices can operate at substantially faster frequencies).*</FONT></P><br />
<P><A href="/complete-digital-design_images/20100201183018.jpg" target=_blank><IMG style="WIDTH: 494px; HEIGHT: 117px" height=117 alt="FIGURE 6.5 8051 bus interface timing." src="http://localhost/complete-digital-design_images/20100201183018.jpg" width=494 border=0></A></P><br />
<P><FONT face="Times New Roman">FIGURE 6.5 8051 bus interface timing.</FONT></P><br />
<P><FONT face="Times New Roman">Although the speci?c timing delays of program memory and data memory <BR>reads are different, they exhibit the same basic sequence of events. (More<BR> time is allowed for data reads than for instruction reads from program <BR>memory.) Therefore, if the engineer properly accounts for the timing <BR>variations by selecting memory and logic components that are fast <BR>enough to satisfy the PSEN* and RD* timing speci?cations simultaneously,<BR> program and data memory can actually be merged into a uni?ed memory <BR>space external to the chip. Such uni?cation can be performed by generating<BR> a general memory read enable, MRE*, that is the AND function of PSEN* <BR>and RD*. In doing so, whenever either read enable is driven low by the <BR>8051, MRE* will be low. This can bene?t some applications by turning <BR>the 8051 into a more general-purpose computing device that can load a<BR> program into its data memory and then execute that same program <BR>from program memory. It also enables indexed addressing to operate<BR> on data memory, which normally is restricted to indirect addressing as<BR>discussed previously.<BR><BR>Timers such as those found in the 8051 are useful for either counting external <BR>events or triggering low-frequency events themselves. Each timer can be <BR>con?gured in two respects: whether it is a timer or counter, and how the<BR> count logic functions. The selection of timer versus counter is a decision<BR> between incrementing the count logic based on the microcontrollers <BR>operating frequency or on an external event sensed via an input port pin.<BR> The 8051s internal logic runs in a repetitive pattern of 12 clock cycles in<BR> which 1 machine cycle consists of 12 clock cycles. Therefore, the count<BR> logic increments once each machine cycle when in timer mode. When in<BR> counter mode, a low-to-high transition (rising edge) on a designated input<BR> pin causes the counter to increment. The counter can be con?gured to<BR> generate an interrupt each time it rolls over from its maximum count value <BR>back to its starting value. This interrupt can be used to either trigger a<BR> periodic maintenance routine at regular intervals (timer mode) or to take<BR> action once an external event has occurred a set number of times<BR>(counter mode). If not con?gured to generate an interrupt, the software<BR> can periodically poll the timer to see how many events have occurred <BR>or how much time has elapsed.<BR><BR>The timers inherently possess two 8-bit count registers that can be con?gured<BR> in a variety of ways as shown in Fig. 6.6. A timer can be con?gured as a <BR>conventional 16-bit counter, as two 8-bit <FONT face="Times New Roman">counters, as a single 8-bit counter<BR> with a 5-bit prescaler, and as a single 8-bit counter with an 8-bit reload <BR>value. The ?rst two modes mentioned are straightforward: the timers count<BR> from 0 to either 65,535 (16-bit) or 255 (8-bit) before rolling over and <BR>perhaps generating an interrupt. The third mode is similar, but the 8-bit <BR>counter increments only once every 32 machine cycles. The 5-bit  (2<SUP>5</SUP> = 32)<BR> prescaler functions as a divider ahead of the main counter. Apparently, the <BR>main reason for in- cluding this mode was to retain function compatibility <BR>with the 8048s prescaled timer. The fourth mode is interesting, because<BR> the 8-bit counter is reloaded with an arbitrary 8-bit value rather than 0 after<BR> reaching its terminal count value (255). When operated in timer mode, this<BR> feature enables the timer to synthesize a wide range of low-frequency periodic<BR> events. One very useful periodic event is an RS-232 bit-rate generator. A <BR>commonly observed 8051 operating frequency is 11.0592 MHz. When <BR>this frequency is divided by 12, a count increment rate of 921.6 kHz is <BR>obtained. Further dividing this frequency by divisors such as 96 or 384 <BR>yields the standard RS-232 bit rates 9.6 kbps and 2.4 kbps. A divisor <BR>of 384 cannot be implemented in an 8-bit counter. Instead, a selectable ?16<BR> or ?32 counter is present in the serial port logic that generates the ?nal serial<BR> bit rate.</FONT></FONT></P><br />
<P><A href="/complete-digital-design_images/20100201183234.jpg" target=_blank><IMG height=332 alt="FIGURE 6.6 8051 timer con?gurations." src="http://localhost/complete-digital-design_images/20100201183234.jpg" width=433 border=0></A></P><br />
<P><FONT face="Times New Roman">FIGURE 6.6 8051 timer con?gurations.</FONT></P><br />
<P><FONT face="Times New Roman">The 8051s on-board serial port implements basic synchronous or asynchronous<BR> transmit and receive shift-register functionality but does not incorporate hardware<BR> handshaking of the type used in RS-232 communications. Serial transmission is<BR> initiated by writing the desired data to a transmit register. Incoming data is <BR>placed into a receive register, and an interrupt can be triggered to invoke a<BR>serial port ISR. The serial port can be con?gured in one of four modes, two of<BR>which are higher-fre-quency ?xed bit rates, and two of which are <BR>lower-frequency variable bit rates established by the rollover characteristics <BR>of an on-board timer. Mode 0 implements a synchronous serial interface<BR>where the receive data pin is actually bidirectional and a transmit clock<BR> is emitted on the transmit data pin. This mode operates on 8-bit data <BR>and a ?xed bit rate of 1/12 the operating frequency.<BR><BR>Mode 1 implements an asynchronous transmit/receive serial port where ten<BR> bits are exchanged for every byte: a start bit, eight data bits, and a stop bit. <BR>The bit-rate is variable according to a timer rollover rate. Mode 3 is very<BR> similar to mode 1, with the added feature that a ninth data bit is added to<BR>each byte. This extra data bit can be used for parity in an RS-232 <BR>con?guration or for another application-speci?c purpose. These two<BR> modes can be used to implement an RS-232 serial port without hardware <BR>handshaking. Software-assisted hardware handshaking could be added<BR> using general I/O pins on the 8051. Mode 2 is identical to mode 3 except <BR>for its ?xed bit rate at either 1/32 or 1/64 the operating frequency. Modes <BR>1 and 3 can be made to operate at standard RS-232 bit rates from <BR>19.2 kbps on downward with the aforementioned 11.0592 MHz operating<BR> frequency. A selectable ?16 or ?32 counter within the serial port logic <BR>combines with the timer rollover to achieve the desired serial bit rate.<BR><BR>Intels 8051 architecture has been designed into countless applications in which<BR> a small, embed- ded computer is necessary to regulate a particular process. <BR>The original 40-pin devices are still commonly used and found in distributors <BR>warehouses, but a host of newer devices are popular as well. Some of these<BR> variants are larger and more capable than the original and include more<BR> I/O ports, on- board peripherals, and memory. Some variants have taken <BR>the opposite direction and are available in much smaller packages <BR>(e.g., 20 pins) with low power consumption for battery-powered applications. <BR>There are even special versions of the 8051 that are radiation hardened for <BR>space and military applications. Companies that manufacture 8051 variants<BR> include Atmel, Maxim (formerly Dallas Semiconductor), and Philips. Atmel<BR> manufactures a line of small, low-power 8051 products. Maxim offers a <BR>selection of high-speed 8051 microcontrollers that run at up to 33 MHz <BR>with a 4-cycle architecture, as compared to 12 in the original 8051. Philips<BR> has a broad 8051 product line with a variety of peripherals to suit many <BR>individual applications.</FONT></P><br />
<P><FONT face="Times New Roman">The mature ROM-less 8031/8032 members of the 8051 family can be <BR>ordered through many mail order retail electronics outlets for only a few <BR>dollars apiece. The equally mature 8751/8752 EPROM devices can also<BR> be found from many of these same sources, though at a higher price as a <BR>result of </FONT><FONT face="Times New Roman">the expense of the ceramic DIP in which they are most often<BR> found. More specialized 8051 variants may be available only through <BR>manufacturers authorized distributors.</FONT></P><br />
<P> </P><br />
<P>By : E-book Complete_Digital_Design</P></p>
]]></content:encoded>
			<wfw:commentRss>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/intel-8051-microcontroller-family/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Selecting a Modem</title>
		<link>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/selecting-a-modem/</link>
		<comments>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/selecting-a-modem/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 19:29:57 +0000</pubDate>
		<dc:creator>repair</dc:creator>
				<category><![CDATA[Video, Sound, Modems, and Network Adapters]]></category>
		<category><![CDATA[com]]></category>
		<category><![CDATA[cyrix processor]]></category>
		<category><![CDATA[ISA]]></category>
		<category><![CDATA[Modem]]></category>
		<category><![CDATA[modem speed]]></category>
		<category><![CDATA[PC Repair]]></category>
		<category><![CDATA[slow processors]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/selecting-a-modem/</guid>
		<description><![CDATA[Even though modem speed hasn&#8217;t changed since 1998, modems have gotten better. You might recall that picking up a telephone while an early 56K modem was connected to the Internet on the same line caused the modem to instantly disconnect the connection. Fortunately, that problem was abated in subsequent modems.
 

WinModems vs. Controller-Based Modems
If you [...]]]></description>
			<content:encoded><![CDATA[<p><P>Even though modem speed hasn&#8217;t changed since 1998, modems have gotten better. You might recall that picking up a telephone while an early 56K modem was connected to the Internet on the same line caused the modem to instantly disconnect the connection. Fortunately, that problem was abated in subsequent modems.</P><br />
<P> </P><br />
<DIV><br />
<H4>WinModems vs. Controller-Based Modems</H4><br />
<P>If you look at modems, you might notice that some have very few components soldered onto the circuit board. If these have PCI or ISA connectors, then they are probably WinModems (if they don&#8217;t have PCI or ISA connectors, they are probably riser modems). If they have a lot of components, they are probably controller-based modems. As you might have guessed, controller-based modems are more expensive than WinModems. WinModems let Windows do much of the work that controllers do in the more expensive modems. Consequently, that means that the processor has extra work to do. For that reason, WinModems don&#8217;t work well in any systems with slow processors, and should never be used in a computer with a Cyrix processor. Therefore, if an old computer needs a new modem, don&#8217;t install a WinModem. </P><br />
<P> </P></DIV><br />
<DIV><br />
<H4>Faxing and Voice</H4><br />
<P>Virtually all modems sold in the last several years have faxing capability. Using supplied &#8220;lite&#8221; software, retail software, or fax programs built into newer versions of Windows, users can send and receive faxes. Fax software installs itself as a printer; to send a fax, open a document or image file and use the Print command. There are three ways to access the Print command in almost all programs: </P><br />
<UL><br />
<LI><br />
<P>Click File > Print</P><br />
<LI><br />
<P>Click the printer icon</P><br />
<LI><br />
<P>Type <Ctrl> + <P></P></LI></UL><br />
<P>You will see a dialog box similar to the one shown in Figure 8.8. Select the fax software as a printer and click Print. The fax program should open. Many users with scanners print documents, scan them, and then fax them. This is necessary only if you have to write something, such as a signature, on the document. There are sketch programs available that allow you to store a signature image that you can paste on a document. For example, if you have a Synaptics touchpad (pointing device), a program is available free from <I>synaptics.com</I>.</P><br />
<P> </P></DIV><br />
<DIV><br />
<H4>Modem Removal and Installation</H4><br />
<P>External modems are simple to install; just plug in and install the software, with the order depending on the instructions to the particular model. Internal modems are installed physically just as any other expansion card. Many will be installed automatically by Windows.</P><br />
<P>Software that uses modems, such as faxing programs or dial-up Internet software like AOL, have provisions to search for the modem. Therefore, it is a good idea to look in Device Manager to see how many COM ports are installed in the machine. Look for the Ports (COM &#038; LPT) listing and click the plus sign. Hopefully, you won&#8217;t see any more than the number of physical COM ports installed on the system. Then, when you install the modem or modem-using software, look for the COM port the system uses. If the port number is the same as one of the physical COM ports, it is usually wise to change it. To do this, open up Modem Properties in Device Manager or in Control Panel > Phone and Modem (or equivalent). Click the Advanced tab to get a page similar to the one shown in Figure 8.8. </P><br />
<DIV><IMG height=157 alt="Click To expand" src="/pc-repair-and-maintenance_images/20100128160952.jpg" width=350 border=0> <BR>Figure 8.8: Advanced modem properties. </DIV><br />
<P>If you change it, make sure to change it in modem-using software too. Then, check all programs that use the modem: dial-up Internet, telephone networking, telephone dialing and answering systems, and fax programs. Either change the COM port manually in these or have the programs redetect the modem.</P><br />
<P> </P><br />
<P>By : Book-PC Repair and Maintenance: A Practical Guide</P></DIV></p>
]]></content:encoded>
			<wfw:commentRss>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/selecting-a-modem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motorola 6800 Eight -Bit Microprocessor Family</title>
		<link>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/motorola-6800-eight-bit-microprocessor-family/</link>
		<comments>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/motorola-6800-eight-bit-microprocessor-family/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 21:27:32 +0000</pubDate>
		<dc:creator>repair</dc:creator>
				<category><![CDATA[Instructive Microprocessors and Microcomputer]]></category>
		<category><![CDATA[address]]></category>
		<category><![CDATA[clock]]></category>
		<category><![CDATA[microprocessor]]></category>
		<category><![CDATA[microprocessor market]]></category>
		<category><![CDATA[pc stack]]></category>
		<category><![CDATA[PIA]]></category>
		<category><![CDATA[stack pointer]]></category>

		<guid isPermaLink="false">http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/motorola-6800-eight-bit-microprocessor-family/</guid>
		<description><![CDATA[As the microprocessor market began to take off, Motorola jumped into the fray and introduced its eight-bit 6800 in 1974, shortly after the 8080 ?rst appeared. While no longer available as a discrete microprocessor, the 6800 is signi?cant, because it remains in Motorolas successful 68HC05/68HC08 and 68HC11 microcontroller families and also serves as a vehicle [...]]]></description>
			<content:encoded><![CDATA[<p><P><FONT face="Times New Roman">As the microprocessor market began to take off, Motorola jumped into the fray<BR> and introduced its eight-bit 6800 in 1974, shortly after the 8080 ?rst appeared.<BR> While no longer available as a discrete microprocessor, the 6800 is signi?cant,<BR> because it remains in Motorolas successful 68HC05/68HC08 and 68HC11 <BR>microcontroller families and also serves as a vehicle with which to learn the<BR>basics of computer architecture. Like the 8080, the 6800 is housed in a 40-pin<BR> DIP and features a 16-bit address bus and an 8-bit data bus. All of the basic<BR> register types of a modern microprocessor are </FONT><FONT face="Times New Roman">implemented in the 6800, as <BR>shown in Fig. 6.1: a program counter (PC), stack pointer (SP), index register <BR>(X), two general-purpose accumulators (ACCA and ACCB), and status<BR> ?ags set by the ALU in the condition code register (CCR). ACCA is the <BR>primary accumulator, and some instructions oper- ate only on this register<BR> and not ACCB. A half-carry ?ag is included to enable ef?cient binary coded<BR>decimal (BCD) operations. After adding two BCD values with normal binary<BR> arithmetic, the half- carry is used to convert illegal results back to BCD. The <BR>6800 provides a special instruction, decimal adjust ACCA (DAA), for this<BR> speci?c purpose. A somewhat out-of-place interrupt mask bit is also <BR>implemented in the CCR, because this was an architecturally convenient place<BR> to locate it. Bits in the CCR are modi?ed through either ALU operations or <BR>directly by transferring the value in ACCA to the CCR. <BR><BR>The 6800 supports three interrupts: one nonmaskable, one maskable, and <BR>one software interrupt. More recent variants of the 6800 support additional<BR> interrupt sources. A software interrupt can be used by any program running <BR>on the microprocessor to immediately jump to some type of maintenance<BR> routine whose address does not have to be known by the calling program. <BR>When the software interrupt instruction is executed, the 6800 reads the <BR>appropriate interrupt vector from memory and jumps to the indicated address. <BR></FONT><FONT face="Times New Roman">The 6800s reset and interrupt vectors are located at the top of memory, as<BR> listed in Table 6.1, which generally dictates that the boot ROM be located<BR> there as well. For example, an 8-kB 27C64 EPROM<BR> (8,192 bytes = 0&#215;2000 bytes) would occupy the address range 0xE000 <BR>through 0xFFFF. Each vector is 16 bits wide, enough to specify the full <BR>address of the associated routine. The MSB of the address, A[15:8], is<BR> located in the low, or even, byte address, and the LSB, A[7:0] is located<BR> in the high, or odd, byte address.</FONT></P><br />
<P><IMG src="http://localhost/complete-digital-design_images/20100201181009.jpg"></P><br />
<P><A href="/complete-digital-design_images/20100201181039.jpg" target=_blank><IMG height=150 alt="FIGURE 6.1 6800 registers." src="http://localhost/complete-digital-design_images/20100201181039.jpg" width=439 border=0></A></P><br />
<P><FONT face="Times New Roman">FIGURE 6.1 6800 registers.</FONT></P><br />
<P><FONT face="Times New Roman">An external clock driver circuit that provides a two-phase clock (two clock<BR> signals 180? out of phase with respect to each other) is required for the original <BR>6800. Motorola simpli?ed the design of 6800-based computer systems by<BR> introducing two variants, the 6802 and 6808. The 6802 includes an on-board<BR> clock driver circuit of the type that is now standard on many microprocessors<BR> available today. Such clock drivers require only an external crystal to create <BR>a stable, reliable oscillator with which to clock the microprocessor. A crystal <BR>is a two-leaded component that contains a specially cut quartz crystal. <BR>The quartz can be made to resonate at its natural frequency by electrical <BR>stimulus cre- ated within the microprocessors on-board clock driver circuitry. <BR>A crystal is necessary for this pur- pose, because its oscillation frequency is <BR>predictable and stable. The 6802 also includes 128 bytes of on-board RAM<BR> to further simplify certain systems that have small volatile memory requirements.<BR>For customers who wanted the simpli?ed clocking scheme of the 6802 <BR>without paying for the on-board RAM, Motorolas 6808 kept the clocking<BR> and removed the RAM. <BR><BR>Using a 6802 with its internal RAM, a functional computer could be constructed<BR> with only two chips: the 6802 and an EPROM. Unfortunately, such a computer<BR> would not be very useful, because it would have no I/O with which to interact <BR>with the outside world. Motorola manufactured a variety of peripheral chips<BR> intended for direct connection to the 6800 bus. Among these were the 6821 <BR>peripheral interface adapter (PIA) and the 6850 asynchronous communications<BR> interface adapter (ACIA), a type of UART. The PIA provides 20 I/O signals <BR>arranged as two 8-bit parallel ports, each with two control signals. Applications<BR> including basic pushbutton sensing and LED driving are easy with the 6821. <BR>The 6800 bus uses asynchronous control signals, meaning that memory and<BR> I/O devices do not explicitly require access to the microprocessor clock to <BR>communicate on the bus. However, many of the 6800 peripherals require<BR> their own copy of the clock to run internal logic.</FONT></P><br />
<P><FONT face="Times New Roman">As with all synchronous logic, the 6800s bus is internally controlled by the<BR> microprocessor clock, but the nature of the control signals enables asynchronous<BR> read and write transactions without referencing that clock, as shown in Fig. 6.2. <BR>An address is placed onto the bus along with the proper state of the R/W <BR>select signal (read = 1, write = 0) and a valid memory address (VMA) enable <BR>that indicates an active bus cycle. In the case of a write, the write data is <BR>driven out some time later. For reads, the data must be returned fast enough<BR> to meet the microprocessors timing speci?cations. The 6802/6808 were <BR>manufactured in 1-, 1.5-, and 2-MHz speed grades. At 2 MHz, a peripheral <BR>device has to respond to a read request with valid data within 210 ns after <BR>the assertion of address, R/W, and VMA. A peripheral has up to 290 ns <BR>from the assertion of these signals to complete a write transaction.<BR><BR>*In a real system, VMA, combined with address decoding logic, would drive<BR> the individual chip select signals to each peripheral.<BR><BR>In some situations, slow peripherals may be used that cannot execute a bus<BR> transaction in the time allowed by the microprocessor. The 6800 architecture<BR> deals with this by stretching the clock during <FONT face="Times New Roman">a slow bus cycle. A clock<BR> cycle can be stretched as long as 10 ?s, enabling extremely slow peripherals <BR>by delaying the next clock edge that will advance the microprocessors<BR> internal state and termi- nate a pending bus cycle. This stretching is <BR>performed by an external clock circuit for a 6800, or by the internal clock <BR>of the 6802/6808. As with many modern microprocessors, the 6802/6808 <BR>provides a pin that delays the end of the current bus cycle. This memory <BR>ready (MR) signal is normally high, signaling that the addressed device is<BR> ready. When brought low, the clock is internally stretched until MR goes<BR> high again. Early microprocessors such as the 6800 used clock stretching<BR> to delay bus cy- cles. Most modern microprocessors maintain a constant <BR>clock frequency and, instead, insert discrete wait states, or extra clock <BR>cycles, into a bus transaction when a similar type of signal is asserted. <BR>This latter method is usually preferable in a synchronous system because<BR> of the desire to maintain a simple clock circuit and to not disrupt other<BR> logic that may be running on the microprocessor clock.</FONT></FONT></P><br />
<P><IMG alt="FIGURE 6.2 6802/6808 basic bus timing." src="http://localhost/complete-digital-design_images/20100201181253.jpg"></P><br />
<P><FONT face="Times New Roman">FIGURE 6.2 6802/6808 basic bus timing.</FONT></P><br />
<P><FONT face="Times New Roman">Motorolas success with the 6800 motivated it to introduce the upgraded 6809<BR> in 1978. The 6809 is instruction set compatible with the 6800 but includes <BR>several new registers that enable more ?exi- ble access to memory. Two stack<BR> pointers are present: the existing hardware controlled register for subroutine <BR>calls and interrupts, and another for user control. The user stack pointer can <BR>be used to ef?ciently pass parameters to subroutines as they are called without<BR> con?icting with the microprocessors push/pop operations involving the<BR> program counter and other registers. A second index register and the ability <BR>to use any of the four 16-bit pointer registers as index registers were added<BR> to enable the simultaneous handling of multiple data structure pointers without<BR> having to continually save and recall index register values. The 6809s two <BR>accumulators can be concatenated to form a 16-bit accumulator that enables<BR> 16-bit arithmetic with an enhanced ALU. This ALU is also capable of eight-bit<BR>unsigned multiplication, which made the 6809 one of the ?rst integrated<BR> microprocessors with multiplication capability.<BR><BR>Other improvements in the 6809 included a direct page register (DPR) for a<BR> more ?exible eight- bit direct addressing mode. The 8-bit DPR, representing <BR>A[15:8], is combined with an 8-bit direct address, representing A[7:0], to <BR>form a 16-bit direct address, thereby enabling an 8-bit direct address to <BR>reference any location in the complete 64-kB address space. The 6809 also<BR> included a more advanced bus interface with direct support for an external<BR> DMA controller. Several desktop computers, including the Tandy/Radio <BR>Shack TRS-80 Color Computer, and various platforms, including arcade<BR>games, utilized the 6809.<BR><BR>While still available from odd-lot retail outlets, the original 6800 family members<BR> are no longer practical to use in many computing applications. Their capabilities, <BR>once leading edge, are now available in smaller, more integrated ICs at lower <BR>cost and with lower power consumption. However, the 6800 architecture is<BR> alive and well in the 68HC05/68HC08 and 68HC11 microcontroller families<BR>that are based on the 6800/6802/6808 and 6809 architectures, respectively. <BR>These microcontrollers are available with a wide range of integrated features<BR> with on-board RAM, ROM (mask ROM, EE-PROM, or EPROM), serial <BR>ports, timers, and analog-to-digital converters.</FONT></P><br />
<P> </P><br />
<P>By : E-book Complete_Digital_Design</P></p>
]]></content:encoded>
			<wfw:commentRss>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/motorola-6800-eight-bit-microprocessor-family/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modem Overview</title>
		<link>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/modem-overview/</link>
		<comments>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/modem-overview/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 17:29:57 +0000</pubDate>
		<dc:creator>repair</dc:creator>
				<category><![CDATA[Video, Sound, Modems, and Network Adapters]]></category>
		<category><![CDATA[com]]></category>
		<category><![CDATA[external modems]]></category>
		<category><![CDATA[ISA]]></category>
		<category><![CDATA[isa expansion cards]]></category>
		<category><![CDATA[K. Because]]></category>
		<category><![CDATA[Modem]]></category>
		<category><![CDATA[PC Repair]]></category>
		<category><![CDATA[proprietary modem]]></category>
		<category><![CDATA[telephone]]></category>

		<guid isPermaLink="false">http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/modem-overview/</guid>
		<description><![CDATA[Oddly, modems are often confused with the computer itself. A modem, as discussed in this chapter, is a device that connects a computer to a standard analog telephone line, the kind to which your telephone is connected. Modems are used for dial-up Internet service, telephone use such as faxing, wide area network (WAN) connections, and [...]]]></description>
			<content:encoded><![CDATA[<p><P>Oddly, modems are often confused with the computer itself. A <I>modem</I>, as discussed in this chapter, is a device that connects a computer to a standard analog telephone line, the kind to which your telephone is connected. Modems are used for dial-up Internet service, telephone use such as faxing, wide area network (WAN) connections, and the antiquated, but still-used terminal connections, which are beyond the scope of this book. You might have noticed that modem speed has been stuck at a maximum of 56 Kbps for several years. That is because the amount of data that can be transmitted across an analog telephone line might have reached a physical limit. Consequently, although there have been improvements in accuracy of data transfer and the capability of connecting and holding onto a telephone line, modems haven&#8217;t gotten any faster than 56K. Because of this limit, Internet service has moved away from dial-up and toward different broadband technologies. As a result, modems are now not usually built into newer motherboards (except in laptops, which are often used where the only network access is through telephone lines). There are a few motherboards out there with modem risers. These are slots that take proprietary modem cards. If one of these modems fails, it is cheapest and easiest to remove it and install a standard modem in a PCI or ISA slot, if possible.</P><br />
<P> </P><br />
<DIV><br />
<H3>Internal vs. External Modems</H3><br />
<P>Internal modems are PCI or ISA expansion cards. They tend to be simple to install; just follow the manufacturer&#8217;s directions if available. They receive their power from the slot. External modems are less common today, but are still around because internal modems are often optional these days. External modems traditionally plug into a serial port on the computer, although there are USB modems available today as well. The advantages to external modems are that you don&#8217;t have to be a technician to install one and they can easily be moved from computer to computer. The disadvantages to serial-port external modems are that they require external power and are more expensive. Most or all USB modems are powered by the USB ports and aren&#8217;t as expensive as serial port modems. Figure 8.6 shows a PCI modem, a USB modem, and an external serial port modem. </P><br />
<DIV><IMG height=205 alt="Click To expand" src="/pc-repair-and-maintenance_images/20100128155556.jpg" width=350 border=0> <BR>Figure 8.6: Three different types of modems. </DIV><br />
<P>PC-Card modems are designed for laptops without built-in modems, or those whose built-in modems are broken. They tend to be expensive. Many of these come with <I>dongles</I>, which are small cable assemblies that connect the card to the telephone jack assembly. Dongles are usually delicate and replacements have to be ordered from the manufacturer. Better designs are available that have the phone jacks built into the card. Figure 8.7 shows two PC-Card modems. </P><br />
<DIV><IMG height=201 alt="Click To expand" src="/pc-repair-and-maintenance_images/20100128155610.jpg" width=350 border=0> <BR>Figure 8.7: PC-Card modems. </DIV><br />
<TABLE cellSpacing=0 cellPadding=0 border=0><br />
<TBODY><br />
<TR><br />
<TD vAlign=top></TD><br />
<TD vAlign=top>Tip </TD><br />
<TD vAlign=top><br />
<P>For an alternative to PC-Card modems, try an external USB modem. </P></TD></TR></TBODY></TABLE></DIV><br />
<DIV><br />
<H3>Use of Serial Ports</H3><br />
<P>Older PCs often came with up to four serial ports, while newer machines usually come with one. These ports are referred to as COM 1 through COM 4. Traditionally, COM ports 1 and 4 use IRQ 3, and COM ports 2 and 3 use IRQ 4. If you have ever installed an internal modem, you have probably noticed COM ports with numbers up to 12. These COM ports that are numbered higher than the highest numbered physical COM port are called <I>logical</I> COM ports.</P><br />
<P> </P><br />
<P>By : Book-PC Repair and Maintenance: A Practical Guide</P></DIV></p>
]]></content:encoded>
			<wfw:commentRss>http://appliancerepairfirst.com/pc-repair-and-maintenance/video-sound-modems-and-network-adapters/modem-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evolution</title>
		<link>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/evolution/</link>
		<comments>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/evolution/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 17:24:09 +0000</pubDate>
		<dc:creator>repair</dc:creator>
				<category><![CDATA[Instructive Microprocessors and Microcomputer]]></category>
		<category><![CDATA[bit]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[microprocessor]]></category>
		<category><![CDATA[microprocessor families]]></category>
		<category><![CDATA[pin dips]]></category>
		<category><![CDATA[video arcade games]]></category>

		<guid isPermaLink="false">http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/evolution/</guid>
		<description><![CDATA[Following the 4004s introduction in 1971, Intel enhanced the four-bit architecture by releasing the 4040 and 8008 in rapid succession. The 4040 added several instructions and internal registers, and the 8008 extended the basic architecture to eight bits. These processors ran at speeds from 100 to 200 kHz and were packaged in 16 (4004/4040) and [...]]]></description>
			<content:encoded><![CDATA[<p><P><FONT face="Times New Roman">Following the 4004s introduction in 1971, Intel enhanced the four-bit architecture<BR> by releasing the 4040 and 8008 in rapid succession. The 4040 added several <BR>instructions and internal registers, and the 8008 extended the basic architecture<BR> to eight bits. These processors ran at speeds from 100 to 200 kHz and were<BR> packaged in 16 (4004/4040) and 18 (8008) pin DIPs. While signi?cant for their<BR>time, they had limited throughput and could address only 4 kB (4004/4040) <BR>or 16 kB (8008) of memory. In 1974, Intel made substantial improvements <BR>in microprocessor design and released the 8080, setting the stage for modern<BR> microprocessors. Whereas Intels earlier microprocessors look like relics of<BR> a bygone era, the 8080 is architecturally not far off from many microprocessors<BR> that ex</FONT>ist today. The 8080 was housed in a 40-pin DIP, featured a 16-bit <BR>address bus and an 8-bit data bus, and ran at 2 MHz. It also implemented a<BR> conventional stack pointer that enabled deep stacks in external memory <BR>(Intels earlier microprocessors had internal stacks with very limited depth). <BR>The 8080 became extremely popular as a result of its performance and rich,<BR> modern instruction set. This popularity was evidenced two years later, <BR>in 1976, with Intels enhanced 8085 and competitor Zilogs famous Z80.<BR> Designed by former Intel engineers, the Z80 was based heavily on the <BR>8080 to the point of having a partially compatible instruction set.<BR><BR>Both the 8085 and Z80 were extremely popular in a variety of computing<BR> platforms from hobbyists to mainstream commercial products to video <BR>arcade games. The 8085 architecture in?uenced the famous 16-bit 8086<BR> family whose strong  in?uence continues  to  this day  in desktop PCs. <BR>The Z80 eventually  lost  the mainstream microprocessor war and migrated <BR> to microcontrollers  that are  still available for new designs from Zilog.<BR><BR>As microprocessors progress, technologies that used to be leading edge ?rst<BR> become mainstream and then appear quite pedestrian. Along the way, some<BR> microprocessor families branch into multiple product lines to suit a variety <BR>of target applications. The high-end computing market gets most of the<BR>publicity and accounts for the major technology improvements over time.<BR> Lower-end microprocessors are either made obsolete after some time<BR> or ?nd their way into the embedded market. Embedded microprocessors <BR>and systems are  those  that may not appear  to  the end user as a <BR>computer, or  they may not be visible at all. Instead, embedded<BR> microprocessors typically serve a control function in a machine or another<BR> piece of equipment. This  is  in contrast  to  the  traditional computer with <BR>a keyboard and monitor that is clearly identi?ed as a general-purpose<BR> computer.</P><br />
<P><FONT face="Times New Roman">Integrated microprocessor products are called microcontrollers, a term that<BR> has already been in- troduced. A microcontroller is a microprocessor <BR>integrated with a varying mix of memory and peripherals on a single chip. <BR>Microcontrollers are almost always found in embedded systems. As with<BR>many industry terms, microcontrollers can mean very different things to<BR>different people. In general, a microcontroller contains a relatively <BR>inexpensive microprocessor core with a complement of on-board <BR>peripherals that enable a very compact, yet complete, computing system <BR>either on a single chip or relatively few chips. There is a vast array of <BR>single-chip microcontrollers on the market that integrate quantities of <BR>both RAM and ROM on the same chip along with basic peripherals <BR>including serial communications controllers, timers, and general I/O signal <BR>pins for controlling LEDs, relays, and so on. Some of the smallest <BR>microcontrollers can cost less than a dollar and are available in packages<BR> with as few as eight pins. Such devices can literally squeeze a complete <BR>computer into the area of a ?ngernail. More complex microcontrollers <BR>can cost tens of dollars and provide external mi- croprocessor buses for<BR> memory and I/O expansion. At the very high end, there are microcontrollers<BR>available for well over $100 that include 32-bit microprocessors running <BR>at hundreds of megahertz, with integrated Ethernet controllers and DMA. <BR>Manufacturers typically refer to these high-end microcontrollers with unique,<BR> proprietary names to differentiate them from the aforementioned class<BR>of inexpensive devices.</FONT></P><br />
<P> </P><br />
<P>By : E-book Complete_Digital_Design</P></p>
]]></content:encoded>
			<wfw:commentRss>http://appliancerepairfirst.com/complete-digital-design/digital-fandamentals/instructive-microprocessors-and-microcomputer/evolution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
