close
دانلود فیلم
زبان
دانلود کتاب سیری در آواشناسی انگلیسی - فونتیک
توضیحات

در این کتاب ویژگی های آواهای زبان همراه با شاخصه های زنجیره ای و زبرزنجیری زبان به دو زبان انگلیسی و فارسی مورد بررسی قرار گرفته اند.

الفبای آوایی نخستین بار توسط موسسه آواشناسی بین المللی در سال 1888 معرفی شد. جدول ھای معرفی شده در این کتاب با پیروی از اصول چارت بین المللی این موسسه و با پیوست ستون آواھای چاکنایی در مجاورت ستون آواھای ھمخوان تدوین شده اند.

  • نویسنده: محمد آذروش
  • موضوع: آموزش زبان
  • تعداد صفحات: ۴۵
  • فرمت: کتاب PDF
  • زبان: فارسی
ادامه مطلب...
کتاب الکترونیکی Bioinformatics نوشته Andrzej Polanski

ین کتاب به زبان انگلیسی درباره Bioinformatics نوشته Andrzej Polanski · Marek Kimmel  است.

کتاب فوق در کلاس زبان تخصصی استاد مهدی علیرضا مورد تدریس قرار گرفته است.

مشخصات کتاب

عنوان : Bioinformatics

نویسنده :

Andrzej Polanski  و  Marek Kimmel

زبان کتاب : انگلیسی

تعداد صفحات : ۳۸۶ صفحه

فرمت کتاب : PDF

حجم کتاب :  ۷.۹۸ MB

حجم فایل فشرده آماده دریافت :  ۵.۶۶ MB

ادامه مطلب...

همانطور که می دانید ، زبان تخصصی ، جزء دروس اصلی رشته مهندسی نرم افزار می باشد. کتاب Fundamental Concepts Of Computing (مفاهیم اساسی محاسبات) می تواند بعنوان مرجعی برای این درس بکار رود. شما می توانید این کتاب را با لینک مستقیم ، از وب سایت دانشجوی ایرانی ، دریافت نمایید.

 

عنوان کتاب : Fundamental Concepts Of Computing

ساختار فایل : PDF

زبان کتاب : انگلیسی

تعداد صفحات : ۹۴

حجم فایل : ۱.۲ مگابایت

ادامه مطلب...

این جزوه متعلق به آقای مهندس کریمی می باشد و در دانشگاه آزاد اسلامی واحد تهران شمال تدریس شده است.

عنوان جزوه : زبان ماشین و برنامه سازی سیستم

مدرّس : مهندس کریمی

کیفیت جزوه : تایپ شده

تعداد صفحات : ۵۶

ساختار فایل : PDF

حجم فایل : ۲.۳ مگابایت

 

مطالب موجود در این جزوه :

آشنایی با سخت افزار و ویژگیهای آن
قطعات سخت افزاری یک سیستم کامپیوتری
پردازنده
حافظه اصلی
Rom
حافظه جانبی
تجهیزات ورودی و خروجی
سایر تجهیزات
مفهوم ۰ و ۱ در سیستم کامپیوتری
نحوه تبدیل دستورات به ۰ و ۱
اساس کار یک CPU
آشنایی با گذرگاه ها
شمای کلی پردازنده ۸۰۸۶
مفهوم خط لوله
مشخصات تکنیکی پردازنده های اینتل
مبناهای عددی
اعداد صحیح
اعداد صحیح بدون علامت
اعداد صحیح علامتدار
مزایای مکمل ۲
ممیز ثابت
ممیز شناور
نمایش اعداد به صورت PCB
مفهوم ثبات
مفهوم پردازنده های N بیتی
ساختار کلی برنامه ها در زبان اسمبلی
یک برنامه نمونه با زبان اسمبلی
دستور div و mul
دستور مقایسه و پرش
مفهوم آدرس ها در زبان اسمبلی
آدرس های نسبی، مطلق و واقعی
روشهای آدرس دهی
وقفه ها در اسمبلی
مفهوم پشته
زیربرنامه ها و ماکروها در اسمبلی
ادامه مطلب...

