مقاله میکروپرسسور


در حال بارگذاری
23 اکتبر 2022
فایل ورد و پاورپوینت
2120
2 بازدید
۹۷,۷۰۰ تومان
خرید

توجه : به همراه فایل word این محصول فایل پاورپوینت (PowerPoint) و اسلاید های آن به صورت هدیه ارائه خواهد شد

  مقاله میکروپرسسور دارای ۳۲ صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد مقاله میکروپرسسور  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

توجه : در صورت  مشاهده  بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل ورد می باشد و در فایل اصلی مقاله میکروپرسسور،به هیچ وجه بهم ریختگی وجود ندارد


بخشی از متن مقاله میکروپرسسور :

میکروپرسسور

۸۰۸۰
فهرست:
مقدمه: معرفی میکروپرسسورهای ۸۰۸۰
۲-۱) سخت افزار ۸۰۸۰
۲-۲-۱) ساختمان داخلی ۸۰۸۰

۲-۲-۲)PIN CONFIGURATION المان۸۰۸۰
۲-۲-۳)ICهای جانبی ۸۰۸۰
۲-۲) ثباتهای میکروپرسسور ۸۰۸۰
۲-۳) دستورالعملهای ۸۰۸۰
۲-۳-۱) گروه انتقال داده
۲-۳-۲) گروه عملیات ریاضی

۲-۳-۳) گروه عملیات چرخش
۲-۳-۴) گروه عملیات منطقی
۲-۳-۵) گروه عملیات انشعابی

۶-۳-۲) گروه کنترلI/O و پشته
۲-۴) مثالهایی از برنامه ریزی میکروپرسسور

۲-۵) زمانبندی timing
۲-۵-۱) زمانبندی خواندن حافظه
۲-۵-۲) زمانبندی نوشتن حافظه
۲-۵-۳) زمانبندی وقفه ها

مقدمه: پس از آشنایی با کامپیوتر شریف با نمونه هایی از یک کامپیوتر عملی مانند Z80 , 8080 آشنا خواهید شد میکروپرسسور ۸۰۸۰ اینتل (intel) در دسامبر ۱۹۷۱ به بازار آمد هر چند این تراشه جدید نیست ولی با پرسسورهایی که بعد از آن به بازار آمدند مانند Z80 , 8085 از لحاظ نرم افزاری سازگار است. از اینرو آشنایی با عملکرد ۸۰۸۰، فراگیری عملکرد دو پروسسور دیگر را ساده می کند .
۴۰ , ۸۰۸۰-CPU پایه دارد لزوم داشتن سه منبع تغذیه(۱۲V,+5V,-5V) سیگنال ساعت دو فازه ناهمپوشان و آی سی های کمکی ۸۲۲۴ , ۸۲۲۸ بعلت محدودیت در تکنولوژی ساخت IC درآن زمان باعث شده تا بعدها CPU مهمتری با یک منبع تغذیه ۵V و با قابلیت بیشتری وارد با زار شود واکنون از ۸۰۸۰ کمتر برای ساخت مدارات استفا

ده می شود.در این فصل پس ازآشنایی با ساختار ظاهری و ساختمان داخلی ۸۰۸۰ با دستورالعملها و برنامه نویسی آن آشنا خواهید شد سپس برای درک سخت افزاری عملکرد کامپیوتر با زمانبندی (timing) آشنا می شوید.
۲-۱) مدولهای ۸۰۸۰ – CPU:
میکروپروسسور ۸۰۸۰ با دو آی سی جانب

ی در شکل (۱-۲) نشان داده شده است. ابتدا به صورت مختصر با عملکرد هر یک از پایه های ۸۰۸۰ آشنا می شوید.
A0-A15 (output): باس آدرس: باس آدرس، آدرس حافظه را فراهم می کند. که می توان ۲۱۶ مکان حافظه معادل ۶۴kکلمه ۸ بیتی را ب

ه عنوان آدرس روی آن قرار داد. همچنین با قرار دادن شماره دریچه I/O می توان تا ۲۵۶ دریچه را به عنوان وسیله دریچه خروجی یا دریچه ورودی مورد استفاده قرار داد.

