سلام
کسی مقاله ای ، مطلبی چیزی در مورد سی پی یو های 8086 دم دستش پیدا میشه ؟؟؟
اگه لطف کنید بگذارین ممنون می شم
Printable View
سلام
کسی مقاله ای ، مطلبی چیزی در مورد سی پی یو های 8086 دم دستش پیدا میشه ؟؟؟
اگه لطف کنید بگذارین ممنون می شم
ریزپردازنده 8086
در سال 1978 شركت اينتل اولين ریزپردازنده ي 16 بيتي خود را تحت عنوان 8086 روانه بازار كرد. تمام رجيستر هاي داخلي، گذرگاه داده و دستور العملهاي 8086، شانزده بيتي بودند. البته گذرگاه آدرس اين ریزپردازنده 20 بيتي بود و بهمين دليل تا 1mb حافظه را مي توانست آدرس دهي كند. ضمن اينكه براي افزايش سرعت اجراي محاسبات رياضي، کمک پردازنده ریاضی 8087 نیز برای کار در كنار پردازنده اصلي تولید شد.
این نخستین ریزپردازنده ای بود که برای آن زبانهای برنامه نویسی سطح بالا و سیستم های عامل قدرتمند فراهم بود. این عوامل سبب شد که این ریز پردازنده پایه ساخت کامپیوترهای کوچک آی بی ام گردد که بعدا بنام PC نامگذاری شد. همه سیستم های سازگار با IBM نیز بر پایه ریز پردازنده 8086 ساخته شدند. همه جانشین های 8086 نیز باید این ریز پردازنده را شبیه سازی می کردند تا برنامه ها و نرم افزاری که برای ریزپردازنده 8086 نوشته شده بود، روی ریزپردازنده های بعدی اجرا می شد.تراشه 8086 یک تراشه مستطیلی شکل با 40 پایه است. این تراشه بر روی سوکتی (جایگاه IC) در روی برد مادر نصب می شد و محل آن هم معمولا کنار شکافهای گسترش و جلوی رابط ورودی صفحه کلید بود. طرح ریز پردازنده 8086 بر اساس ساختمان داخلی 16 بیتی انجام گرفت. یعنی تمام ثبات های داخلی آن 16 بیتی بود و بنابراین کار با داده های 16 بیتی را هم به صورت داخلی و هم به صورت خارجی (گذرگاه داده ها) امکان پذیر می ساخت. با این همه، قیمت بالای حافظه و تراشه های جانبی از متداول شدن و همه گیر شدن استفاده از این ریزپردازنده، جلوگیری می کرد.
شرکت IBM برای کاهش قیمت سیستمها، قراردادی با شرکت اینتل بست تا جانشینی برای 8086 بسازد و شرکت اینتل تراشه 8088 را ساخت. نخستین کامپیوترهای شخصی IBM هم در سال 1981 با همین تراشه 8088 معرفی شد. خصوصیات آنها امروزه برای ما خنده دار است: 16 کیلو بایت حافظه و نمایشگر تک رنگ (سبز رنگ) . 8088 از نظر ثبات ها و پردازش های داخلی مثل 8086 بود ولی از نظر گذرگاه خارجی داده ها به صورت 8 بیتی عمل می کرد. با آن که چنین محدودیتی از کارائی و عملکرد ریزپردازنده می کاست ولی به صورت بسیار زیادی سازمان حافظه و تراشه های جانبی ان را ساده و کم خرج می کرد.
ریزپردازنده های 8086/8088 دارای گذرگاه حافظه 20 بیتی هستند. این گذرگاه به ریزپردازنده اجازه می دهد تا 2 به توان 20 محل حافظه را آدرس دهی کند. این مقدار برابر یک مگابایت یا 1،048،576 بایت حافظه است:
این پردازنده ها ابتدا با سرعت پالس های ساعت 4.77 مگاهرتز کار می کردند که اگر آن را با سرعت های امروزی مقایسه کنید بسیار آهسته و کند به نظر می آیند. سرعتي كه ریز پردازنده دارد نشانگر سرعت اجراي دستورالعمل هاست.کد:1MB= 1024 X 1024 = 1048576
تراشه های بعدی که از این ریزپردازنده ها ساخته شد با سرعت 8 مگاهرتز کار می کردند. کامپیوترهای XT نسل بعدی کامپیوترهای IBM بودند که تا سرعت های 8 و 10 و حتی 12 مگاهرتز ساخته شدند. با مقایسه قدرت کامپیوترهای امروزی ، شاید تصور این که کامپیوترهای با ریزپردازنده های 8086/8088 مفید باشند کمی دشوار به نظر می رسد ولی به هرحال در زمان خود کامپیوترهای قدرتمندی بودند.
پس 8088 همان ریزپردازنده 8086 است با این تفاوت که گذرگاه داده های آن در خارج از تراشه به جای آنکه 16 بیتی باشد، 8 بیتی است. این امر باعث می شد که بتوان از مدارهای خارجی و تراشه های جانبی ارزان قیمت 8 بیتی آن روز (که در بازار به وفور یافت می شد) بهره گرفت و در نتیجه محصولاتی ارازن قیمت تولید کرد.
نکته جالب در اینجا این است که شرکت اینتل هنوز هم چنین روشی را دارد، ابتدا یک تراشه قدرتمند و نسبتا گران به بازار عرضه می کند (تا رقبا را بهتر از صحنه خارج کند) و سپس ماه ها بعد تراشه ای از همان خانواده و با قدرت و قیمت کمتر تولید می کند و با این روش انحصار خود را در بازار ریزپردازنده ها مستحکم تر می نماید.
ارزان بودن مدارهای خارجی و تراشه های جانبی 8 بیتی دلیل اصلی شرکت IBM در انتخاب ریزپردازنده 8088 برای ساخت PC بود. ضمنا این انتخاب به شرکت IBM اجازه می داد تا مدعی ساخت کامپیوتری 16 بیتی (و لذا قدرتمند در زمان خود) باشد، زیرا 8088 در داخل بصورت 16 بیتی پردازش می کرد. در واقع کامپیوترهای PC باید رشد خود را مدیون این انتخاب بداند و موفقیت PC، موفقیت اینتل را هم تضمین کرد. جالب است که شرکت کامپک شهرت خود را به دلیل استفاده از ریزپردازنده 8086 (که قوی تر بود) در کامپیوترهای تولیدی خود به دست آورد.
منبع : میکرورایانه
باعرض سلام
دوست عزیز از مقاله خوبت ممنونم
امیدوارم موفق باشی :10:
یه پروژه درباره c p uمی خوام جون هرکی دوست دارید
نمیدونم منظورتون از پروژه برای cpu چیه دقیق.نقل قول:
اگه مقاله میخواید این هست مثلا:
http://erfan2000.persiangig.ir/Cpu.doc
اگه یه چیز عملی میخواید ، تعیین مقدار مشغولی cpu با دلفی هست.البته من اجراش نکردم.خودتون باید تست کنید.
کد:unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;
type
TForm1 = class(TForm)
Label1: TLabel;
procedure Label1Click(Sender: TObject);
procedure Label1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
stop : boolean;
implementation
{$R *.DFM}
function GetCPUSpeed: Double;
const
DelayTime = 500; // measure time in ms
var
TimerHi, TimerLo: DWORD;
PriorityClass, Priority: Integer;
begin
PriorityClass := GetPriorityClass(GetCurrentProcess);
Priority := GetThreadPriority(GetCurrentThread);
SetPriorityClass(GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority(GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
Sleep(10);
asm
dw 310Fh // rdtsc
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep(DelayTime);
asm
dw 310Fh // rdtsc
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;
SetThreadPriority(GetCurrentThread, Priority);
SetPriorityClass(GetCurrentProcess, PriorityClass);
Result := TimerLo / (1000.0 * DelayTime);
end;
procedure TForm1.Label1Click(Sender: TObject);
begin
Stop := False;
while not Stop do
begin
label1.Caption := Format('CPU speed: %f MHz', [GetCPUSpeed]);
Application.ProcessMessages;
end;
end;
procedure TForm1.Label1DblClick(Sender: TObject);
begin
Stop := True;
end;
end
دمت گرم یاد مدرسمون افتادمنقل قول:
مقاله ای میخواهم در مورد معرف دو نوع پردازشگر از خانواده اینتل با مقایسه دستورالعملهای آن