زبان اسمبلی

هدف اين درس درک عميق تر نحوه کار کامپيوتر در سطح پايين و در نتيجه توليد نرم افزارهای کارآمدتر در سطوح بالا می باشد. يادگيری زبان اسمبلی به آشنائی بيشتر با طريقه کارکردن سخت افزار، برنامه ها و سيستم عامل با يکديگر کمک می کند.
در اين درس استفاده از دستورات اسمبلي و نوشتن برنامه هاي ساده اسمبلي را فراخواهيد گرفت.


 

مقدمه

زبان اسمبلی قديمی ترين زبان برنامه نويسی سطح پايين بعد از زبان ماشين است که ساختار و عملکردی وابسته به ماشين دارد و وسيله خوبی برای يادگيری نحوه کار کامپيوتر، سيستم عامل، کامپايلرها و زبان های سطح بالا است .

 

مقایسه زبان اسمبلی و زبان های سطح بالا

زبان ماشین و زبان اسمبلی

اسمبلر چیست؟

هدف از یادگیری زبان اسمبلی


 

 سیستم های عددی

محاسبات کامپيوتري در مبناي دو انجام مي شود. به طور معمول از سيستم عددي هگزادسيمال براي نمايش اعداد باينري استفاده مي شود.

جدول توان های 2

تبدیل باینری به اعشاری

جمع اعداد باينری

هگزا دسیمال و تبدیلات آن

جمع اعداد در هگزا دسیمال


 

نمایش داده ها

اکثر ساختمان های داده انتزاعی هستند که توسط برنامه نويس با مجموعه ای از دستورالعمل ها تعريف می شوند. نوع های داده پايه (نظير اعداد باينری صحيح يا مميز شناور، رشته های بيتی، کاراکترها و غيره ) مستقيما در سخت افزار همراه با مجموعه ای از دستورالعمل طراحی می شوند. يک برنامه نويس زبان اسمبلی بايد بداند چگونه سخت افزار اين انواع داده های اصلی را پياده سازی می کند.

نمايش اعداد صحيح - روش علامت مقدار

روش نمايش مکمل2

جدول تعداد بيت ها و محدوده مقادير ممکن داده های عددی صحيح علامت دار به روش مکمل2

محاسبات در مکمل2

کاهش و افزايش طول داده


 

ساختمان کامپیوتر

يک سيستم کامپيوتری ترکيب کاملي از سخت افزار و نرم افزارهای سيستمی است که باعث می شود ماشين مفيد و وظيفه مندي برای کار معينی بشود.

اجزای اصلی سخت افزار يک ريز کامپيوتر شامل:

• پردازنده مرکزی
• حافظه
• صفحه کليد به عنوان ورودی
• صفحه نمايش به عنوان خروجی
• يک يا چند ديسک درايو برای ذخيره برنامه ها و داده ها

حافظه

پردازنده و انواع آن


پردازندهای اینتل

با توجه به اينکه دستورات اسمبلي 8086 در قسمت ها آينده بررسي مي شوند، در اين صفحه با نحوه آدرس دهي حافظه و ثبات هاي اين پردازنده آشنا خواهيد شد.

دیاگرام پردازنده های اینتل

آدرس دهی سگمنتی

مدهای اجرا

مجموعه ثبات ها

توضیحات ثبات ها


 

Debug

برنامه Debug محيطی برای بررسی فايل های مقصد دودوئی و اجرائی است. برنامه امکان انجام تغييرات جزئی در يک برنامه اجرائی را فراهم می کند بدون اينکه نياز به دوباره اسمبل کردن آن باشد.

برنامه Debug

دستورات Debug


 

دستورات اسمبلی

يک برنامه پيچيده از کنار هم قرار دادن دستورات ساده اسمبلی شکل می گيرد. هنگام شروع برنامه نويسی به زبان اسمبلی نيازی به يادگيری کليه دستورات نيست، بنابراين برخی از پرکاربردترين دستورات 80x86 در ادامه شرح داده خواهند شد. دستورات به صورت زير گروه بندی شده اند.