شکل (۲-۱): ۸۰۸۰-CPU با آی سی های جانبی
:(input/output) D0-D7 باس داده: برای انتقال داده از CPU به حافظه و انتقال داده به I/O بصورت دوجهته مورد استفاده قرار می گیرد. همچنین در اولین سیکل ساعت (T-cycle) هر سیکل ماشین (machin-cycle) یک کلمه حالت را که سیکل ماشین در حال اجرای آن است , توصیف می کند.
: (output) SYNC سیگنال همزمانی: SYNC یک سیگنال است که CPU برای نشان دادن ابتدای سیکل ماشین جهت استفاده در ۸۲۲۴ تولید میکند.
(output) DBIN باس داده درحالت ورودی: این سیگنال نشان می دهد که باس داده در حالت ورودی است وبرای راه دادن داده از حافظه یا I/O از این سیگنال استفاده می‌شود.
: (input) READY این سیگنال به ۸۰۸۰ پیام

می دهد که داده معتبری برروی باس داده قرار گرفته است بعضا حافظه از CPU کندتر است و مدت زمانی طول می کشد تا داده اصلی روی باس داده قرار گیرد. تا وقتی سیگنال READY پایین باشد CPU در حالت انتظار است.
: (output) WAIT این سیگنال اعلام می کند که

CPU در حالت انتظار است.
: (output) WR این سیگنال برای نوشتن درحافظه یا کنترل I/O استفاده می شود. تا وقتی که WR پایین است داده روی باس داده پایدار می ماند.
: (input) HOLD این سیگنال از CPU می خواهد که وارد حالت HOLD شود در این حالت یک وسیله جانبی می تواند از باس آدرس و باس داده به عنوان باسهای کمکی خودش استفاده کند. وقتی که این سیگنال وارد CPU شود CPU پس از اجرای سیکل ماشین جاری در حالت HOLD قرار می گیرد.
: Hold Acknowledge (output) HLDA سیگنال فوق در پاسخ به سیگنال ورودی HOLD از CPU خارج می شود و نشان می دهد که پایه های CPU‌ وارد حالت امپدانس بالا شده اند.
: Interrupt Enable (output) INTE محتویات فیلیپ فلاپ وقفه را نشان می دهد. اگر این فیلیپ فلاپ در حالت reset قرار گیرد در این صورت CPU، وقفه را نمی پذیرد این فیلیپ فلاپ در سیکل اول احضار دستور هنگامی که وقفه پذیرفته شده است یا هنگامی که سیگنال Reset، CPU فعال شده باشد reset می شود.
: Interrupt request (input) INT CPU با این سیگنال در انتهای دستورالعمل جاری یا هنگام HALT بودن تقاضای وقفه را تشخیص می دهد.
: RESET با آمدن سیگنال reset محتویات شمارنده برنامه (PC) پاک می شود برنامه از محل صفر حافظه شروع می شود و فیلیپ فلاپهای HALT , INET نیز reset می شود. ولی محتویات انباره پرچمها شمارنده پشته و رجیسترها عوض نمی شود.
:VSSزمین
:VDDتغذیه +۱۲V

:VCCتغذیه +۵V
:VBBتغذیه-۵v
فازهای ساعت خارجی که بصورت ناهمپوشان هستند.
با نحوه زمانبندی و عملکرد در بخشهای بعدی آشنا می شوید
. D0 (INTA). : سیگنال تایید وقفه است.
D1 (نماد WO): نشان می دهد که سیکل ماشین جاری درحال اجرای دستور خروجی یا نوشتن درحافظه است که در این صورت WO=0 است یا اینکه درحال خواندن حافظه است که دراین صورت WO = 1 می باشد.
D2 (STACK): نشان می دهد باس آدرس، آدرس پشته را در بر دارد.
D3 (HLTA): سیگنال تایید HALT است.
D4 (OUT): نشان می دهد که باس داده آدرس یک وسیله خروجی را در بر دارد.
D5 (M): نشان می دهد که CPU در حال احضار اولین بایت یک دستور است.
D6 (INP): نشان می دهد که باس آدرس، آدرس

