26 votes 26 votes Find out the width of the control memory of a horizontal microprogrammed control unit, given the following specifications: $16$ control lines for the processor consisting of ALU and $7$ registers. Conditional branching facility by checking $4$ status bits. Provision to hold $128$ words in the control memory. CO and Architecture gate1987 co-and-architecture microprogramming descriptive + – makhdoom ghaya asked Nov 11, 2016 recategorized Apr 22, 2021 by Lakshman Bhaiya makhdoom ghaya 5.6k views answer comment Share Follow See all 2 Comments See all 2 2 Comments reply Aalok8523 commented Aug 11, 2020 reply Follow Share As in question "horizontal micro-programmed control unit" is told that's why we can't use decoder to decrease required number of status bits (like we do in vertical miro-programmed control unit). So, we need 4 status bits in "control word" register. Let me know if i am wrong ? 3 votes 3 votes Pranavpurkar commented Dec 6, 2022 reply Follow Share @Aalok8523 This is saying the same thing https://www.geeksforgeeks.org/difference-between-horizontal-and-vertical-micro-programmed-control-. 0 votes 0 votes Please log in or register to add a comment.
Best answer 21 votes 21 votes Width of the control memory $=$ size of a control word $\text{Control word} = [\text{Condition bits} + \text{control signal bits} + \text{next address}]$ Condition bits $= 4 \implies \log_2 4$-bits $128$ words $\implies 7$-bits for address. In the case of horizontal micro-programming, there is $1$- bit for each control signal. It is given there are $16$ control signals. $\implies$ Length of control word $= 2+16+7 = 25$- bits. agoh answered Jan 22, 2017 selected May 26, 2022 by Arjun agoh comment Share Follow See all 16 Comments See all 16 16 Comments reply joshi_nitish commented May 11, 2017 reply Follow Share your explanation is correct but edit your last statement.. 2+16+7=25 bits 4 votes 4 votes Upasana singh commented Jul 30, 2017 reply Follow Share It is given that "conditional branch facility by checking 4 status bits" So I don't think we need to take log here again.It should be simply 4 bits. If I am wrong Please correct me with an explanation. 4 votes 4 votes Anu007 commented Oct 26, 2017 i edited by JAINchiNMay Jan 20, 2023 reply Follow Share answer will be 27 ,Conditional branching facility by checking 4 status bits. 13 votes 13 votes akash.dinkar12 commented Oct 28, 2017 reply Follow Share what I think, is since they have a specified horizontal microprogrammed control unit, so for every control lines, there will be 1 bit for a control signal, so total 16 bits are required in control bits field... Next address will be of 7 bit because control memory can hold 128 words and in order to address 1 word we require 7 bits... If they would be given us flags then I think we need to apply log in order the find the bits for condition checking but since they have given 4 status bits, so I think 4 bits will be required... So the width of control memory: 4 + 16 +7 = 27 bits... 1 votes 1 votes Anu007 commented Oct 28, 2017 reply Follow Share yes .... 0 votes 0 votes ankitgupta.1729 commented Apr 30, 2018 reply Follow Share @akash , I agree that in case of flags ,we have to take log but why we don't have to take log here. could you please explain ? 0 votes 0 votes akash.dinkar12 commented Sep 16, 2018 reply Follow Share I m taking all my words back!! we know that There is a field in control word known as condition checking, this field is generally used to take certain decisions like when we have to take conditional jump etc like there are 3 flags(carry, zero, overflow) and we have to connect these three flags as input to 4*1 MUX(like 00=carry flag, 01=zero flag, 10=overflow flag, 11= always 1) and based on the decision of selection lines, we will take certain decisions,so number of selection lines log24 = 2 bits will be used for condition checking, These selection lines will be coming out from the field of condition checking filed of control word. Similarly here also we have 4 status bits, with the help of log24 = 2 bits we can decide what operation we need to do... so width of control memory = 2 + 16 + 7 = 25 bits 21 votes 21 votes akash.dinkar12 commented Sep 17, 2018 reply Follow Share Dharmendra Lodhi See this:https://gateoverflow.in/1061/gate2004-67 There are 8 status bits here also, we are giving as input to mux of size of 8*1 which will consist of 3 selection lines that will be coming out from condition checking field of control word of size 3 bits 3 votes 3 votes minal commented Dec 29, 2018 reply Follow Share @akash.dinkar12why 7 register are not considered? 0 votes 0 votes Divy Kala commented Apr 7, 2019 reply Follow Share I think 27 is right, we still require 4 bits because what if the carry and overflow bits both are active? 0 votes 0 votes Gateasp2020 commented Apr 7, 2019 reply Follow Share @Divy Kala status bit is 4.bit ...so 4:1 mux is required ...so here only 2 bit is needed...i think 25 bit is right answer. #my question suppose, carry and overflow bit both is active......so here each of them asign different bit(00,01,10,11) where 4 bits needed??? 0 votes 0 votes Jithendra319 commented Aug 19, 2020 reply Follow Share @akash.dinkar12 the status bits(condition checking) will be given as input to the MUX.But This status bits are used to tell that the next address instruction should be referred is if branch instruction or the extneral address(i.e the next address we should go to some other than being concurrent).. https://www.youtube.com/watch?v=Ru6YeppPA0U&t=2693s even though the condtion checking bits of these acts as select lines to the MUX, MUX selects a particular line from the control memory using these select lines … Therefore the answer should be 4bits+16+7=27bits.. 0 votes 0 votes Nithish commented Sep 10, 2020 reply Follow Share what about the 7 registers? Registers should also be controlled right? Should we count it as part of control signal bit? If we include 7 registers, the answer would be 32 bits. 1 votes 1 votes Ajit_Singh commented Dec 16, 2020 reply Follow Share Somebody plzz explain..why are we not considering the 7 registers ? what is their use in this question ?? 2 votes 2 votes jaswanth431 commented Sep 7, 2021 reply Follow Share @Ajit_Singh 7 registers are nothing to do with the given question , they just describe that processor consists of ALU and 7 registers. They just want to confuse us with extra information. 1 votes 1 votes Pranavpurkar commented Dec 6, 2022 reply Follow Share @jaswanth431 see here, for both horizontal and vertical ,there is different criteria for selecting the flag bits,in case of horizontal all the bits are taken , and in vertical log(n) bits are taken(where n are no. of status bits) https://www.geeksforgeeks.org/difference-between-horizontal-and-vertical-micro-programmed-control- so according to this , answer for this question must be $27$ bits. 0 votes 0 votes Please log in or register to add a comment.
15 votes 15 votes .... Hira Thakur answered Nov 3, 2017 Hira Thakur comment Share Follow See all 0 reply Please log in or register to add a comment.
4 votes 4 votes 16 bits for 16 control lines.(As Horizontal) For next address field 7 bits (128 control words.. 2^7=128) 4 status bits. Width of control memory = control word length = 4+16+7 = 27 bits Dipmukherg answered Aug 8, 2017 Dipmukherg comment Share Follow See all 3 Comments See all 3 3 Comments reply chauhansunil20th commented Oct 17, 2018 i edited by chauhansunil20th Oct 17, 2018 reply Follow Share No, $25$ bits will be the correct answer, as we need only 2x1 MUX for 4 status bits. 3 votes 3 votes Gurdeep Saini commented Nov 23, 2018 reply Follow Share :https://gateoverflow.in/1061/gate2004-67 watch this 25 is correct 1 votes 1 votes vizzard110 commented Jul 21, 2019 reply Follow Share Correct me if I am wrong. In the question https://gateoverflow.in/1061/gate2004-67 It is not given that it is a horizontal microprogrammed unit. Then how can we apply that logic to this question. 1 votes 1 votes Please log in or register to add a comment.