دستورات انتقال داده

دستورات گسترش داده

دستورات جمع و تفريق

دستورات ضرب و تقسيم

دستورات منطقی

ساختارهای حلقه تکرار

زيربرنامه

وقفه ها

پشته

دستورات کنترل CPU


 

برنامه نویسی

در اين بخش ساختار کلی يک برنامه به زبان اسمبلی توضيح داده می شود. به نحوه تعريف متغيرها و ثابت ها، استفاده از راهنماهای اسمبلر و اسمبل کردن و اجرای برنامه نيز اشاره شده است.

مدل حافظه

راهنماهای سگمنت

ثابت ها و متغيرها

برنامه اصلی

اسمبل و اجرای برنامه


 

ماکرو

ماکرو مجموعه ای از دستورات است که مشابه زيربرنامه يکبار نوشته می شود و چندين بار استفاده می شود.

ماکرو (macro) نام مخففی برای مجموعه ای از دستورالعمل ها، راهنماها يا ماکروهای ديگر است که يکبار نوشته می شود و به هر تعداد دفعات لازم قابل استفاده است.

اسمبلر هنگام ترجمه برنامه در مواجهه با نام ماکرو دستورات معادل را قرار می دهد.

ماکرو

تعريف ماکرو

کتابخانه ماکرو


 

پشته

پشته يک ليست LIFO است که می تواند به عنوان محلی مناسب برای ذخيره داده های موقتی استفاده شود. پشته برای فراخوانی زيربرنامه ها، ارسال پارامترها و متغيرهای محلی هم به کار می رود. دستورات ابتدائی پشته push و pop هستند.

پشته

تعريف پشته در برنامه

دستورات push و pop

ثبات SP


 

زیر برنامه

زير برنامه (procedure) مجموعه ای از دستورات است که يکبار تعريف و به دفعات استفاده می شود. با بکارگيری زيربرنامه خوانائی برنامه بالاتر رفته و از تکرار دستورات مشابه جلوگيری می شود. علاوه براين اشکال زدائی و تغيير برنامه آسان تر انجام گيرد.

وقتی يک زيربرنامه فراخوانی می شود کنترل اجرای برنامه به زيربرنامه هدايت می شود. آدرس دستورالعمل بعدی در پشته ذخيره می شود بنابراين هنگامی که زيربرنامه اجرا شد کنترل اجرا قادر خواهد بود به خط بعد از فراخوانی زيربرنامه بر می گردد.

زيربرنامه

زيربرنامه های near و far

دستورات فراخوانی و بازگشت زيربرنامه

ارسال و دريافت پارمترها


 

وقفه ها

گاهی اوقات جريان عادی اجرای يک برنامه برای پردازش رويدادی که نياز به پاسخ سريع دارد متوقف می شود. سخت افزار کامپيوتر برای مديريت اين رويدادها مکانيسمی به نام وقفه (interrupt) را دارد.

مثال. وقتی mouse حرکت می کند، سخت افزار mouse برنامه جاری را متوقف می کند تا حرکت mouse گرفته شود( برای حرکت مکان نمای mouse روی صفحه نمايش).

وقتی CPU يک سيگنال وقفه را تشخيص می دهد، فعاليت جاری خود را متوقف می کند و روتين خاصی را فراخوانی می کند که روتين وقفه (interrupt handler) نام دارد. اين روتين علت وقوع وقفه را تشخيص می دهد و عکس العمل مناسب را انجام می دهد.

بيشتر روتين های وقفه بعد از پايان يافتن کنترل اجرا را به برنامه متوقف شده بازمی گردانند. آنها کليه مقادير ثبات ها را به وضعيت قبل از توليد وقفه بر می گردانند. بنابراين برنامه متوقف شده به گونه ای به اجرا ادامه می دهد که هيچ اتفاقی نيافتاده است به جز اين که سيکل های CPU را از دست می دهند.