یک وسیله ورودی را در بر دارد.
D7 (MEMR): نشان می دهد که باس داده برای خواندن داده از حافظه است.
جدول (۲-۱): ۱۰ کلمه حالت ۸۰۸۰

دو آی سی پشتیبان ۸۰۸۰ توسط اینتل ساخته شده است. ۸۲۲۸ کنترل کننده سیستم است و ۸۲۲۴ که مولد ساعت است. این آی سی سیگنال دو فازه ساعت را تولید می کند آی سی ابتدا فرکانس کریستال را بر ۹ تقسیم می کند و از روی آن شکل موج را می سازد معمولاً کریستال ۱۸MHz است بنابراین سیگنال ساعت ۲ MHz خواهد بود.
به عنوان تمرین می توانید مداری طرح کنید با داشتن سیگنال کریستال دو شکل موج ناهمپوشان را ایجاد کند. برای فهم بهتر ساختمان پرسسور شکل (۲-۲) ساختار استاندارد ۸۰۸۰ با
آی سی های پشتیبان را نشان داده است.

شکل (۲-۲): ساختار بلوکی ۸۰۸۰ با آی سی های پشتیبان
۲-۲) ثباتهای میکروپرسسور ۸۰۸۰:

ساختمان داخلی ۸۰۸۰ در شکل (۲-۳) نشان داده شده است ۸۰۸۰ شامل شش ثبات ۱۶ بیتی است سه تا از آنها بصورت عمومی استفاده می شوند(H,L) , (D,E) , (B,C) است این ثبات ها می‌توانند به صورت ۸ بیتی یعنی H , E , D , C , B جداگانه استفاده شوند ثبات (program counter) PC آدرس محلی از حافظه که دستورالعمل جاری از آنجا اجرا می شود را در بر دارد. این ثبات ۱۶ بیتی است.
ثبات انباره یک ثبات ۸ بیتی است بیشتر دستورالعملهای برنامه دستورالعملهای حس

ابی و منطقی دادن و گرفتن داده از وسیله های I/O و انتقال از مکانی از حافظه به مکان دیگر با کمک این ثبات انجام می شود

شکل (۲-۳): بلوک دیاگرام ۸۰۸۰
ثبات پرچم شامل پنج پرچم و ضعیت است که هنگام اجرای دستورات این پرچمها تغییر می‌کند.
عملکرد هر پرچم به عبارت زیر است.
: Zero–۱ اگر حاصل یک دستورالعمل صفرشود. بیت فوق ۱ می شود در غیر این صورت صفر است.
: Sign –۲ بیت علامت که پرارزشترین بیت داده است ۱ بودن آن به معنی منفی بودن عدد است.
Parity–۳ (بیت توازن): اگر تعداد بیتهای یک حاصل از دستورالعمل زوج باشد این پرچم ۱ می‌شود مگرنه مقدارش صفر است.
Carry–۴ (بیت نقلی): اگر در موقع جمع یا تفریق دو عدد یک بیت نقلی یا بیت قرض (Borrow) ایجاد شود این پرچم ۱ می شود مگرنه در حالت صفر می ماند.
: Auxiliary Carry –۵ اگر در یک جمع یک رقم نقلی از بیت ۳ به بیت ۹ برود پرچم فوق ۱ می‌شود مگرنه مقدارش صفر است.

به ثبات های انباره و پرچم با هم ثبات کلمه حالت پرسسور (PSW) می گویند که یک ثبات ۱۶ بیتی است. در شکل (۴-۲): مکان هر پرچم روی ثبات پرچم (Flag) مشخص شده است
CY 1 P 0 AC 0 Z S

