۰
subtitle
ارسال: #۱
  
سوال ۶۹ معماری سال ۹۱
لطفا میشه توضیح بدین
۴
ارسال: #۲
  
RE: سوال ۶۹ معماری سال ۹۱
سلام .
ببینید قبول دارید اگه [tex]C_{in}=0[/tex] اون وقت ۰ با همه بیت های [tex]B[/tex] عمل [tex]Xor[/tex] رو انجام میده و نتیجه حاصل خود
[tex]B[/tex] میشه و [tex]A[/tex] هم که تغییری نمیکنه و جمع کننده [tex]A B[/tex] رو حساب میکنه.ولی اگه [tex]C_{in}[/tex] برابر ۱ باشه مقدارش همه بیت های [tex]B[/tex] با ۱ عمل [tex]Xor[/tex] رو انجام میدن و کلا معکوس میشن.از طرفی وقتی ما مکمل همه بیت های یه عدد رو به دست بیاریم در واقع مکمل ۱ رو محاسبه کردیم و [tex]A[/tex] هم که تغییری نمیکنه و یه رقم نقلی هم داریم پس اومدیم
[tex]A B' 1[/tex] رو محاسبه کردیم.
پس تا اینجا داشتیم:
[tex]C_{in}=0\rightarrow Z=A B[/tex]
[tex]C_{in}=1\rightarrow z=A B' 1[/tex]
حالا ببینیم [tex]C_{in}[/tex] چی هستش!!قبلش یه قاعده ای که تو اعداد باینری هست رو هم بگیم حتما میدونید ولی برای یاد اوری میگم
اگه سمت راست عدد باینری عدد ۰ بذاریم عدد حاصل میشه:عدد قبلی*۲
مثلا ۰۰۱ عدد ۱ هستش و ۰۰۱۰ عدد ۲/(۱*۲=۲)
اگه سمت راست عدد باینری عدد ۱ بذاریم عدد حاصل میشه: ۱+(عدد قبلی*۲ )
مثلا ۰۰۱ عدد ۱ هستش و ۰۰۱۱ عدد۳/(۱+۱*۲=۳)
خب.با توجه به شکل [tex]C_{in}[/tex] تو شکل سمت چپ با [tex]C_{out}[/tex] تو شکل سمت راست برابره!!
حالا یکی از ورودی های [tex]C_{out}[/tex] همون [tex]x[/tex] هستش و یکی دیگه هم [tex]2y 1[/tex] (دقت کنید سمت راست [tex]y[/tex] عدد ۱ قرار گرفته پس مقدارش میشه [tex]2y 1[/tex] )
یه رقم نقلی هم که از اول داریم.پس تا اینجا:
[tex]C_{in}=C_{out}=x 2y 1 1=x 2y 2[/tex]
خب یه جمع کننده ۴ بیتی در چه صورتی رقم نقلی میده؟؟(چون اگه رقم نقلی ذاشته باشیم اون وقت عملیات تو شکل سمت چپ تفریق میشه) به شرطی که حاصل از ۱۵ بیشتر شه(۴ بیت ماکزیمم ۱۵ هستش)
پس داریم:
[tex]x 2y 2>15\rightarrow x 2y>13[/tex]
پس کلا به دست اوردیم که:
[tex]if(x 2y>13)\rightarrow Z=A-B[/tex]
[tex]else(Z=A B)[/tex]
ببینید قبول دارید اگه [tex]C_{in}=0[/tex] اون وقت ۰ با همه بیت های [tex]B[/tex] عمل [tex]Xor[/tex] رو انجام میده و نتیجه حاصل خود
[tex]B[/tex] میشه و [tex]A[/tex] هم که تغییری نمیکنه و جمع کننده [tex]A B[/tex] رو حساب میکنه.ولی اگه [tex]C_{in}[/tex] برابر ۱ باشه مقدارش همه بیت های [tex]B[/tex] با ۱ عمل [tex]Xor[/tex] رو انجام میدن و کلا معکوس میشن.از طرفی وقتی ما مکمل همه بیت های یه عدد رو به دست بیاریم در واقع مکمل ۱ رو محاسبه کردیم و [tex]A[/tex] هم که تغییری نمیکنه و یه رقم نقلی هم داریم پس اومدیم
[tex]A B' 1[/tex] رو محاسبه کردیم.
پس تا اینجا داشتیم:
[tex]C_{in}=0\rightarrow Z=A B[/tex]
[tex]C_{in}=1\rightarrow z=A B' 1[/tex]
حالا ببینیم [tex]C_{in}[/tex] چی هستش!!قبلش یه قاعده ای که تو اعداد باینری هست رو هم بگیم حتما میدونید ولی برای یاد اوری میگم
اگه سمت راست عدد باینری عدد ۰ بذاریم عدد حاصل میشه:عدد قبلی*۲
مثلا ۰۰۱ عدد ۱ هستش و ۰۰۱۰ عدد ۲/(۱*۲=۲)
اگه سمت راست عدد باینری عدد ۱ بذاریم عدد حاصل میشه: ۱+(عدد قبلی*۲ )
مثلا ۰۰۱ عدد ۱ هستش و ۰۰۱۱ عدد۳/(۱+۱*۲=۳)
خب.با توجه به شکل [tex]C_{in}[/tex] تو شکل سمت چپ با [tex]C_{out}[/tex] تو شکل سمت راست برابره!!
حالا یکی از ورودی های [tex]C_{out}[/tex] همون [tex]x[/tex] هستش و یکی دیگه هم [tex]2y 1[/tex] (دقت کنید سمت راست [tex]y[/tex] عدد ۱ قرار گرفته پس مقدارش میشه [tex]2y 1[/tex] )
یه رقم نقلی هم که از اول داریم.پس تا اینجا:
[tex]C_{in}=C_{out}=x 2y 1 1=x 2y 2[/tex]
خب یه جمع کننده ۴ بیتی در چه صورتی رقم نقلی میده؟؟(چون اگه رقم نقلی ذاشته باشیم اون وقت عملیات تو شکل سمت چپ تفریق میشه) به شرطی که حاصل از ۱۵ بیشتر شه(۴ بیت ماکزیمم ۱۵ هستش)
پس داریم:
[tex]x 2y 2>15\rightarrow x 2y>13[/tex]
پس کلا به دست اوردیم که:
[tex]if(x 2y>13)\rightarrow Z=A-B[/tex]
[tex]else(Z=A B)[/tex]
ارسال: #۳
  
RE: سوال ۶۹ معماری سال ۹۱
سلام
وای چقد خوب توضیح دادین ممنوووووووون خیلی لطف کردین
وای چقد خوب توضیح دادین ممنوووووووون خیلی لطف کردین
۰
ارسال: #۵
  
RE: سوال ۶۹ معماری سال ۹۱
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close