وقتی دو يا چند وقفه همزمان با هم اتفاق می افتند، CPU از سيستم الويت استفاده می کند و می تواند در طی اجرای بخش بحرانی يک برنامه وقفه ها را غيرفعال کند. وقتی دارد يک روتين وقفه را اجرا می کند کليه وقفه های با الويت کمتر يا، تا زمان خاتمه اجرای روتين، غير فعال هستند.

انواع وقفه

دستورالعمل int

جدول بردار وقفه


 

پورت ها

درحال آماه سازی


 

دستورات ۸۰۸۶

درحال آماه سازی


 

 

 

با نظرات خود ما را یاری کنید

 

برای افزايش اندازه يک مقدار به کلمه يا کلمه مضاعف، با حفظ علامت، از دستورات گسترش استفاده می شود. دستورات گسترش بيت علامت ثبات انباشتگر(AL/AX) را بسط می دهند.

CBW
CWD


در بعضی از محاسبات خصوصا تقسيم و ضرب نياز به افزايش اندازه داده از يک بايت به يک کلمه يا از يک کلمه به يک کلمه مضاعف است. اعداد بدون علامت با اضافه کردن صفر در سمت چپ به سادگی گسترش می يابند. ولی برای افزايش طول يک عدد علامتدار بايد بيت علامت در سمت چپ عدد تکرار شود. دستورات تبديل بيت علامت بسط می دهند.


CBW

دستور (convert byte to word) cbw محتوای بيت شماره هفت ثبات AL را در AX بسط می دهد. يعنی بيت شماره هفت ثبات AL را در کليه بيت های ثبات AH کپی می کند. درنتيجه مقدار رياضی بايت AL به يک کلمهAX گسترش پيدا می کند.

دستور هيچ عملوندی ندارد:

cbw

دستور cbw روی هيچيک از فلگ ها تاثير ندارد.

دستور cbw در محاسبه تقسيم يک بايتی کاربرد دارد.


CWD

دستور (convert word to double word) cwd محتوای بيت شماره پانزده ثبات AX را در کليه بيت های ثبات DX کپی می کند. درنتيجه مقدار رياضی AX به يک کلمه مضاعف در DX:AX گسترش پيدا می کند.

دستور هيچ عملوندی ندارد:

cwd

دستور cbw روی هيچيک از فلگ ها تاثير ندارد.

دستور cbw در عمليات تقسيم دوبايتی نقش بازی می کند.


مثال. برای گسترش مقدار 8 بيتی AL به يک مقدار 32 بيتی در DX:AX دو دستور پشت سر هم نوشته می شوند.

mov AL,85h
cbw
cwd

چون بيت علامت عدد 85h يک است تبديل به عدد FFFFFF85h می شود که 16بيت پايين آن در ثبات AX و 16بيت بالای آن در ثبات DX قرار می گيرد. يعنی AX=FF85h و DX=FFFFh می شود.

ثبات های همه منظوره

CPU اوليه 8086 با چهار ثبات همه منظوره طراحی شد که در دستورات محاسباتی و ورودی/خروجی استفاده می شوند. هرکدام از اين ثبات ها يک يا چند وظيفه خاص هم دارند.

ثبات های همه منظوره می توانند به صورت 8 يا 16 بيتی استفاده شوند.هر کدام از آنها از دو بايت تشکيل شده اند؛ بايت سمت چپ را Low Order و سمت راست را High Order می نامند.

AXAccumulator Registerهمه منظوره ترين ثبات است و معمولا برای هر کاری از جمله عمليات ورودی/خروجی،رشته ای و محاسباتی به کار می رود از دو جزء AL و. AH تشکيل شده است
BXBase Registerتنها ثباتی که می تواند بعنوان ايندکس در آدرس دهی مورد استفاده قرار می گيرد. شامل دو قسمت BL و BH است
CXCount Registerبعنوان شمارنده در کنترل تعداد دفعات تکرار در دستور حلقه استفاده می شود. دارای دو قسمت CL و CH است
DXData Registerدر اعمال ورودی/خروجی و عمليات ضرب و تقسيم استفاده می شود. دارای دو بخش DL و DH است

ثبات های سگمنت

