260 likes | 513 Views
برنامه نویسی به زبان اسمبلی. فصل اول: سیستم های عدد نویسی – ساختار کامپیوتر. تهیه وتنظیم: سید مصطفی موسوی. انواع کامپیوتر. انواع کامپیوتر سوپرکامپیوتر ( Super Computer ) فوق العاده سریع و گران قیمت برای محاسبات پیچیده و پیشرفته کامپیوتربزرگ ( Main Frame ) برای محاسبات پیچیده
E N D
برنامه نویسی به زبان اسمبلی فصل اول: سیستم های عدد نویسی – ساختار کامپیوتر تهیه وتنظیم: سید مصطفی موسوی
انواع کامپیوتر • انواع کامپیوتر • سوپرکامپیوتر(Super Computer) • فوق العاده سریع و گران قیمت • برای محاسبات پیچیده و پیشرفته • کامپیوتربزرگ (Main Frame) • برای محاسبات پیچیده • ضعیف تر از سوپر کامپیوتر • مینی کامپیوتر (Mini Computer) • میکروکامپیوتر (Micro Computer)
سیستم عدد نویسی • بیت (bit) • کوچکترین واحد ذخیره سازی اطلاعات در کامپیوتر • مقدار آن 0 یا 1 است • بایت (byte) • طول آن 8 بیت است • کلمه(Word) • طول آن 2 بایت یا 16 بیت است • کلمه مضاعف(Double Word) • طول آن 4 بایت یا 32 بیت است
سیستم عدد نویسی • سیستم های عدد نویسی • مبنای 2(دودوئی-Binary) • شامل ارقام 0و1 • مبنای 10(ده دهی-Decimal) • شامل ارقام 0و1و2و3و4و5و6و7و8,9 • مبنای 16(هگزادسیمال-Hexadecimal) • شامل ارقام 0و1و2و3و4و5و6و7و8و9وAوBوCوDوEوF • کامپیوتر فقط با اعداد مبنای 2 کار می کند • پس از پردازش باید اعداد را به مبنای 10 تبدیل کرد تا برای کاربر قابل فهم باشد.
تبدیل ده دهی به باینری • تقسیمات متوالی بر عدد 2 • (57)10 = (111001)2
تبدیل باینری به ده دهی • روش ارزش وزنی • (111001)2 = (?)10 عدد باینری * ارزش وزنی = • 1+8+16+32=57 • (111001)2 = (57)10
عدد نویسی هگزادسیمال • (111001)2 = (?)16 • عدد باینری را از سمت چپ به صورت دسته های 4 تایی جدا می کنیم و معادل هگز هر دسته را می نویسیم عدد باینری معادل هگز • (111001)2= (39)16
تبدیل ده دهی به هگز • تقسیمات متوالی بر 16 • (58)10=(?)16 A • (58)10=(3A)16
تبدیل هگز به ده دهی • روش ارزش وزنی • (13A)2 = (?)10 عدد هگز * ارزش وزنی = • 256+48+10 = 314 • (13A)2 = (314)10
ساختار کامپیوتر CPU حافظه کد یا برنامه حافظه داده پورت وسایل جانبی (صفحه کلید- مانیتور و ...)
میکروپروسسور • CPU وظیفه کنترل تمامی عملیات سیستم میکروپروسسوری را برعهده دارد. • عملیات ریاضی مانند جمع، تفریق، ضرب و ... را انجام می دهد. • عملیات منطقی مانند AND، OR، شیفت و مکمل کردن را انجام می دهد. • هر کدام از این عملیات را که توسط میکروپروسسور انجام می شود، یک دستور میکروپروسسور می نامند. • برای اجرای هر دستور، باید کد معادل آن در حافظه برنامه قرار گیرد.
حافظه برنامه • نگه دارنده کد دستوراتی است که برنامه نویس می خواهد آن را توسط میکروپروسسور اجرا کند. • مراحل دسترسی میکروپروسسور به حافظه برنامه و اجرای دستورات • برای دسترسی به هر خانه از حافظه، آدرس خانه مذکور بر روی باس ادرس قرار می گیرد. • با قرار گرفتن آدرس بر روی باس آدرس، کد متناظر آن آدرس بر روی باس داده قرار می گیرد. • میکروپروسسور کد را رمزگشایی می کند تا نوع عمل را تشخیص دهد. • عمل متناظر این کد، توسط میکروپروسسور اجرا می شود.
ساختمان داخلی 8086 • ساختمان داخلی میکروپروسسور 8086 از دو قسمت مستقل تشکیل شده است: • واحد رابط با باس (BIU- Bus Interface Unit) • واحد اجرا (EU- Execution Unit)
واحد رابط باس (BIU) • وظیفه آن ساختن آدرس برای باس آدرس جهت دسترسی به • حافظه برنامه و گرفتن کد دستور • حافظه داده • پورت • به عبارت دیگر اداره کننده همه آدرس های حافظه و پورت جهت دستیابی به کد و داده هایی است که برای واحد اجرا مورد نیاز است
واحد رابط باس (BIU) • صف دستورالعمل • کدهای دستورالعمل را از حافظه برنامه واکشی کرده و در صف دستورالعمل قرار می دهد. • شامل 6 رجیستر است و در هر لحظه 6 دستورالعمل را در خود نگه می دارد. • به صورت اولین ورودی-اولین خروجی (FIFO) عمل می کند یعنی هر دستوری که زودتر وارد صف شود زودتر اجرا خواهد شد. • رجیسترهای سگمنت • شامل رجیسترهای ES، CS، SS، DS می باشد • عدد پایه یا شروع آدرس را برای آدرس سازی نگه می دارند.
واحد رابط باس (BIU) • رجیستر اشاره گر دستورالعمل یا IP • مقدار افست ادرس حافظه را نگه می دارد.
واحد اجرا (EU) • وظیفه این واحد گرفتن کد از صف دستورالعمل و سپس رمز گشایی و اجرای آن و ذخیره نتیجه در رجیسترهای این قسمت می باشد. • اجزای تشکیل دهنده آن عبارتند از: • مدار کنترل و واحد ریاضی و منطق یا ALU • رجیستر پرچم • رجیسترهای همه منظوره و رجیسترهای اشاره گر و اندیس
واحد اجرا (EU) • مدار کنترل و واحد ریاضی و منطق یا ALU • مدار کنترل: • وظیفه این واحد، گرفتن کد از صف دستورالعمل و رمزگشایی آن می باشد. • مدار واحد ریاضی و منطق یا ALU: • وظیفه عملیات ریاضی (مانند جمع، تفریق، ...) و منطقی (AND، OR، ...) را بر عهده دارد. • 16 بیتی است – یعنی می تواند عملیات ریاضی و منطقی را بر روی دو عدد 16 بیتی انجام دهد
واحد اجرا (EU) • رجیستر پرچم • پرچم: یک فلیپ فلاپ می باشد که مقدار آن صفر یا یک است. • صفر یا یک شدن پرچم ها ایجاد شرایط خاص در برنامه را نشان می دهد • مثلا هنگامیکه نتیجه عمل صفر باشد این موضوع با استفاده از یک پرچم نشان داده می شود.
واحد اجرا (EU) • رجیسترهای همه منظوره • رجیسترهای AH، AL، BH، BL، CH، CL، DH، DL رجیسترهای همه منظوره هستند. • رجیسترهای اشاره گر و اندیس • رجیسترهای SP، BP، SI، DI بعنوان رجیسترهای اشاره گر و اندیس می باشند