شکل (۴-۲): محل پرچمهای روی ثبات F
Stack Pointer (اشاره گر پشته): هنگام صدا زدن یک زیر برنامه (subroutin) در طول اجرای برنامه اصلی و یا برای نوشتن برنامه های خاصی از این ثبات استفاده می شود. که در بخشهای بعدی توضیح داده خواهد شد.
۲-۳) دستور العملهای ۸۰۸۰:
در ۸۰۸۰ هفت نوع دستورالعمل وجود دارد که در هر قسمت جداگانه به آنها می پردازیم.
۲-۳-۱) گروه انتقال داده:
این گروه از دستورالعملها داده را از ثبات به ثبات یا از حافظه به ثبات یا از ثبات به حافظه انتقال می دهد. بیشتر دستورات این گروه با دستور MOV است.
نکته: این دستورات تاثیری در وضعیت پرچمها ندارد.
در این قسمت چند دستورالعمل اصلی را به عنوان مثال مطرح می کنیم با درک دقیق این مثالها قادر خواهید بود عملکرد هر یک از دستورات که بعدها بصورت فشرده در جدول دراختیار شما قرار می گیرد را متوجه شوید.
MOV R1 , R2: انتقال از ثبات به ثبات دیگر.
: op code 01 DDD SSS زمان اجرا ۵ سیکل ساعت.
نکته: تمام دستورات داده ساختار مقابل را دارند مبداء , مقصد : انتقال
: MVI R,DATA انتقال فوری داده مشخص به داخل ثبات.
Opcode 00DDD110 : (مکان N حافظه)

زمان اجرا : ۷ سیکل ساعت.
: MOV R,M انتقال از حافظه به ثبات، آدرسی که ثبات های HL به آن اشاره می کنند و داده M را در بر دارد را بهR انتقا ل می دهد.
Opcode : 01 DDD 110 زمان اجرا: ۷ سیکل ساعت.

نکته: در هر دستورالعمل که M مشاهده کردید منظور داده آدرسی از حافظه است که HL به آن اشاره می کند.
: MVI M,(DE) این دستور محتوای آدرسی را که DE به آن اشاره میکند در M یعنی آدرسی که HL به آن اشاره میکند قرار می دهد.
Opcode : 00110110=36 H
Data : 11011110=DEH
: LXI RP,DATA داده ۱۶ بیتی در ثبات کمکی (مثلاً ثبات BC) قرار می دهد.
Opcode : 00RP0001
Data(LSB):XXXXXXXX
Data(HSB):YYYYYYYY
زمان اجرا : ۱۰ سیکل ساعت.
نکته : در موقع اجرای دستورات دقت کنید که برای دادن آدرس مشخص از حافظه به یک ثبات ابتدا هشت بیت سمت راست آن و سپس هشت بیت سمت چپ آن را به عنوان دستورالعمل وارد کنید.
: LDA ADDR محتوای مکانی از حافظه که در دستورالعمل آمده و در انباره قرار می دهد.
Opcode: 00RP0001
Data (LSB):XXXXXXXX
Data(HSB): YYYYYYYY
زمان اجرا: ۱۰ سیکل ساعت.
نکته: در موقع اجرای دستورات دقت کنید که برای دادن آدرس مشخص از حافظه به یک ثبات ابتدا هشت بیت سمت راست آن و سپس هشت بیت سمت آن را آن به عنوان دستورالعمل وارد کنید.
LDA ADDR : محتوای مکانی از حافظه که در دستورالعمل آمده در انباره قرار می دهد.
Opcode : 00111010
Data (LSB): XXXXXXX

Data(MSB):YYYYYYYY
زمان اجرا: ۱۳ سیکل ساعت
:STA ADDR محتوای انباره را در مکانی از حافظه که در دستورالعمل آمده قرار می دهد.
Opcode : 00110010
Data (LSB): XXXXXXXX