برای آدرس دهی به هر يک از اين سگمنت های برنامه يک ثبات وجود دارد که مشخص می کند کدام بخش حافظه برای قسمت های مختلف برنامه به کار رفته است.

CSCode Segmentشامل آدرس شروع سگمنت کد، که به CPU می فهماند دستورالعمل های برنامه در کجا قرار دارند
DSData Segmentشامل آدرس شروع سگمنت داده که به پردازنده می فهماند داده ها و فضای کاری در کجا قرار دارد
SSStack Segmentآدرس شروع سگمنت پشته را در خود ذخيره می کند
ESExtra Segmentآدرس شروع سگمنت اضافی، سگمنت داده دوم

ثبات های ايندکس

دو ثبات 16 بيتی ايندکس وجود دارد که اغلب به عنوان اشاره گر به همراه DS به کار می روند تا به داده های موجود در سگمنت داده دسترسی شود. اما می توانند به همان منظورهای ديگر، مانند ثبات های همه منظوره، هم استفاده شود؛ گرچه نمی توانند به دو بخش 8 بيتی تجزيه شوند.

SISource Indexبرای آدرس دهی و در عمليات رشته ای بعنوان مبدا استفاه می شود
DIDestination Indexبرای آدرس دهی و در عمليات رشته ای بعنوان مقصد استفاه می شود

ثبات های اشاره گر

ثبات های اشاره گر نگهدارنده بخش آفست در آدرس دهی هستند و همراه با يکی از ثبات های سگمنت به محلی از حافظه اشاره دارند. طبق پيش فرض ثبات های همه منظوره و ايندکس همراه با DS و ثبات های پشته همراه با SS و IP همراه با CS استفاده می شوند.

IPInstruction Pointerهمراه با ثبات CS به دستورالعمل بعدی که بايد توسط CPU اجرا شود اشاره می کند
SPStack Pointerآفست مکانی از سگمنت پشته که عمل قرار گرفتن داده در پشته صورت می گيرد. به عبارت ديگرSS:SP به بالای پشته اشاره دارد
BPBase Pointerبرای دسترسی به متغيرهای محلی که در پشته قرار دارند استفاده می شود

ثبات FLAGS

فلگ ها اطلاعاتی درباره نتايج اجرای دستورالعمل قبلی را نگه می دارند. اين نتايج به صورت بيت های مجزا در ثبات وضعيت FLAGS ذخيره می شوند. 9 بيت از 16 بيت اين ثبات برای تعيين وضعيت فعلی ماشين و نتيجه اجرای دستورالعمل به کار می روند. هر کدام از اين بيت ها هم فلگ ناميده می شوند زيرا می توانند 1 (Set) يا 0 (Not Set) باشند. بسياری از دستورالعمل ها وضعيت اين بيت ها را تغيير می دهند. گرچه کليه دستورات روی فلگ تاثير نمی گذارند.
اين ثبات فاقد آدرس است و به طور مستقيم توسط برنامه نويس قابل دسترس نمی باشد.

Flags
CFCarry Flagمحتوی رقم نقلی بوجود آمده از باارزش ترين بيت در عمليات محاسباتی يا چرخش
PFParity Flagبرای کنترل صحت انتقال داده. اگر صفر باشد تعداد بيتهای انتقالی فرد است و اگر يک باشد زوج است
AFAuxiliary Carryمحتوی رقم نقلی از بيت سوم به چهارم در يک بايت است. در عمليات BCD کاربرد دارد
ZFZero Flagاگر نتيجه عمليات محاسباتی صفر باشد اين بيت 1 است در غير اينصورت صفر است
SFSign Flagدر صورت منفی بودن نتيجه عمليات اين بيت 1 است در غير اينصورت صفز است
TFTrap Flagبرای اجرای دستورالعمل به صورت دستور به دستور اين بيت بايد 1 باشد
IFInterrupt Flagاگر 1 باشد وقفه فعال است و اگر صفر باشد وقفه غير فعال است يعنی سيستم وقوع وقفه را ناديده می گيرد
DFDirection Flagاگر 1 باشد عمل مقايسه يا انتقال داده از سمت راست به چپ صورت می گيرد در غير اينصورت از چپ به راست
OFOverflow Flagاگر در باارزش ترين بيت سرريزی وجود داشته باشد اين بيت يک می شود. (توضيحات بيشتر در محاسبات مکمل 2 داده شده است)