Data(MSB): YYYYYYYY
: XCHG پس از اجرای این دستور محتوای آدرسهایی از حافظه که DE , HL به آن اشاره می‌کردند با هم عوض می شود.
Opcode : 11101011
۲-۳-۲) گروه دستورالعملهای ریاضی:
این گروه تمام دستورالعملهای مانند جمع وتفریق و افزایش و کاهش را شامل می شود این دستورالعملها می تواند بصورت ۸ بیتی یا ۱۶ بیتی باشد البته تذکر این نکته لازم است که بقیه اعمال ریاضی مثل ضرب و تقسیم یا جمع ۳۲ بیتی و غیره را می توان با کمک نرم افزار و استفاده از این دستورالعملها ایجاد کرد همچنین این دستورالعملها تاثیر برروی وضعیت پرچمها دارند که این تاثیر در برنامه نویسی باید در نظر گرفته شود.
در این قسمت هم مانند قسمت قبل چند دستورالعمل اصلی معرفی می شود تا کار با جدول دستورات ساده شود.
ADD R: محتوای ثبات R را با انباره جمع می کند و حاصل را در انباره قرار می دهد پرچمهای
Z , S , P , CY , AC پس از اجرای این عمل ممکن است تغییر کنند.
Opcode : 10000 SSS
زمان اجرا: ۴ سیکل ساعت است.
: ADC R محتوای R را با بیت نقلی (carry) جمع می کند حاصل را در انباره قرار می دهد.
Opcode: 11001110
زمان اجرا: ۷ سیکل ساعت.
: SUB R محتوای ثبات R را از انباره کم می کند و حاصل در انباره قرار می دهد.
Opcode : 10010 SSS
زمان اجرای: ۴ سیکل ساعت.
: SBB R جمع ثباتهای دوتایی: مقدار ۱۶ بیت RP را با ۱۶ بیت HL جمع کرده و حاصل را در HL قرار می دهد.
Opcode: 00 RP 1001
زمان اجرا: ۱۰ سیکل ساعت.
(۲-۳-۳) دستورالعملهای چرخش:
با کمک این دستور العملها می توان شیفت به سمت راست یا چپ در ارقام یک عدد ایجاد کرد شیفت دادن و یا کم کردن زیاد کردن یک عدد به اندازه یک واحد کاربرد زیادی در برنامه نویسی دارد.
نکته: پرچم وضعیت نقلی (carry) در این دستور العملها تحت

تاثیر قرار می گیرد.
: RLC محتوای انباره را ۱ بیت به سمت چپ شیفت می دهد. پس از اجرای دستور با ارزشترین بیت در داخل carry قرار می گیرد.
Opcode : 00000111

زمان اجرا: ۴ سیکل ساعت.
: RAL محتوای انباره و carry را مانند یک عدد ۹ بیتی یک بیت به چپ شیفت می دهد بطوری که carry به بیت LSB انباره منتقل می شود.
Opcode : 00010111
زمان اجرا: ۴ سیکل ساعت.
دستور RRC مشابه RLC ولی شیفت به راست و RAR مشابه RAL و برای شیفت به راست مورد استفاده قرا می گیرند.
: INR R به محتوای ثبات R یک واحد اضافه می کند.
Opcode : 00DDD100
زمان اجرا: ۵ سیکل ساعت.
: INX RP به محتوای ثبات ۱۶ بیتی RP یک واحد اضافه می کند.
Opcode : 00RP0011
زمان اجرا: ۵ سیکل ساعت.
: INR M به محتوای مکانی از حافظه که آدرس آن در HL است یک واحد اضافه می کند.
Opcode : 00110100
زمان اجرا: ۱۰ سیکل ساعت.
دستورات DCX RP , DCR M , DCR R مشابه دستور فوق است و برای کم کردن به اندازه یک واحد استفاده می شود.

نکته: این دستورات موقع اجرا تاثیری بر بیت نقلی Carry ندارند.
دستورات CMC , CMA برای مکمل کردن انباره و بیت نقلی استفاده می شود.
: DAA انطبات دهدهی انباره: ۸ بیت انباره به ۲، عدد ۴ , BCD بیتی تبدیل می کند.
۲-۳-۴) گروه دستورالعملهای منطقی
این گروه شامل عملگرهای منطقی است و برای مقایسه دو عدد یا تشخیص ۱ بودن بعضی از بیتها بکار می رود.

: ANA R محتویات R را انباره را با هم AND کرده و حاصل را در انباره قرار می دهد.
Opcode : 10100 SSS
زمان اجرا: ۴ سیکل ساعت.
دستورات ORA M, DRA R, XR1 Data, XAR M, XAR R, ANI Data, ANA M
ORI Dataهر کدام عملکرد منطقی دارند که بسادگی عملکرد هر یک قابل حدس زدن است.
: CMP R محتوای A , R را مقایسه می کند. اگر A>R سپس پرچم نقلی (Carry) Set می شود اگر R>A پرچم نقلی reset می شود اگر A=R باشد پرچم Zero روشن می شود.
Opcode : 10111 SSS

  راهنمای خرید:
  • در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.