دیود چیست ؟
از اتصال دولایه p & n دیود درست می شود
1- بعد از پیوند نیمه هادی نوع p & n کنار یکدیگر ، الکترونهای آزاد و حفره ها از محل پیوند عبور کرده ، با هم ترکیب می شوند و تشکیل یک لایه سد یا عایق می دهند .
2- یک منطقه تخلیه در محل پیوند ها ایجاد می شود که فاقد الکترونهای آزاد و حفره ها می باشد ، لکن اتمهایی که الکترون از دست داده و یا گرفته اند ، در دو طرف لایه سد و در منطقه تخلیه وجود دارند .
3- اتمهای یونیزه شده ، ایجاد سد پتانسیل می کنند که برای نیمه هادی ژرمانیومی حدود ۰.۲ ولت است و برای نیمه هادی سیلسیمی حدود ۰.۶ ولت است .
4- سد پتانسیل باعث که از حرکت و ترکیب بیشتر الکترونها و حفره ها در لایه سد جلوگیری به عمل آید .
5- کریستال نیمه هادی نوع p دارای بار الکتریکی مثبت و کریستال نیمه هادی n دارای بار الکتریکی منفی می باشد .
بایاس دیود
وصل کردن ولتاژ به دیود را بایاس کردن دیود می گویند .
بایاس مستقیم
اگرنیمه هادی نوع p به قطب مثبت باتری و نیمه هادی نوع n به قطب منفی آن وصل شود و ولتاژ از پتانسیل سد دیود بیشترباشد ، در مدار جریان بر قرار خواهد شد .

بایاس معکوس
اگر قطب مثبت باتری به نیمه هادی نوع n وصل شود و قطب منفی باتری به نیمه هادی نوع p وصل شود ، جریانی در مدار نخواهیم داشت .

تست دیود
همانطور که گفته شد اگر دوید در بایاس موافق یا معکوس قرار بگیرد جریان را از خود عبور می دهد و ما می توانیم دیود را با یک مدار ساده سری کنیم ( البته با رعایت قطبهای دیود و باتری ) اگر مدار شروع به کار کرد پس دیود سالم است و در غیر این صورت دیود سوخته شده است .

انواع دیود ها
1- دیود اتصال نقطه ای
2- دیود زنر
3- دیود نور دهنده LED
4- دیود خازنی ( واراکتور )
5- فتو دیود

دیود اتصال نقطه ای
دیود های معمولی در بایاس معکوس ایجاد ظرفیت خازنی ( حدود PF ) می کنند . اگر بخواهیم در فرکانس های بالا به کار می بریم ، به علت ظرفیت خازنی در بایاس معکوس ، جریان در مدار عبور می کند . چون در فرکانس های بالا مقاومت دیود کم می شود . برای جلوگیری از این کار از دیود اتصال نقطه ای استفاده می کنیم

دیود زنر
دیود زنر ، مانند یک دیود معمولی از دو نیمه هادی نوع P & N ساخته می شود . اگر یه دیود معمولی را در بایاس معکوس اتصال دهیم و ولتاژ معکوس را زیاد کنیم ، در یک ولتاژ خاص ، دیود در بایاس معکوس نیز شروع به هدایت می کند . ولتاژی که دیود در بایاس مخالف ، شروع به هدایت می کند ، به ولتاژ زنر معروف است و با تنظیم نا خالصی می توان ولتاژ شکسته شدن پیوند ها را کنترل کرد
ولتاژ زنر : ولتاژی که دیود زنر به ازای آن در بایاس معکوس ، هادی می شود به ولتاژ زنر معروف است .
دیود نوردهنده LED
این دوید از دو نوع نیمه هادی P & N تشکیل شده است . هر گاه این دیود ، در بایاس مستقیم ولتاژی قرار گیرد و شدت جریان به اندازه کافی باشد ، دیود ، از خود نور تولید می کند . نور تولید شده در محل اتصال دو نیمه هادی تشکیل می شود . نور تولیدی بستگی به جنس به کار برده شده در نیمه هادی دارد . این لامپ چند مزایا بر لامپ های معمولی دارد که عبارتند از :
1- کوچک بودن و نیاز به فضای کم
2- محکم بودن و داشتن عمر طولانی ( حدود صد هزار ساعت کار )
3- قطع و وصل سریع نور
4- تلفات حرارتی کم
5- ولتاژ کار کم ، بین ۱.۷ ولت تا 3.3 ولت
6- جریان کم حدود چند میلی آمپر با نور قابل رویت
7- توان کم ، حدود ۱۰ تا ۱۵۰ میلی وات

دیود خازنی ( وراکتور )
این دیود از دو نیمه هادی نوع P & N تشکیل می شود . دیود خازنی در واقع دیودی است که به جای خازن بکار می رود و مقدار ظرفیت آن با ولتاژ دو سر آن رابطه عکس دارد
فتو دیود
این دیود از دو نیمه هادی نوع P & N تشکیل می شود . با این تفاوت که محل پیوند P & N ، جهت تابانیدن نور به آن از مواد پلاستیکی سیاه پوشیده نمی باشد ، بلکه توسط شیشه و یا پلاستیک شفاف پوشیده می گردد تا نور بتواند با آسانی به آن بتابد . روی اکتر فتو دیود ها یک لنز بسیار کوچک نصب می شود تا بتواند نور تابانیده شده به آن را متمرکز کرده و به محل پیوند برساند .
 

حافظه

حافظه مکان ذخيره برنامه ها و داده ها با امکان دسترسی مجدد به آنها است. حافظه اصلی از ديد برنامه نويس از تعدادی بيت تشکيل شده است که قادر به نگهداری صفر يا يک است. مکانيسم دسترسی به اطلاعات درون حافظه آدرس دهی است. بيت هائی که دارای آدرس يکسان هستند را سلول حافظه (cell) می نامند. هر سلول تنها می تواند شامل يک مقدارعددی باشد. طول سلول(Lc) توسط تعداد بيت های سلول مشخص می شود. در ريز کامپيوترها طول سلول هشت بيت است که به آن بايت نيز گفته می شود. خاصيت مهم سلول آدرس پذيری است، يعنی هر سلول دارای يک آدرس منحصر بفرد است. بنابراين هر بايت درحافظه نيز دارای يک آدرس منحصر بفرد است.

اغلب حافظه ها در اندازه های بزرگتراز بايت نظير کيلوبايت (1KB=210=1,024 bytes)، مگابايت (1MB=220= 1,048,576 bytes) و گيگابايت (1GB=230=1,073,741,824 bytes) بيان می شوند. يک کامپيوتر با 32 مگابايت حافظه قادر است تقريبا 32 ميليون بايت از اطلاعات را نگهداری کند.


نکته. تعداد بيت های يک کلمه بستگی به سخت افزار دارد و با Lw نشان داده می شود. همواره رابطه Lw≥Lc برقرار است. آدرس هر کلمه آدرس اولين سلول آن است.


فضای آدرسی

آدرس های حافظه از عدد صفر شروع می شوند. اگر حافظه ای دارای n سلول باشد آدرس های آن از 0 تا n-1 خواهد بود. کامپيوتری که سيستم عددی باينری را استفاده می کند برای بيان آدرس نيز همان روش را به کار می برد. تعداد بيت های آدرس تعداد سلول های قابل دسترس حافظه را نشان می دهد و ربطی به طول سلول ندارد. فضای آدرسی بيشترين ميزان حافظه است که يک پردازنده می تواند آدرس دهی کند.

اگر آدرسی m بيت طول داشته باشد بيشترين تعداد سلول های قابل آدرس دهی 2m خواهد بود.

به کانال تلگرام سایت ما بپیوندید